Skip to content

Announcement Release2.7.0

Thomas Kittelmann edited this page May 16, 2023 · 7 revisions

NCrystal v2.7.0 : Massive increase of material database (both amorphous and crystalline).

With 80 new NCMAT files, the NCrystal v2.7.0 release brings the largest increase yet to the NCrystal data library, bringing it to a whooping total of 131 materials! 64 of the 80 new files are crystalline materials. The other 16 new materials are amorphous solids, which is a new material type supported with this new release.

In addition to the new materials provided, several new command-line utilities for NCMAT file creation and validation are added, a few bugs fixed, and HKL-list initialisation speed was increased dramatically.

The changes are discussed below. For a detailed list of changes, refer to the CHANGELOG, and to view plots and other details concerning the 131 files in the data library, visit the data library wiki page.

In connection with this release, a special thanks goes to Kemal Ramic and Jose Ignacio Marguez Damian from the ESS Spallation Group, whose dedicated efforts has been crucial in the creation and validation of the new materials.

Table of Contents

Amorphous materials

Introduce support for amorphous solid materials

NCrystal now support amorphous solid materials, which can be defined in the new "NCMAT v5" version of the NCMAT format, as described in detail on the NCMAT-format wiki page. In practice such amorphous materials will have dynamics specified via phonon VDOS curves (preferably) or Debye temperatures, and will get inelastic scattering via expansion to full scattering kernels and modelled under the incoherent approximation - just as is presently the case for crystalline materials. Additionally, Debye-Waller factors will be estimated based on the dynamics, and used to model elastic scattering. Again, coherent-elastic scattering is approximated via the incoherent-approximation, and although this approach is also used in long established applications like MCNP, PHITS and OpenMC, it is in principle not ideal for materials which are dominated by coherent scattering cross sections. A future NCrystal release might therefore revisit improved models for coherent-elastic scattering in amorphous materials. Materials dominated by incoherent scattering are of course not as impacted by this, and in particular hydrogen-rich materials should be very well modelled already. As an example, here is the total cross section curve of the new polyethylene material:

Tool for easy creation of NCMAT files for hydrogen-rich amorphous materials.

A new command-line utility, ncrystal_hfg2ncmat is added, which can be used to easily generate high-quality NCMAT files for hydrogen-rich amorphous materials (e.g. carbohydrates, polyimides, polymers, ...), in which the hydrogen atoms are bound to certain standard functional groups.

Based on the material's density, (empirical) chemical formula, and the specification of hydrogen bindings in terms of standard functional groups, an NCMAT file is generated. In this NCMAT file, non-hydrogen atoms are treated with a simplistic model (idealised Debye model of phonon vibrations, defaulting to a Debye temperature of 400K for all atoms), and the hydrogen atoms are treated with a proper phonon density of state (VDOS) curve, which is constructed based on the provided binding specifications. This is done using an idea (and VDOS curves from) the following recent publication:

"Thermal neutron cross sections of amino acids from average contributions of functional groups", G. Romanelli, et. al., J. Phys.: Condens. Matter, (2021). doi:10.1088/1361-648X/abfc13

With this script, all it takes to add a new hydrogen-rich material is to track down it's chemical formula, break down the hydrogen bonds, and supply the material density:

The 16 new amorphous materials

Of the 16 new amorphous materials, 14 are created with ncrystal_hfg2ncmat (the odd ones out are polyethylene and acrylic glass for which we had dedicated models available):

Crystalline materials

New tools for creation and verification of NCMAT files for crystalline materials

A command-line tool, ncrystal_verifyatompos, was added which can be used to verify that the list of @ATOMPOSITIONS in an crystalline NCMAT file is consistent with the symmetries implied by the indicated @SPACEGROUP number and deduce Wyckoff positions. Internally the script uses the Atomic Simulation Environment (ASE) Python module to handle the symmetries.

Another new command-line tool, ncrystal_onlinedb2ncmat, allows direct creation of NCMAT files for materials with crystal structure taken from online databases (materialprojects.org or the Crystallography Open Database) (NOTE: The ncrystal_onlinedb2ncmat command was replaced with ncrystal_cif2ncmat command in release 3.6.0). As the material dynamics are not typically part of such databases, the script will produce NCMAT files in which dynamics are modelled via dummy Debye temperature values (which can of course be edited post-factum). But for convenience, the script also has options for copying material dynamics from existing NCMAT files. Finally, the script can also be used to verify that NCMAT files containing comments containing specific links to entries in these databases, actually contain those structure (by overlaying Bragg cross section curves). Accordingly, the data library page now contains validation plots showing the result of substituting the crystal structure with the one obtained from online DBs, which serves as another useful verification of the crystal structures. Internally the ncrystal_onlinedb2ncmat script uses the Python Materials Genomics (pymatgen) Python module to access the online databases. (NOTE: The ncrystal_onlinedb2ncmat command was replaced with ncrystal_cif2ncmat command in release 3.6.0)

Initialisation speedup

As NCrystal initialises lists of HKL reflection planes on the fly based on the provided crystal structure, it is important that this initialisation code is very fast. The NCrystal v2.7.0 release manages to make this already optimised code 200% faster (i.e. a factor of 3 speedup)! This speedup is mostly achieved by using our own custom implementations of trigonometric cosine and sine functions, which are much faster than the standard ones, with no impact on precision! As a result, the heuristics picking a default dcutoff value were updated so that structures with more than 40 atoms per unit cell now defaults to dcutoff=0.2 (angstrom), as opposed to dcutoff=0.25 before (the default value for other materials remain dcutoff=0.1).

The 64 new crystalline materials

Thanks to work by Kemal Ramic and Jose Ignacio Marquez Damian from the ESS Spallation Physics group under the HighNESS EU project[1], a massive number (64) of new crystalline materials are added to the data library, which along with the 16 new amorphous materials brings the number of material files shipped with NCrystal to a whooping total of 131! Additionally, VDOS curves were added for 4 existing materials so that now only two crystalline materials (gamma-calcium and wollastonite) in the entire library have dynamics based purely on the less accurate Debye model. The 64 new crystalline materials are mostly polyatomic materials of interest to the wider community of nuclear scientists, neutronics, and neutron scattering instrumentation. All these materials come fully described with both crystal structures and phonon VDOS curves, and have been carefully validated. Crystal structures are mostly taken from the Crystallography Open Database and the Materials Project, with most structures verified by verification against multiple DB entries (using the ncrystal_onlinedb2ncmat script) (NOTE: The ncrystal_onlinedb2ncmat command was replaced with ncrystal_cif2ncmat command in release 3.6.0). The VDOS curves are mostly based on calculations with Phonopy and OCLIMAX software with input files from the Phonon database at Kyoto university. VDOS curves for two materials, magnesium hydride (MgH2) and magnesium deuteride (MgD2), were provided by Davide Campi and Marco Bernasconi from University of Milano-Bicocca, based on DFPT calculations with the Quantum-ESPRESSO package. All materials were validated against total cross section curves where available, VDOS curves were verified to be in agreement with experimentally measured heat capacity curves, predicted material densities were verified to be in accordance with known densities, and crystal symmetries were verified with the ncrystal_verifyatompos script.

[1]: Specifically this is the HighNESS project at the European Spallation Source ERIC under HORIZON 2020 grant agreement ID: 951782.

Clone this wiki locally