-
Notifications
You must be signed in to change notification settings - Fork 18
Home
NCrystal : a library for thermal neutron transport in crystals
NCrystal is a library and associated tools which enables calculations for Monte Carlo simulations of thermal neutrons in crystals, focusing initially on scattering in single-crystals or polycrystalline materials and powders, including both coherent elastic (Bragg) diffraction and various models for inelastic scattering on phonons. Written in C++, interfaces and infrastructure facilitate integration into existing simulation frameworks such as Geant4 or McStas, as well as allowing direct usage from C++, C or Python code or via command-line tools. While the C++ library is designed with a high degree of flexibility in mind for developers, typical end-user configuration is deliberately kept simple and uniform across various applications and APIs - this for instance allows tuning and validation of a particular crystal setup to be performed in one tool before it is then deployed in another.
NCrystal comes with a set of validated data files, including many crystals important at neutron scattering facilities. For more information, visit the data library.
Supporting compilation with all C++ standards, the code has no third-party dependencies and is available under a highly liberal open source license (Apache 2.0).1 It was developed in close collaboration by Xiao Xiao Cai (DTU, ESS) and Thomas Kittelmann (ESS) and was supported in part by the European Union’s Horizon 2020 research and innovation programme under grant agreement No 676548 (the BrightnESS project).
[1]: Some optional components, allowing support for .nxs
, .laz
and .lau
files in addition to the native .ncmat
files, are available under a different license due to included third party code.
Home
Get NCrystal
Using NCrystal
Data library
Cfg string parameters
Included physics
NCMAT format
Plugins (how to use)
Plugins (how to develop)
Release 2.0.0 announcement
Release 2.1.0 announcement
Release 2.5.0 announcement
Release 2.7.0 announcement
Release 3.0.0 announcement
Release 3.1.0 announcement
Release 3.2.0 announcement
About
Contact