McStas logo McStas - A neutron ray-trace simulation package ILL; PSI; ESS Niels Bohr Institute DTU Physics NEXMAP


About McStas
 Conditions of use
 Project funding

 Linux Install (deb/rpm)
 Mac OS X Install
 Unix Install (src code)
 Windows Install
 Other Downloads (share)

Mailing list

Search web/mailinglist

 McStas manual
 Known problems
 C Compilers




Report bugs


McStas Ubuntu live-dvd

McStas: PerfectCrystal Component

[ Identification | Description | Input parameters | Output parameters | Links ]

The PerfectCrystal Component

Based on a perfect crystal component by: Miguel A. Gonzalez, A. Dianoux June 2013 (ILL) Changelog: Version 1.1 - BUGFIX: correct neutron energy shift in Doppler mode - added option 'debyescherrer' to select analyzer geometry - added option 'facette' to approximate analyzer sphere by small, flat crystals Version 1.0 - inital release


  • Author: Markus Appel
  • Origin: ILL / FAU Erlangen-Nuernberg
  • Date: 2015-12-21
  • Version: 1.1


Perfect crystal component, primarily for use as monochromator and analyzer in
backscattering spectrometers. Reflection from a single Bragg reflex of a flat or
spherical surface is simulated using a Darwin, Ewald or Gaussian profile. Doppler 
movement of the monochromator is supported as well.

Orientation of the crystal surface is *different* from other monochromator components!
Gravitational energy shift for tall analyzers should work in principle, but it not tested yet.
See the parameter description on how to define the geometry and properties.

[1] Website for Backscattering Spectroscopy:

IN16B (ILL) Si111 large angle analyzers (approximate dimensions):
PerfectCrystal(radius=2, lambda=6.2708, sigma=0.24e-3, 
               ttmin=40, ttmax=165, phimin=-45, phimax=+45, centerfocus=1)

IN16B (ILL) Si111 Doppler monochromator:
PerfectCrystal(radius=2.165, lambda=6.2708, sigma=0.24e-3,
               width = 0.500, height = 0.250, centerfocus=0,
               speed = 4.7, amplitude = 0.075, exclusive=1)

WARNING: This is a contributed Component.

Input parameters

Parameters in boldface are required; the others are optional.
Name Unit Description Default
ttmin NAN
ttmax deg analyzer coverage angle in horizontal xz-plane between -180 and 180 NAN
tt0 deg angular center position in the horizontal plane (only if centerfocus==1) NAN
ttwidth deg horizontal coverage as center and full width NAN
width m absolute width NAN
phimin NAN
phimax deg vertical analyzer coverage between -90 and 90 (-180 and 180 if debyescherrer==1) NAN
phi0 deg angular vertical position (only if centerfocus==1) NAN
phiwidth deg vertical coverage as center and full width NAN
height m absolute height (only if debyescherrer==0) NAN
debyescherrer 0/1 bend analyzer following a Debye-Scherrer ring along scattering angle tt (twotheta) (phi = [-180...180] in that case). Default: 0 0
facette m width of square crystal facettes arranged on the spherical surface (set 0 to disable). Default: 0 0
facette_xi deg random misalignemt of each facette. Default: 0 0
centerfocus 0/1 Component origin is the center of the analyzer sphere if 1, if set to 0 the origin is on the analyzer surface. Default: 0 0
radius m Radius of curvature, set to 0 for a flat surface. Default: 0 0
tau A^-1 Scattering vector of the reflex (sometimes also called Q...) NAN
lambda A Alternatively to tau: backscattered wavelength NAN
R0 - Peak reflectivity. Default: 1 1.0
dtauovertau see [1] Plateau width of the Ewald/Darwin curve NAN
dtauovertau_ext randomized for each trajectory, full width Relative variation of tau 0
ewald 0/1 Use Ewald curve if 1, Darwin curve if 0. Default: 1 (Ewald) 1
sigma meV Width of the Gaussian reflectivity curve in meV (corresponding to the energy resolution). (The width will be transformed and the Gaussian is actually calculated in k-space.) NAN
ismirror 0/1 Simply reflect all neutrons if 1. Good for debugging/visualization. Default: 0 0
speed m/s Maximum Doppler speed. The actual monochromator velocity is randomized between -speed and +speed. Default: 0 0
amplitude m Amplitude of the Doppler movement. Default: 0 0
smartphase 0/1 Optimize Doppler phase for better MC efficiency if set to 1. *WARNING:* Experimental option! Always compare to a simulation without smartphase. Better do not use smartwidth with Ewald/Darwin curves due to their endless tails. Default: 0 0
smartwidth meV Half width of the possible energy reflection window for smartphase. NAN
exclusive 0/1 If set to 1, absorb all neutrons that missed the monochromator/analyzer surface. 0
transmit 0...1 Monte-Carlo probability of transmitting an event through the monochromator/analyzer surface. (Events with R=1.0 for DarwinE/Ewald curves are always reflected!). Default: 0 0
verbose 0


[ Identification | Description | Input parameters | Output parameters | Links ]

Generated automatically by McDoc, Peter Willendrup <> / Wed Apr 19 10:57:33 2017

Last Modified: Wednesday, 19-Apr-2017 12:57:33 CEST
Search website mailinglist archive GitHub repos