-
Notifications
You must be signed in to change notification settings - Fork 18
Announcement Release3.1.0
This release focuses on those inelastic scattering events that almost bring the neutron to rest, and which are in particular important for UCN/VCN (ultra/very cold neutron) production in neutron moderators.
The work on the release was supported by the European Union’s Horizon 2020 research and innovation programme under grant agreement No 951782 (the HighNESS project).
Despite the improved sampling algorithms developed for NCrystal (cf. https://doi.org/10.1016/j.jcp.2018.11.043), some edge-cases still exist where the sampling algorithms introduce a few modelling artifacts, in the name of sampling speed. One of these edge-cases concerns sampling of scattering events near the kinematic end-point where the scattering cause the neutron to lose almost all of its energy. Although further improvements are still be possible (cf. issue #40), issues related to production of UCN/VCN neutrons are much reduced in this new release - as can be seen in the following comparison of long-wavelength tails in the spectrum of 5Å neutrons scattered in a superfluid He4 kernel (kernel courtesy of Douglas Di Julio, ESS):
One practical challenge facing in particular UCN moderator design studies is that only a tiny fraction of scattered neutrons will normally be left with an energy at the desired UCN scale. Thus, in order to get sufficient statistics while keeping computational requirements reasonable, it is necessary to employ some sort of biasing or variance reduction scheme. The new NCrystal release facilitates this, by making it possible to split a scattering process into two: a down-scatter-to-UCN-regime process and a process with the rest of the physics, by respectively appending ";comp=inelas;ucnmode=only"
and ";ucnmode=remove"
to a given cfg-string. Furthermore, the dedicated UCN process is implemented with a special improved model which is believed to be completely free of any modelling artifacts. A new configuration parameter, ucnmode
is used to control this UCN process split-up (cf. CfgRefDoc for details). Note that in order to divide neutrons into UCN and non-UCN regimes, the code also needs the definition of a UCN threshold energy. If not set explicitly, this will default to 300neV (~522Å).
As an example, the UCN process cross sections in superfluid He4 are shown in the following plot for 3 different values of the UCN threshold. These cross sections are the result of careful integrations over all relevant part of the S(α,β) kernel, but as a cross-check the UCN cross section based on a simplified λS(λ) model is also shown (this simple λS(λ) model estimates the cross-section by evaluating S only at the kinematic endpoint where the neutron exactly looses all energy, and will be exact only in the limit of vanishing UCN threshold):
In order to properly implement and validate the work described above, several internal utilities were added related to S(α,β) kernels. This includes code for easily evaluating S(α,β) kernels at any (α,β) point, as well as utilities for what is essentially exact S(α,β)-sampling or S(α,β)-integration for cross sections. These utilities are useful as they allow us to validate scattering kernel models better, are used directly in the new UCN-production models, and will hopefully facilitate future improvements. A few other minor changes were added in the release as well, as detailed in the CHANGELOG
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