Next Article in Journal
Periodic Noise Reduction in Neutron Imaging
Previous Article in Journal
Optimized Neutronics Designs of the Indonesian Experimental Power Reactor/RDE (Comprehensive Review and Future Challenges)
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Simulating Neutron Diffraction from Deformed Mosaic Crystals in McStas

1
Nanoscience Center, Niels Bohr Institute, University of Copenhagen, DK-2100 Copenhagen , Denmark
2
Institut Laue-Langevin, F-38000 Grenoble, France
3
Nuclear Physics Institute CAS, 25068 Rez, Czech Republic
*
Author to whom correspondence should be addressed.
Quantum Beam Sci. 2026, 10(1), 6; https://doi.org/10.3390/qubs10010006
Submission received: 25 November 2025 / Revised: 20 January 2026 / Accepted: 28 January 2026 / Published: 4 February 2026
(This article belongs to the Section Instrumentation and Facilities)

Abstract

Monochromator and analyzer systems that rely on bent single crystals are in use throughout the neutron scattering community. An adequate component for the simulation of such crystals was missing in the widely used neutron simulation software package McStas. The newly developed component Monochromator_bent, which fills this gap, is introduced. It can serve as a model for crystal monochromators and analyzers of various kinds, including the bent perfect crystals, mosaic crystals, and crystals combining mosaicity with bending. The performance of the component is tested at several configurations and compared with the results of another simulation program, SIMRES. Validation is carried out using analytical calculations and the McStas NCrystal_sample component for the case of unbent crystals. Excellent agreement in all tests and good performance in terms of computing speed has been found. The component has been included in the present distribution of McStas 3.5.

1. Introduction

The scientific request for neutron scattering experiments is vast, as can be seen from the building and maintenance of large-scale facilities such as the ILL, ESS, ISIS, J-PARC, CSNS, SNS, etc. [1,2,3,4,5,6]. Every new instrument constructed or upgraded at such large facilities inevitably involves a large cost [7,8]. Simulation and instrument upgrades before they are built allows for the estimation of potential instrument efficiency and resolution. This leads to the possibility of better informed decisions, therefore improving both the economy and scientific performance of the facilities.
An essential ingredient of many neutron scattering instruments is Bragg diffraction off single crystals, used for both monochromators and analyzers. Most often, these crystals are imperfect due to the mosaicity—the presence of randomly misoriented perfect crystal domains. Such a mosaicity is usually desired to increase the integral reflectivity of the crystal. Alternatively, the reflectivity can be increased by elastic bending of a perfect single crystal. This technique has been employed in the construction of instruments that require high resolution combined with focusing effects, such as diffractometers measuring residual strains [9,10,11] or neutron spectrometers [12]. Recent development of plastically bent perfect Si crystals as multianalyzers for neutron spectrometers [13] underlines the need for fast, yet realistic algorithms for simulation of neutron transport in bent crystals.
McStas [14,15,16] is a software package used worldwide for simulating neutron instruments by using the neutron ray tracing method. McStas includes a vast library of models for various components used in existing and newly designed neutron instruments. A model describing undeformed mosaic crystals has been included since the beginning of McStas development, and very realistic simulations of such crystals have recently been enabled by the binding of McStas with the NCrystal package [17,18]. However, an efficient model for bent perfect or mosaic crystals is currently not supported.
An algorithm for simulation of the bent perfect and mosaic crystals has previously been developed by one of us [19] for the software package SIMRES [20,21]. In this work, we port this algorithm from SIMRES to McStas by creating a new component named Monochromator_bent.comp. The underlying theory is described in the next section, followed by simulation setups for validating the component. We then go through the results of these validations, and then the limitations of the component. The new component is validated by comparison of simulations for identical setups using both packages and by comparing the simulated reflectivity with analytical calculations for the limiting case of a flat mosaic crystal.

2. Reflectivity of Deformed Crystals

The neutron ray tracing algorithm for bent crystals, introduced in [19], is based on the theory first introduced by Hu and Fang [22], which yields analytical expressions for the reflecting power of bent mosaic crystals. In this section, we follow the derivation in [19], but with more detail and a few additions.
The algorithm employs several approximations: (a) The orientation of single crystal domains (mosaic blocks) is uncorrelated as assumed for the type I mosaic single crystals described by Zachariasen [23]. (b) Reflection by each mosaic block is treated kinematically as for a thin plane parallel single crystal, but a correction for primary extinction can be added as a constant multiplication factor to the kinematical reflectivity. (c) The two-beam approximation is adopted, assuming only the direct beam and the beam reflected by a single lattice plane defined by a selected reciprocal lattice vector. (d) The crystal bending (if applied) is elastic and uniform, producing a constant gradient of deviation of the reciprocal lattice vector from its nominal (undeformed) value. (e) Quasi-classical trajectories of neutrons in uniformly bent perfect crystals are hyperbolic [24]. However, we assume that the bending is strong enough that the trajectories can be approximated by straight line segments with singular points of reflection. Justification of these approximations and their impact on the usability of the component are further discussed in Section 5.

2.1. Scattering Power

The notation and reference frames used in the following sections are shown in Figure 1. Namely, τ 0 is the mean reciprocal lattice vector of the undeformed crystal, s is a unit vector normal to τ 0 in the horizontal plane, s is the unit vector along the y-axis, and χ is the crystal cutting angle with respect to the reflection plane.
The key parameter for neutron transport calculations is the scattering power, i.e., the probability of reflection per unit path length for a thin crystal layer with negligible extinction. It can be expressed as the macroscopic scattering cross-section per unit volume [23],
Σ ( r ) = Q η g ϵ ( r ) η ,
where Q is the kinematical reflectivity, Q = | F | 2 λ 3 / ( sin ( 2 θ ) V 0 2 ) multiplied by the Debye Waller factor. g is the distribution function for mosaic domain angles in the z , x plane of unit width, and η is the width of this distribution. In the expression for Q, λ is the neutron wavelength, θ is the Bragg angle, F is the scattering amplitude of the unit cell, and V 0 is the unit cell volume. The variable ϵ is the angular deviation of a mosaic domain required to satisfy the Bragg condition for a given incident wave vector. In a deformed crystal, ϵ becomes a function of position, r . Using Equation (1), the transmission probability of a neutron through a crystal is then found by the Beer–Lambert law,
P T = exp L Σ ( r ) d l ,
where the integral is a line integral over the neutron path through the crystal.
In order to find ϵ ( r ) , one begins with the Bragg condition in vector form
k i k f = τ ( r ) ,
where k i ( k f ) is the incoming (outgoing) wavevector, and τ ( r ) is the spatially dependent reciprocal lattice vector for the selected Bragg reflection. Using that the scattering is elastic, a rearrangement transforms this equation into
| k i + τ ( r ) | 2 | k i | 2 = 0 .
The assumption of uniform deformation implies that τ is a linear function of position,
τ ( r ) = τ 0 + τ · r | τ 0 | ϵ s + γ s ,
where τ is the constant gradient of τ ( r ) derived in Appendix A. The third term in Equation (5) is understood as the deviation due to mosaicity, assuming small, random misfit angles ϵ and γ around the s and s axes, respectively. Equation (5) thus defines the diffraction vector in a bent mosaic single crystal. In a practical implementation, the diffraction vector has to be normalized to | τ 0 + τ · r | as the adopted small-angle approximation slightly changes the length of the vector.
The function ϵ ( r ) is then found by substituting Equation (5) into Equation (4),
k i + τ 0 + τ · r | τ 0 | ϵ s + γ s 2 | k i | 2 = 0 .
In the expansion of Equation (6), we make the following approximations: The bending is small, meaning that second-order terms of τ · r are neglected. This is justified in practice when the bending radius is always much larger than the crystal dimensions. Similarly, we neglect second-order terms for ϵ and γ since the mosaicity is typically smaller than 1°. Therefore, γ disappears as it is perpendicular to ϵ . Finally, we assume that τ 0 and k i are both in (or near) the z , x plane, which is also typical for crystals used as monochromators or analyzers. Equation (6) then yields ϵ ( r ) in the first order approximation as,
ϵ ( r ) = ( k i + τ 0 ) 2 | k i | 2 2 | τ 0 | k i · s + ( k i + τ 0 ) · τ · r | τ 0 | k i · s
The incident neutron trajectory has the linear form r = r 0 + v i t , where v i is the incident neutron velocity and t is the flight time. Equation (7) remains valid for any coordinate origin, r 0 if τ 0 is replaced with τ 0 + τ · r 0 . We can thus substitute the position of the incident neutron in Equation (7) and arrive at ϵ , expressed as a function of flight time,
ϵ ( t ) = ϵ 0 + β t
where ϵ 0 ( k i + τ 0 ) 2 | k i | 2 2 | τ 0 | k i · s , β ( k i + τ 0 ) · τ · v i | τ 0 | k i · s
for τ 0 evaluated at the flight origin, r 0 .
The Equations (1), (2) and (8) allow us to express the cumulative probability of reflection as a function of flight time,
P ( t ) = 1 P T = 1 exp Q | v i | β Φ ϵ 0 + β t η Φ ϵ 0 η ,
where Φ is the cumulative probability for the distribution g. The McStas implementation assumes that g is the Gaussian distribution, and Φ thus equals ( 1 + e r f ) / 2 . However, this algorithm also works for any other form of mosaicity distribution.
For a bent perfect crystal, Equation (10) must be evaluated in the limit η 0 . It yields non-zero P ( t ) only if ϵ 0 + β t = 0 for some positive t < t m a x , where t m a x is the flight time to the crystal exit, i.e., when the Bragg condition is met on the path through the crystal. Then, the probability
P 0 ( t m a x ) = 1 exp Q | v i | | β | ,
determines the crystal peak reflectivity, in accordance with [25].

2.2. Finding the Point of Scattering

The scattering position can be found by sampling t from the cumulative probability distribution P in Equation (10). This is done with inverse transformation sampling [26]. Provided that only the reflected neutrons are of interest, we can normalize the distribution by dividing by the transmission probability, P ( t m a x ) . In this way, no neutron history would be lost, but neutron weight has to be multiplied by P ( t m a x ) . Alternatively, it is possible to set this normalization factor P ( t m a x ) = 1 and allow for transmission if t > t m a x . To obtain t sampled with the distribution from Equation (10), we replace P ( t ) P ( t m a x ) with a uniform random variable ξ distributed between 0 and 1 and isolate t,
t = η β Φ 1 Φ ϵ 0 η β Q | v i | ln ( 1 ξ P ( t m a x ) ) ϵ 0 β .
In the limit η 0 , the above reduces to t = ϵ 0 / β , which is the flight time to the position where the neutron meets the Bragg condition. This equation is only true, provided that this position is inside the crystal. The transport through a bent perfect crystal thus becomes deterministic.
With these tools in hand, we can now simulate multiple scattering within the crystal, since we can just repeat scattering as required. Such a multiple scattering event is shown in Figure 2, where a neutron ray goes through three possible events, having the choice of reflecting, or transmitting at each sampled time t.
In the component, this multiple reflection pattern is performed across all the crystals in an array defined by the user. This allows for not only having multiple scattering inside of one crystal, but scattering in multiple crystals, in a back and forth manner.

2.3. Corrections for Absorption, Scattering, and Primary Extinction

Since the total distance traveled through the crystal, l, is available, beam attenuation caused by absorption and other scattering events can be accounted for by multiplying each neutron weight by the factor:
A = exp μ t o t l ,
where μ t o t is the linear attenuation coefficient, including the effects of absorption, incoherent scattering, and phonon scattering. The McStas component uses the calculated values of μ t o t according to Freund [27] for selected crystal materials.
The primary extinction is accounted for by multiplying the kinematical reflectivity with the theoretical extinction function derived for a crystal slab in symmetric Bragg geometry [23],
Υ = tanh ( d / l e ) d / l e
where l e = V 0 / ( λ F ) is the extinction length and d is the flight path through the slab. Since the actual shape of mosaic blocks is not known, d should be interpreted as an effective domain size, to be determined, for example, by fitting the simulated reflectivity to experimental data. Values in the order of 10 μm should describe well the observed reflectivity in mosaic crystal monochromators, and this value was also used in the presented simulations.

2.4. Algorithm

The implementation of the bent mosaic crystal rests on quite a simple algorithm. It is written out as pseudo-code in Algorithm 1, for multiple crystals in an array.
The ray tracing is performed in the following steps:
(a)
Find the entry/exit times for all elements of the crystal array, which are crossed by the neutron ray. If there is no intersection, break the main loop and let the neutron escape.
(b)
Calculate the corresponding probabilities of reflection by using Equation (10).
(c)
Using the Russian roulette method, select the interacting crystal or let the neutron escape (jump to (a) for the next neutron).
(d)
Sample the flight time to the next reflection point using Equation (12) and propagate the neutron there.
(e)
Reflect the neutron ray.
(f)
While the neutron ray is reflected, the weight p is updated by P ( t m a x ) . Then jump to (a).
This process is repeated, allowing for multiple reflections, until the neutron escapes the crystal array or its weight drops below a threshold (10−3). The distance L traveled inside the crystal is summed during the tracing process. The correction for absorption is thus made after the main loop by multiplying the weight p with the attenuation factor A from Equation (13).
Algorithm 1: Pseudo-code explaining the algorithm behind Monochromator_Bent. The comments in parenthesis refer to the descriptions in the text.
Qubs 10 00006 i001
This algorithm is in fact a prescription for a Monte Carlo method solving the Darwin transfer equations [28]
P g / s g = Σ P 0 P g μ t o t P g P 0 / s 0 = Σ P g P 0 μ t o t P 0 ,
where P 0 and P g are probabilities of neutrons propagating along the incident and reflected beam directions, respectively, and s 0 , s g are corresponding paths traveled along these directions. The scattering power Σ is the macroscopic scattering cross-section from Equation (1), corrected for the primary extinction factor (14). For a homogeneous (unbent) mosaic crystal, Σ does not depend on position and is only a function of ϵ 0 , i.e., the angular deviation from the Bragg condition. In such a case, these equations have the analytical solution as described, e.g., in [29] for reflection from a plane-parallel plate,
R B = 2 a Σ a + b Σ + μ t o t + γ B coth D γ B 2 γ B = a + b 2 Σ + μ t o t 2 4 a b Σ 2 .
Here, R B is the reflectivity, D, the thickness of the sample, a = 1 / sin ( θ + χ ) , and b = 1 / sin ( θ χ ) . This solution can be used for the validation of the component in the special case of an unbent mosaic crystal.

3. Simulation Setup

To validate the new crystal component for McStas, simulations of simple instruments were performed using both SIMRES and McStas. All simulations were performed with McStas version 3.5.42. The general setup can be seen in Figure 3.
A narrow monochromatic incident beam with very small divergence was used to probe the crystal reflectivity. The incident beam was a 0.1 × 1 cm2 (width × height) source that generated neutrons with a wavelength of λ = 1.5 ± 1.5 · 10 5 Å, where the position and wavelength were uniformly distributed. The neutrons were focused by a Monte Carlo choice to be sent through a 0.1 × 1 cm2 slit placed 10 m after the source. At the slit, a PSD (position-sensitive detector) monitor was also placed, such that normalization was possible.
For the basic set of validation simulations, a germanium crystal with dimensions 0.8 × 1.2 × 7 cm3 (thickness × height × length) was placed 0.15 m after the slit. The y ,   z cutting surface was parallel to the (211) plane, but the (511) reflection (Bragg angle θ = 43.53 ° ) was chosen for simulation, which resulted in an asymmetric reflection geometry with the diffraction vector rotated by χ = 19.47 ° with respect to the y ,   z surface. The crystal was thus rotated by θ χ = 24.06 ° to meet the Bragg condition. This asymmetry was used in order to better visualize the dependence of scattering power on the penetration depth and to showcase the correctness of the model for a general (non-symmetric) geometry.
Finally, a PSD monitor was placed 0.05 m after the crystal at 2 θ to observe the Bragg scattering.
This setup was used to simulate three cases: (i) the bent perfect crystal for bending radii R of 3, 5, and 10 m with η = 0 , (ii) the bent mosaic crystal for the same radii and η = 6 , and (iii) a flat mosaic crystal by setting R = 1000 m and η = 6 . The case of η = 0 and R = 1000 m was not simulated, because the model cannot describe diffraction correctly near the limit of undeformed perfect single crystals.
Further simulations were carried out in the same geometry, but varying the crystal properties and scattering angles in order to explore the component performance in a wider parameter space.
To model the effect of secondary extinction, case (iii) with 6 mosaicity and R = 1000 m was simulated in two different scans. The first scan varied the thickness of the crystal gradually while the reflectivity of the beam was monitored. The second scan was a rocking curve. These results are then compared to the theoretical result from Equation (16).
For the case of strong secondary extinction, the germanium crystal was replaced by copper (the same geometry), reflection Cu(311), which has higher scattering power.
The rocking curves and beam profiles were also simulated for flat and bent mosaic silicon crystals, with the symmetric reflection Si(111) and wavelength 2.4 Å. This was done for a broad range of mosaicities in order to demonstrate the coupled effects in stochastic mosaicity and spatial variation of the diffraction vector introduced by crystal bending.
To establish that this algorithm is efficient, we examined (a) how the CPU time changes as a function of the number of crystals simulated, and (b) how the new McStas component compares to NCrystal.
The crystal properties used by the simulations are summarized in Table 1. The files with all parameters used for simulating these virtual experiments can be found in this github repository (https://github.com/Lomholy/Simulating-neutron-diffraction-from-deformed-mosaic-crystals-in-McStas (accessed on the 20 January 2026)), and most of the simulations themselves can be found in [30].

4. Results

Two types of simulated measurements were carried out: (I) the spatial distribution of the reflected beam registered by the PSD monitor and (II) a rocking curve recorded by simulating the integral intensity at the monitor as a function of the rocking angle, ω . In the first case (I), the result shows the distribution of the scattering power (modulated by absorption) along the incident neutron ray, as illustrated in Figure 4. In the second case (II), the integrated reflected intensity normalized by the intensity of the incident beam elucidates the magnitude and angular width of the crystal reflectivity.

4.1. Bent Perfect Crystal

The simulated spatial distribution (I) of the reflected beam from the bent perfect crystal (case (i) η = 0 ) can be seen in Figure 5. The results from McStas and SIMRES are almost identical, with the points of reflection localized near the crystal center as expected. The spatial distribution is determined by the contributions of primary beam width and angular divergence. For the monochromatic beam defined by a pair of distant slits of equal width, the resulting beam profile at the detector is a convolution of two uniformly distributed random contributions (see Appendix B). This analytical solution is shown as the red dots in Figure 5. For the bending radius near R = 5 m, the widths of both contributions are equal, yielding the observed triangular beam profile.
To visualize the wavelength–space correlation, the simulation was repeated for a broader wavelength band, when the effects of beam width and divergence can be neglected. The resulting Figure 6 illustrates how the position of reflection (projected on the detector plane) varies along the incident beam as a function of wavelength. As expected for uniform bending, the slope is linearly proportional to the curvature. Its value is determined by the condition ϵ 0 + β t = 0 from Equation (8), where ϵ 0 = tan ( θ ) Δ λ / λ is the deviation from the Bragg condition for wavelength λ + Δ λ . The time to reflection, t, then determines the position at the detector, x d e t = s D · v i t , where s D is the unit vector along x-axis of the detector and | v i | = 2637 m/s for λ = 1.5 Å. Hence, x d e t = 2 sin ( θ ) 2 | v i | β 1 Δ λ / λ . This calculated dependence is indicated by the dots plot over the intensity maps in Figure 6. The β values for the crystal with the specific R are β 3 = 612 /s, β 5 = 367 /s, β 10 = 184 /s.
The rocking curves (II) in Figure 7 become wider with increasing curvature 1 / R . This is reasonable, as the growing curvature increases the spread of lattice plane angles. The peaks are all asymmetric. This is caused by a change in penetration length, as the point of reflection moves within the crystal.

4.2. Bent Mosaic Crystal

The bent mosaic Ge crystal (case (ii)) was also simulated by both McStas and SIMRES for comparison.
(I) The spatial distributions of reflected neutrons can be seen in Figure 8. This data illustrates the transition between the limiting cases, where either mosaicity or bending is dominant. For R = 3 m, the broadening caused by mosaicity is small when compared with the variation of the Bragg angle due to bending. The reflection points then become localized around the crystal center. In the other end, at R = 10 m, the effect of mosaicity prevails, and the distribution approaches that of a flat mosaic crystal.
(II) The rocking curves of the mosaic crystal bent at different radii are presented in Figure 9. They also illustrate the transition from weak bending ( R = 10 m), when the peak shape is determined mainly by the Gaussian mosaicity, to the case of strong bending ( R = 3 m), where the curve is a convolution of the crystal mosaicity distribution with the bent perfect crystal rocking curve shown in Figure 7.
To explore the dependence of the reflectivity on the mosaicity, η , simulations of a bent (R = 3 m) silicon crystal in symmetric reflection geometry ( χ = 0 ) were carried out for a broad range of η values. The reflection Si(111) and the longer wavelength of λ = 2.4 Å were chosen to achieve higher scattering power, while neutron absorption is small in Si when compared to the secondary extinction effect. The slit and source widths were reduced to 0.1 mm, in this case, in order to suppress the smearing effect of the incident beam width. Resulting reflected beam profiles and rocking curves are shown in Figure 10. Note that the angular axis is scaled relative to η , and the intensity of the beam profile is multiplied by η in order to better visualize the extinction effect. The sharp edges of the spatial intensity distribution thus indicate the rear and front crystal surfaces. The small tail at positions below the left edge then corresponds to neutrons migrating further along the crystal due to multiple diffraction.
The coupled effect of stochastic mosaicity and spatial variation of the diffraction vector introduced by crystal bending is demonstrated. At small mosaicity, the reflectivity broadening due to the bending prevails, the rocking curve distribution becomes uniform rather than normal, and reflections are localized near the center of the crystal. At the limit of large η , the rocking curve broadening due to mosaicity becomes dominant, and the reflectivity tends to approach that of an unbent crystal. The incident beam then penetrates the whole crystal with usual exponential attenuation due to secondary extinction and absorption, as is visualized in Figure 4. Transition between these two limits is demonstrated by the curves for η = 6’ and 12’.

4.3. Flat Mosaic Crystal

The McStas and SIMRES simulations were compared for the mosaic Ge crystal with negligible curvature (case (iii)). In this case, it was also possible to compare results with another McStas component using the NCrystal model, which is expected to yield equivalent results.
(I) The spatial distribution in Figure 11 (left) shows a gradual increase in intensity along X, corresponding to a shorter distance traveled through the crystal. This effect is due to the attenuation from absorption and extinction, similar to Figure 10 with large η values.
(II) The rocking curve of the nearly unbent mosaic crystal is likewise presented in Figure 11 (right). This rocking curve is quite close to the normal distribution, as expected if the effect of multiple diffraction (secondary extinction) is weak.
The agreement with the NCrystal model is almost perfect and thus provides an additional validation of the new McStas component. However, the zero point of the rocking curves differs by 0.28 arc minutes according to their weighted means, with Monochromator_Bent being centered at −0.003 arc minutes.
To further examine the effect of secondary extinction, we compare the simulation of the rocking curves for Ge(511) with that of Cu(311) for the same crystal and instrument geometries. The reflectivity for Cu(311) is significantly higher than that of Ge(511), and rocking curve broadening is thus expected as a result of multiple diffraction. These simulations are also compared with the analytical solution to the Darwin intensity transfer equations [29] given in Equation (16). The results can be seen in Figure 12. The calculations use the values of kinematical reflectivity, absorption coefficient, and primary extinction factor Y from Table 1. A broad, non-Gaussian curve shape is indeed observed for Cu(311) as the result of a strong secondary extinction effect.
Like in the case (ii) of bent mosaic crystal, the simulations of symmetric Si(111) reflection were carried out under the same conditions, but with negligible bending (R = 1000 m). The results are shown in Figure 13, to be compared with Figure 10. In this case, the rocking curves could be compared with the theoretical reflectivity calculated according to Equation (16). The agreement between the simulations and the analytical calculations is very good in this case of regular plane parallel crystal geometry, because the random walk algorithm in McStas effectively solves the intensity transfer equations for the same boundary conditions as those assumed in Equation (16).
To examine the effects of the primary extinction factor Y, we simulated the Ge(511) rocking curve with R = 10 m for domain size ranging from 0.0001 μm to 1 mm, for both the perfect and mosaic crystals (cases i and ii). The results in Figure 14 show that varying the domain thickness towards larger values merely scales the intensity, whilst not changing the general peak shape. It should be emphasized that this holds for Ge(511) because of the small reflecting power. The Y factor scales down the kinematical reflectivity in our model. Therefore, increasing the domain size parameter would generally lead to the reduction of the secondary extinction effect, including the rocking curve broadening. The effect of primary extinction in real crystals is more complex, as discussed in the next section.

4.4. Performance Analysis

To test the computing efficiency, we performed simulations where we replaced the Ge crystal with a variable number of Ge crystals. The performance results from this simulation can be seen in Figure 15. This analysis thus found that there was a general tendency which followed 0.073 N log ( N ) . It is to be stressed that this test was performed in a situation where all neutrons hit most of the crystals. In a real array, this is not the case, and therefore, one should expect the scaling to be more favorable in that case.
We also extracted the computing time it took to simulate the Ge(511) and Cu(111) reflections for 10 7 incoming neutrons, comparing the computing times of the Monochromator_bent component with that of the NCrystal component. The times were normalized so that they correspond to the same standard deviation of the integral intensity recorded by the monitor. With Monochromator_bent, the computing times were 7.4 s for Ge(511) and 43.4 s for Cu(111). Corresponding results with the NCrystal component were 14.4 s and 50.7 , respectively. The component Monochromator_bent thus proves to be faster than NCrystal at low reflectivity, probably due to the strategy of sampling only reflected neutrons. All these simulations were performed on a single thread of an Apple M4 Max arm CPU with 48 GB of unified memory.

5. Limits of Model Validity

One of the main benefits of the new component is its ability to model several types of crystal monochromators and analyzers (bent perfect crystals and mosaic crystals with and without bending) using the same theoretical framework and associated algorithm. This approach (and the requirement of simulation efficiency) brings about the necessity of simplifying approximations summarized in the beginning of Section 2. These approximations are typically justified for monochromators and analyzers, where only neutron flux and instrument resolution are of main interest. For other applications, the model may still be too idealistic, ignoring some important features of real crystals, such as the presence of other competing reflecting planes, correlated mosaicity, or dynamical diffraction effects in the case of weakly bent perfect crystals. The component should thus be used with these limitations in mind. In particular, the component is not suitable for simulations of single-crystal analyzers of backscattering spectrometers or Bonse–Hart SANS diffractometers, which would require implementation of dynamical diffraction theory of single crystals. Similarly, the component is inadequate for use as a single-crystal filter or sample, where a full reciprocal lattice and a more detailed description of microstructure should be considered. The following subsections discuss these limitations separately for the bent perfect and mosaic crystals, respectively. The common constraints regard the choice of the reflecting plane:
(a) Only a single lattice plane is assumed to contribute to diffraction, thereby not allowing the simulation of competing reflections. The beam attenuation at certain wavelengths may thus be inaccurate.
(b) The equations implemented in the component do not consider reflecting planes, which are not normal to the plane of bending (the z x plane in Figure 1). Hence, the component Monochromator_bent does not support this case.

5.1. Bent Perfect Crystals

Neutron diffraction by a bent perfect crystal is treated within the quasi-classical approximation, which allows us to calculate neutron trajectories, as described in [24]. These trajectories are bent due to the variation of the interaction potential caused by the gradient of elastic deformation. In a uniformly bent crystal, these trajectories are hyperbolas, which converge to the asymptotes with increasing curvature and decreasing wavelength, as illustrated in Figure 16. The simulation model assumes that the crystal radius is so small that the trajectories can be approximated by the asymptotes. This approach is justified if the refraction effects at the crystal boundaries can be neglected and a neutron is described by a single planar wave corresponding to the incident or reflected beam at the entry or exit, respectively. This excludes grazing-incidence geometries and implies that the crystal dimensions must be significantly larger than the deflection of the trajectory from the cross-section of the asymptotes at the apex (hereafter denoted as x 0 ). This deflection is proportional to β 1 from Equation (9) and hence to the bending radius, R. The exact expression derived from [24] is
x 0 = l e π Q | v i | | β | sin ( θ B )
Figure 17 illustrates the dependence of R / x 0 on the diffraction angle, which helps estimate the minimum radius required to ensure that x 0 is much smaller than the crystal size. For example, the SALSA monochromator is composed of 0.9 mm thick Si<100> wafers. The curve for Si(400) reflection then indicates that the condition R 180 m should be satisfied for 2 θ up to 100°. As the radius is in practice always smaller than 10 m, this condition is clearly satisfied. However, at larger scattering angles, the ratio R / x 0 drops quickly down and reaches zero at a singular point where β = 0 for a certain value of 2 θ , depending on the values of the effective Poisson constant, κ and cutting angle, χ . Note that κ depends on the reflection plane orientation with respect to the wafer surface and on the mode of bending, as discussed in [31]. The data embedded in the McStas component include κ values estimated for several common symmetric reflections only. A κ value calculated for the actual geometry should therefore be used instead of the default one if the accuracy of results at large scattering angles is of concern.

5.2. Mosaic Crystals

There are several constraints to be considered when using the Monochromator_bent component for simulations of mosaic crystals.
The simulation model assumes the Zachariasen type I mosaic crystals, where the mosaic domains are treated as randomly misoriented and undeformed single crystals. The bending in this case introduces just a linear gradient of the mean domain angle. The primary extinction is treated merely as the multiplication factor Y (Equation (14)) to the kinematical reflectivity Q. It thus affects the results in the same way as the value of Q, but allows for describing the wavelength dependence of primary extinction. The domain size can then serve as a tunable parameter to match the simulated reflectivity with experimental data. This is obviously a coarse simplification in the case when the mosaic domains tend to be large and deformed by residual microstresses. This is likely the case of crystals prepared by plastic bending. A more general extinction theory has been introduced by Kulda [32] and further developed in [33], which considers primary extinction of deformed domains in various regimes. Implementation of such a theory in a simulation component would be interesting and should be considered in the future.
The model neglects the finite reflectivity width of a perfect crystal, which is typically of the order of 1 arcsec for a large crystal plate. Even when considering the size effect of small mosaic domains of the order of 1 μm, the natural width of reflection from a single domain should remain smaller than 1 arcmin in the absence of microstrains. This limit should be considered when simulating unbent crystals with very low mosaicity. With the bending applied, the effect of mosaicity becomes negligible, as illustrated by Figure 10 and the transition to zero mosaicity should be safe.
The orientation distribution of mosaic domains is assumed to be Gussian and independent of position, which may not be a valid assumption for real crystals such as those produced by plastic bending. The component is intended as a universal model for crystal monochromators or analyzers, when users typically do not know details of the crystal microstructure. The idealized analytical form of mosaicity distribution is thus necessary. However, it is recommended that the simulated reflectivity be compared with experimental data for particular crystals used in the instrument project, if available.

6. Discussion and Conclusions

In this work, we have developed a new McStas component Monochromator_bent.comp that simulates neutron transport in bent, and potentially mosaic, single crystals. Our work fills a gap for the McStas software package in simulating monochromator and analyzer arrays that use this type of crystal. Therefore, this new development allows the simulation of instrument designs that were previously impossible to simulate with McStas only.
Monochromator_bent is based on the algorithm presented in [19]. The said algorithm is used due to its relative simplicity and therefore speed and reliability. It propagates neutrons using a random walk process which employs an analytical function (Equation (12)) to generate a random flight time to reflection. Multiple scattering is thus simulated, potentially over an array of crystals.
Validation of the simulation model was carried out with a simple instrument model using a narrow monochromatic beam in order to show the characteristics of crystal reflectivity without smearing from resolution effects. Two different virtual experiments were used for this purpose: (I) spatial distribution measurements of the reflected neutrons and (II) reflectivity curve measurements by scanning the crystal angle (rocking curve). These simulations were performed for asymmetric reflection geometry of a germanium crystal, reflection Ge(511) in three different cases: (i) a bent perfect crystal ( η = 0 ) at three different bending radii R = 3 , 5 , 10 m, (ii) a bent mosaic crystal with the same geometry and bending, but with η = 6 , and finally (iii) a flat mosaic crystal with the same mosaicity.
In all these cases, comparison with the equivalent simulation by the program SIMRES showed excellent agreement, with results very similar to what was earlier published in [19]. It demonstrates the general correctness of the model implementation in the component. For the case (i) in Figure 5, the spatial distribution of reflected intensity was derived analytically, which allowed us to confirm the correctness of the simulated reflected beam profiles. In the last case (iii) in Figure 11, independent comparisons with McStas simulation using NCrystal and analytical calculation of reflectivity were also performed. Very good agreement observed in this case confirmed that the random walk process properly solves the Darwin transfer Equation (15) as required. However, we notice that the rocking curve in the NCrystal case seems slightly shifted away from the center of the scan, although the widths of the rocking curve agree with our new component. We attribute this difference to the approximations performed when ignoring the second-order contributions in Equation (7), as the skewing of rocking curves is an effect arising from multiple reflections coupled with azimuthal scattering, as shown by Wuttke [34]. That the NCrystal software achieves this asymmetry is pointed out by the developers of the NCrystal program in the treatment of their elastic modules [18]. The developers also show that this skewing increases with crystal thickness and increased Bragg angle. Their experiments show ≈0.1° skewing of the rocking curve center for a 20 cm thick germanium crystal from the 511 reflection at an incident angle of 80°, with a FWHM mosaicity of 30 arc min in a setup with a small, well collimated, monochromatic incoming neutron beam.
Further virtual experiments were carried out to demonstrate the component performance in a wider range of geometry and material parameters:
The effect of secondary extinction was also demonstrated by simulation of the reflectivity with varying thickness for the Ge(511) and Cu(311) flat crystal reflections (case (iii)), again in agreement with the theoretical predictions as seen in Figure 12.
Simulations of the symmetric Si(111) reflection in a wide range of η for the bent crystal case (ii) revealed how the effects of stochastic mosaicity couple with the effect of deformation gradient, showing the transition between the limits of negligible deformation and negligible mosaicity (Figure 10). Namely, it demonstrates two effects of the crystal bending. One is the localization of reflections near the crystal center, the other is the transition of the shape of the reflectivity curves from nearly Gaussian to a uniform (step) function. Independent validation was not possible in this case, as there is no adequate analytical model or other software providing such a simulation model.
The same simulation for the flat crystal case (iii) shown in Figure 13 agreed very well with the analytical solution for reflectivity (Equation (16)). Here, the effect of changing scattering power (see Equation (1)) is demonstrated by localization of reflection points near the front surface at small η , and transition to the exponential decay at large η due to decreasing scattering power and hence weaker secondary extinction. Similarly, the extinction effect is visible as the corresponding change of the rocking curve shape and width.
Similarly to the previous work, Monochromator_bent relies on a number of approximations imposing some limits on the component usability. These limits are discussed in more detail in Section 5. In summary, the component is suitable for usual applications as a crystal monochromator or analyzer of neutron spectrometers, either as bent perfect crystals with bending radii below about 10 m, or as mosaic crystals with mosaicity exceeding about 1 arcmin. A combination of both mosaicity and bending should also be possible, but there are no independent theoretical or experimental data available yet for validation. On the other hand, the simulation model would fail if used in grazing incidence geometry, or at special situations when the effective deformation gradient β in a bent perfect crystal drops near zero.
The new McStas component Monochromator_bent has been added to the McStas 3.5 library as a contributed component. It can be used in instrument simulation projects as an alternative to existing options for mosaic crystals, but it also brings about new functionality as a model for bent perfect crystals, which was not available in previous releases. The novelty of the component also consists of the underlying algorithm, which allows one to combine the mosaic crystal model with uniform bending under the assumptions described in Section 5.

Author Contributions

Conceptualization, J.Š.; methodology, D.L.C. and J.Š.; software, D.L.C. and J.Š.; validation, D.L.C. and J.Š.; formal analysis, J.Š.; investigation, D.L.C. and J.Š.; resources, K.L.; writing—original draft, D.L.C.; writing—review and editing, D.L.C., K.L. and J.Š.; visualization, D.L.C.; supervision, S.C., T.P. and K.L.; project administration, K.L. All authors have read and agreed to the published version of the manuscript.

Funding

DLC acknowledges funding from the ACTNXT project (Horizon Europe, Grant agreement ID: 101188263) during parts of the work. JS acknowledges the support from the Czech Ministry of Education, Youth and Sports (ESS Scandinavia-CZ, project LM2023057).

Data Availability Statement

The data for this paper is available in the referenced data repository [30] and the linked github repository (https://github.com/Lomholy/Simulating-neutron-diffraction-from-deformed-mosaic-crystals-in-McStas (accessed on 20 January 2026)) in the main text.

Acknowledgments

DLC thanks the Institute of Laue Langevin for hospitality during parts of this work. We thank Peter Willendrup and Mads Bertelsen from the ESS Data Management and Software Center for support with McStas.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Derivation of Deformation Gradient

The spatial dependence of τ ( r ) can be derived from the displacement function ζ ( z , x ) , which defines the neutral surface in a bent thin plate. The solution for small deformations has been found by Stoica and Popovici [31] in the form
τ ( r ) = τ 0 1 + x 2 ζ z 2 ( 1 ( 1 + κ ) cos 2 ( χ ) ) + | τ 0 | s ζ z x 2 ζ z 2 ( 1 + κ ) sin ( χ ) cos ( χ ) | τ 0 | s ζ y cos ( χ ) + x 2 ζ z y sin ( χ ) .
where we use the notation described in Section 2.1 and Figure 1. The symbol κ stands for the effective Poisson elastic constant, which depends on the type of boundary conditions, crystal elastic constants and lattice orientation. Values of κ for particular cases relevant for monochromators and analyzers can be found in [31].
In this project, ζ is assumed to describe uniform elliptical bending ζ = z 2 2 R h + y 2 2 R v . In many practical situations, the crystal bending is close to cylindrical, and the vertical (y) component of curvature 1 / R v can be neglected. However, for very thin wafers or pneumatic bending, a non-zero vertical curvature has to be considered.
The deformation gradient of τ
τ = τ x x τ x y τ x z τ y x τ y y τ y z τ z x τ z y τ z z
is then derived by substitution for the direction vectors.
First we express τ 0 , s as well as s as a function of χ , and then we express τ from (A1):
τ 0 | τ 0 | = cos ( χ ) 0 sin ( χ ) s = sin ( χ ) 0 cos ( χ ) s = 0 1 0
in (A1) and evaluation of the derivatives:
τ = | τ 0 | κ cos ( χ ) R h 0 sin ( χ ) R h 0 cos ( χ ) R v 0 sin ( χ ) R h 0 cos ( χ ) R h

Appendix B. Flight Time to Reflection

In the case of bent perfect crystal ( η = 0 ), the flight time to the reflection point can be solved analytically by setting ϵ = γ = 0 and k i = k 0 i + Δ k , where k 0 i denotes the mean incident neutron wave vector. For a crystal perfectly aligned with the given diffraction vector τ 0 , the Bragg condition implies that | k 0 i + τ 0 | = | k 0 i | and the expansion of Equation (5) from the main text then yields
2 τ 0 · Δ k + 2 k 0 i + τ 0 · τ · r + 2 Δ k · r + | τ · r | 2 = 0
By substituting for r = r 0 + v i t and solving for t, we arrive at the quadratic equation for t,
ϵ 0 + 2 k 0 i + τ 0 + τ · r 0 + Δ k · τ · v i t + | τ · v i | 2 t 2 = 0 , ϵ 0 2 τ 0 · Δ k + 2 k 0 i + τ 0 + Δ k · τ · r 0 + | τ · r 0 | 2 .
In almost all practical situations, the second order terms with τ and Δ k can be neglected, which leads to the linear solution
t = τ 0 · Δ k + k 0 i + τ 0 · τ · r 0 k 0 i + τ 0 · τ · v i .
For the simple instrument setup considered in this article, the incident neutron trajectory is determined by two random variables, which are the neutron positions at the pair of distant slits. Their distribution is uniform and can be expressed by a pair of uniform random numbers ξ 0 and ξ 1 on the interval (−0.5;0.5). We can thus substitute for r 0 and Δ k :
r 0 = ξ 1 w u T , Δ k = ( ξ 1 ξ 0 ) w / L u T , u T cos ( θ + χ ) 0 sin ( θ + χ )
where w is the slit width, L is their distance, and u T is the unit vector normal to the incident beam. Substitutions in (A7) then allow us to calculate the distribution of t, and hence that of the reflection positions, r 0 + v i t as a convolution of two uniform distributions. This results in the trapezoidal intensity distribution at the detector as observed in the simulations (see Section 4.1).

References

  1. The ESS Mandate|ESS. Available online: https://ess.eu/ess-mandate (accessed on 19 January 2026).
  2. ISIS About. Available online: https://www.isis.stfc.ac.uk/Pages/About.aspx (accessed on 19 January 2026).
  3. ILL at a Glance-ILL Neutrons for Society. Available online: https://www.ill.eu/about-the-ill/ill-at-a-glance (accessed on 19 January 2026).
  4. The China Spallation Neutron Source—-Institute of High Energy Physics. Available online: https://english.ihep.cas.cn/csns/ (accessed on 20 January 2026).
  5. J-PARC|Japan Proton Accelerator Research Complex. Available online: https://j-parc.jp/c/en (accessed on 20 January 2026).
  6. Spallation Neutron Source|Neutron Science at ORNL. Available online: https://neutrons.ornl.gov/sns (accessed on 20 January 2026).
  7. Renaissance, THE ILL MILLENIUM PROGRAMME 2001–2009. Available online: https://www.ill.eu/fileadmin/user_upload/ILL/1_About_ILL/Documentation/ILL_brochure/Millenium___Endurance_brochure/Millenium_Brochure_2010.pdf (accessed on 19 January 2026).
  8. Dewhurst, C.; Meyer, A. Endurance–Modernisation of the instrumentation suite at the Institut Laue-Langevin. EPJ Web Conf. 2023, 286, 01001. [Google Scholar] [CrossRef]
  9. Pirling, T.; Bruno, G.; Withers, P.J. SALSA—A new instrument for strain imaging in engineering materials and components. Mater. Sci. Eng. A 2006, 437, 139–144. [Google Scholar] [CrossRef]
  10. Hofmann, M.; Schneider, R.; Seidl, G.A.; Rebelo-Kornmeier, J.; Wimpory, R.C.; Garbe, U.; Brokmeier, H.G. The new materials science diffractometer STRESS-SPEC at FRM-II. Phyica B Condens. Matter 2006, 385–386, 1035–1037. [Google Scholar]
  11. Kirstein, O.; Brule, A.; Nguyen, H.; Luzin, V. Kowari—The residual-stress diffractometer for engineering applications at OPAL. Mater. Sci. Forum 2008, 571–572, 213–217. [Google Scholar] [CrossRef]
  12. Boehm, M.; Hiess, A.; Kulda, J.; Roux, S.; Saroun, J. ThALES—Three axis low energy spectroscopy at the Institut Laue-Langevin. Meas. Sci. Technol. 2008, 19, 034024. [Google Scholar] [CrossRef]
  13. MARMOT in Full Swing. Available online: https://www.ill.eu/news-and-events/news/scientific-news/marmot-at-full-swing (accessed on 19 January 2026).
  14. Lefmann, K.; Nielsen, K. McStas, a general software package for neutron ray-tracing simulations. Neutron News 1999, 10, 20–23. [Google Scholar] [CrossRef]
  15. Willendrup, P.; Lefmann, K. McStas (i): Introduction, use, and basic principles for ray-tracing simulations. J. Neutron Res. 2020, 22, 1–16. [Google Scholar] [CrossRef]
  16. Willendrup, P.; Lefmann, K. McStas (ii): An overview of components, their use, and advice for user contributions. J. Neutron Res. 2021, 23, 7–27. [Google Scholar] [CrossRef]
  17. Cai, X.X.; Kittelmann, T. NCrystal: A library for thermal neutron transport. Comput. Phys. Commun. 2019, 246, 106851. [Google Scholar] [CrossRef]
  18. Kittelmann, T.; Cai, X.X. Elastic neutron scattering models for NCrystal. Comput. Phys. Commun. 2021, 267, 108082. [Google Scholar] [CrossRef]
  19. Šaroun, J. Random-walk algorithm for the simulation of neutron diffraction in deformed mosaic crystals. Nucl. Instrum. Methods Phys. Res. A 2004, 529, 162–165. [Google Scholar] [CrossRef]
  20. Šaroun, J.; Kulda, J. RESTRAX—A program for TAS resolution calculation and scan profile simulation. PHysica B Condens. Matter 1997, 234–236, 1102–1104. [Google Scholar] [CrossRef]
  21. Šaroun, J. SIMRES-Neutron Ray-Tracing Simulation. Available online: https://github.com/saroun/simres (accessed on 17 September 2025).
  22. Hu, H.; Fang, Y. Neutron-Diffraction in Flat and Bent Mosaic Crystals for Asymmetric Geometry. J. Appl. Cryst. 1993, 26, 251–257. [Google Scholar] [CrossRef]
  23. Zachariasen, W.H. A General Theory of X-Ray Diffraction in Crystals. Acta Cryst. 1967, 23, 558. [Google Scholar] [CrossRef]
  24. Lukas, P.; Kulda, J. Quasi-Classical Trajectory of Thermal-Neutrons in Elastically Deformed-Crystals. Phys. Stat. Sol. B 1989, 156, 41–48. [Google Scholar] [CrossRef]
  25. Kulda, J. A Novel Approach to Dynamical Neutron Diffraction by a Deformed Crystal. Acta Cryst. A 1984, 40, 120–126. [Google Scholar] [CrossRef]
  26. Devroye, L. Non-Uniform Random Variate Generation; Springer: New York, NY, USA, 1986. [Google Scholar]
  27. Freund, A.K. Cross-sections of materials used as neutron monochromators and filters. Nucl. Instrum. Methods Phys. Res. 1982, 213, 495–501. [Google Scholar] [CrossRef]
  28. Darwin, C.G. The reflexion of X-rays from imperfect crystals. Philos. Mag. 1922, 43, 800–829. [Google Scholar] [CrossRef]
  29. Lefmann, K.; Tuoriniemi, J.T.; Nummila, K.K.; Metz, A. Neutron thermometry on polarized silver nuclei at sub-microkelvin spin temperatures. Z. Für Phys. B Condens. Matter 1997, 102, 439–447. [Google Scholar] [CrossRef]
  30. Christensen, D.L. Simulations for Simulating Neutron Diffraction in Deformed Mosaic Crystals in McStas. 2025. Available online: https://erda.ku.dk/archives/4a69af976ff254bc4bc35956e822cb33/published-archive.html (accessed on 20 January 2026).
  31. Stoica, A.D.; Popovici, M. On the Neutron Reflectivity of Bent Perfect Crystals. J. Appl. Cryst. 1989, 22, 448–454. [Google Scholar] [CrossRef]
  32. Kulda, J. Random elastic deformation (RED)—An alternative model for extinction treatment in real crystals. Acta Cryst. A 1984, 43, 167–173. [Google Scholar] [CrossRef]
  33. Kulda, J. The RED Extinction Model. I. An Upgraded Formalism. Acta Cryst. A 1988, 44, 283–285. [Google Scholar] [CrossRef]
  34. Wuttke, J. Multiple Bragg reflection by a thick mosaic crystal. Acta Crystallogr. Sect. A Found. Adv. 2014, 70, 429–440. [Google Scholar] [CrossRef] [PubMed]
Figure 1. (Left) An unbent crystal. The reflecting lattice planes are cut at an angle χ to the surface. (Right) The deformed crystal with χ = 0 . The reciprocal lattice vectors are shown with τ 0 and τ ( r ) being the unbent and bent reciprocal lattice vector, respectively.
Figure 1. (Left) An unbent crystal. The reflecting lattice planes are cut at an angle χ to the surface. (Right) The deformed crystal with χ = 0 . The reciprocal lattice vectors are shown with τ 0 and τ ( r ) being the unbent and bent reciprocal lattice vector, respectively.
Qubs 10 00006 g001
Figure 2. A neutron ray (purple) tracing a possible path through the crystal. t n is the n’th t m a x . Notice that the algorithm uses t m a x to sample a t value at every reflection. The figure is heavily inspired by [19].
Figure 2. A neutron ray (purple) tracing a possible path through the crystal. t n is the n’th t m a x . Notice that the algorithm uses t m a x to sample a t value at every reflection. The figure is heavily inspired by [19].
Qubs 10 00006 g002
Figure 3. The setup used for simulating the bent mosaic crystal in both SIMRES and McStas. x ,   y , and z is the coordinate system of the monochromator, and ω is the rotation angle around the y axis, used for the rocking curve.
Figure 3. The setup used for simulating the bent mosaic crystal in both SIMRES and McStas. x ,   y , and z is the coordinate system of the monochromator, and ω is the rotation angle around the y axis, used for the rocking curve.
Qubs 10 00006 g003
Figure 4. Visualization of the effect of attenuation throughout the unbent mosaic crystal. The purple dots in the crystal illustrate potential paths of the neutrons.
Figure 4. Visualization of the effect of attenuation throughout the unbent mosaic crystal. The purple dots in the crystal illustrate potential paths of the neutrons.
Qubs 10 00006 g004
Figure 5. SIMRES and McStas simulations of the spatial distribution for Bragg scattering from a perfect crystal bent at different radii. Overlain with the analytically calculated reflectivity.
Figure 5. SIMRES and McStas simulations of the spatial distribution for Bragg scattering from a perfect crystal bent at different radii. Overlain with the analytically calculated reflectivity.
Qubs 10 00006 g005
Figure 6. Two-dimensional plots of the correlations between wavelength and spatial position, corresponding to McStas simulations of the crystal in case (i). Simulations were performed with a broad wavelength spectrum λ = 1.5 ± 1.5 · 10 2 Å and monitor area 0.03 m × 0.02 m (width × height). The red dots lie with the theoretically expected slope, as calculated in the text.
Figure 6. Two-dimensional plots of the correlations between wavelength and spatial position, corresponding to McStas simulations of the crystal in case (i). Simulations were performed with a broad wavelength spectrum λ = 1.5 ± 1.5 · 10 2 Å and monitor area 0.03 m × 0.02 m (width × height). The red dots lie with the theoretically expected slope, as calculated in the text.
Qubs 10 00006 g006
Figure 7. SIMRES and McStas simulations, showing rocking curves for a perfect crystal case (i), bent at different radii.
Figure 7. SIMRES and McStas simulations, showing rocking curves for a perfect crystal case (i), bent at different radii.
Qubs 10 00006 g007
Figure 8. McStas and SIMRES simulations of the spatial distribution of the reflected neutrons. Simulations performed for the crystal of case (ii).
Figure 8. McStas and SIMRES simulations of the spatial distribution of the reflected neutrons. Simulations performed for the crystal of case (ii).
Qubs 10 00006 g008
Figure 9. McStas and SIMRES simulations of the crystal in case (ii). The simulations are rocking curves for a mosaic crystal, bent at different radii.
Figure 9. McStas and SIMRES simulations of the crystal in case (ii). The simulations are rocking curves for a mosaic crystal, bent at different radii.
Qubs 10 00006 g009
Figure 10. Simulated spatial distributions of the reflected neutrons and rocking curves of the bent mosaic crystal, with the symmetric reflection Si(111) at λ = 2.4 Å. The angular axis is scaled relative to η .
Figure 10. Simulated spatial distributions of the reflected neutrons and rocking curves of the bent mosaic crystal, with the symmetric reflection Si(111) at λ = 2.4 Å. The angular axis is scaled relative to η .
Qubs 10 00006 g010
Figure 11. (Left) Spatial distribution and (Right) rocking curve for the (almost) flat mosaic crystal.
Figure 11. (Left) Spatial distribution and (Right) rocking curve for the (almost) flat mosaic crystal.
Qubs 10 00006 g011
Figure 12. Comparison of analytical calculations and McStas simulations in case (iii) of flat mosaic crystal at λ = 1.5 Å. (Left) Peak reflectivity (maxima of the rocking curves) as a function of crystal thickness. (Right) Rocking curves for the crystal thickness of 8 mm.
Figure 12. Comparison of analytical calculations and McStas simulations in case (iii) of flat mosaic crystal at λ = 1.5 Å. (Left) Peak reflectivity (maxima of the rocking curves) as a function of crystal thickness. (Right) Rocking curves for the crystal thickness of 8 mm.
Qubs 10 00006 g012
Figure 13. Simulated spatial distributions of the reflected neutrons and rocking curves of a flat mosaic crystal, with the symmetric reflection Si(111) at λ = 2.4 Å. The angular axis is scaled relative to η . The black dashed curves indicate reflectivity calculated according to Equation (16).
Figure 13. Simulated spatial distributions of the reflected neutrons and rocking curves of a flat mosaic crystal, with the symmetric reflection Si(111) at λ = 2.4 Å. The angular axis is scaled relative to η . The black dashed curves indicate reflectivity calculated according to Equation (16).
Qubs 10 00006 g013
Figure 14. Rocking curves for the mosaic and perfect Ge(511) crystals bent at R = 10 m, for varying domain thicknesses.
Figure 14. Rocking curves for the mosaic and perfect Ge(511) crystals bent at R = 10 m, for varying domain thicknesses.
Qubs 10 00006 g014
Figure 15. Time spent performing the simulation as a function of the number of crystals placed in the array. The blue points are the simulation times, and the black dashed line is the theoretical tendency.
Figure 15. Time spent performing the simulation as a function of the number of crystals placed in the array. The blue points are the simulation times, and the black dashed line is the theoretical tendency.
Qubs 10 00006 g015
Figure 16. Quasi-classical neutron trajectories in a uniformly bent Si crystal, symmetric reflection (400), as a function of bending radius. The take-off angles of 55° and 100° correspond to the wavelengths 1.25 Å and 2.08 Å, respectively.
Figure 16. Quasi-classical neutron trajectories in a uniformly bent Si crystal, symmetric reflection (400), as a function of bending radius. The take-off angles of 55° and 100° correspond to the wavelengths 1.25 Å and 2.08 Å, respectively.
Qubs 10 00006 g016
Figure 17. Ratio of the trajectory deflection, x 0 , to the bending radius as a function of take-off angle for symmetric reflections Si(400) and Si(111), and for asymmetric reflection Si(311) with wafer plane parallel to Si(400).
Figure 17. Ratio of the trajectory deflection, x 0 , to the bending radius as a function of take-off angle for symmetric reflections Si(400) and Si(111), and for asymmetric reflection Si(311) with wafer plane parallel to Si(400).
Qubs 10 00006 g017
Table 1. Material properties for crystals and reflections used in the simulations. The kinematical reflectivity Q already includes the Debye–Waller factor at room temperature calculated in accordance with [27].
Table 1. Material properties for crystals and reflections used in the simulations. The kinematical reflectivity Q already includes the Debye–Waller factor at room temperature calculated in accordance with [27].
Reflection λ
[Å]
d hkl
[Å]
θ
[°]
θ
[°]
Q ł e
[cm−1]
Y μ tot
[cm−1]
κ
Ge(511)1.51.08943.53−19.470.0017329.460.9630.15470.27
Cu(311)1.51.0943.48−19.470.0113911.480.8060.4530.3
Si(111)2.43.13522.500.0022129.280.9630.02030.18
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Christensen, D.L.; Cabeza, S.; Pirling, T.; Lefmann, K.; Šaroun, J. Simulating Neutron Diffraction from Deformed Mosaic Crystals in McStas. Quantum Beam Sci. 2026, 10, 6. https://doi.org/10.3390/qubs10010006

AMA Style

Christensen DL, Cabeza S, Pirling T, Lefmann K, Šaroun J. Simulating Neutron Diffraction from Deformed Mosaic Crystals in McStas. Quantum Beam Science. 2026; 10(1):6. https://doi.org/10.3390/qubs10010006

Chicago/Turabian Style

Christensen, Daniel Lomholt, Sandra Cabeza, Thilo Pirling, Kim Lefmann, and Jan Šaroun. 2026. "Simulating Neutron Diffraction from Deformed Mosaic Crystals in McStas" Quantum Beam Science 10, no. 1: 6. https://doi.org/10.3390/qubs10010006

APA Style

Christensen, D. L., Cabeza, S., Pirling, T., Lefmann, K., & Šaroun, J. (2026). Simulating Neutron Diffraction from Deformed Mosaic Crystals in McStas. Quantum Beam Science, 10(1), 6. https://doi.org/10.3390/qubs10010006

Article Metrics

Back to TopTop