Mosaic single crystal with multiple scattering vectors, optimised for speed
with large crystals and many reflections.
Author: Kristian Nielsen
Date: December 1999
EF, 22nd Apr 2003 : now uses Read_Table library
M. Schulz, March 2012 : allow to curve the crystal planes
EF, PW, May 2014: code efficiency improvement when SPLIT is used
EF, PW, 2015: powder/PG and texture mode
Single crystal with mosaic. Delta-D/D option for finite-size effects.
Rectangular geometry. Multiple scattering and secondary extinction included.
The mosaic may EITHER be specified isotropic by setting the mosaic input
parameter, OR anisotropic by setting the mosaic_a, mosaic_b, and mosaic_c
The crystal lattice can be bent locally, keeping the external geometry unchanged.
Curvature is spherical along vertical and horizontal axes.
In order to dramatically improve the simulation efficiency, we recommend to
use a SPLIT keyword on this component (or prior to it), as well as to disable
the multiple scattering handling by setting order=1. This is especially powerfull
for large reflection lists such as with macromolecular proteins.
Sample shape may be a cylinder, a sphere, a box or any other shape
box/plate: xwidth x yheight x zdepth
cylinder: radius x yheight
sphere: radius (yheight=0)
any shape: geometry=OFF file
The complex geometry option handles any closed non-convex polyhedra.
It computes the intersection points of the neutron ray with the object
transparently, so that it can be used like a regular sample object.
It supports the PLY, OFF and NOFF file format but not COFF (colored faces).
Such files may be generated from XYZ data using:
qhull < coordinates.xyz Qx Qv Tv o > geomview.off
and viewed with geomview or java -jar jroff.jar (see below).
The default size of the object depends on the OFF file data, but its
bounding box may be resized using xwidth,yheight and zdepth.
Crystal definition file format
Crystal structure is specified with an ascii data file. Each line contains
4 or more numbers, separated by white spaces:
h k l ... F2
The first three numbers are the (h,k,l) indices of the reciprocal lattice
point, and the 7-th number is the value of the structure factor |F|**2, in
barns. The rest of the numbers are not used; the file is in the format
output by the Crystallographica program.
The reflection list should be ordered by decreasing d-spacing values.
Lines begining by '#' are read as comments (ignored). Most sample parameters
may be defined from the data file header, following the same mechanism as
Current data file header keywords include, for data format specification:
and for material specification:
See the Component Manual for more defails.
Example: Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01,
mosaic = 5, reflections="YBaCuO.lau")
A PG graphite crystal plate, cut for (002) reflections
Single_crystal(xwidth = 0.002, yheight = 0.1, zdepth = 0.1,
mosaic = 30, reflections = "C_graphite.lau",
ax=0, ay=2.14, az=-1.24,
bx = 0, by = 0, bz = 2.47,
cx = 6.71, cy = 0, cz = 0)
A leucine protein, without multiple scattering
Single_crystal(xwidth=0.005, yheight=0.005, zdepth=0.005,
mosaic = 5, reflections="leucine.lau", order=1)
A Vanadium incoherent elastic scattering with multiple scattering
Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01,
reflections="", sigma_abs=5.08, sigma_inc=4.935,
ax=3.0282, by=3.0282, cz=3.0282/2)
Also, always use a non-zero value of delta_d_d.
This component has been validated.
Parameters in boldface are required;
the others are optional.
arc_minutes, arc_minutes,1, 1, 1, 1, 1, 1
In Plane mosaic rotation and plane vectors (anisotropic),
mosaic_A, mosaic_B, A_h,A_k,A_l, B_h,B_k,B_l. Puts the crystal in
the in-plane mosaic state. Vectors A and B define plane in which
the crystal roation is defined, and mosaic_A, mosaic_B, denotes the
resp. mosaicities (gaussian RMS) with respect to the the two
reflections chosen by A and B (Miller indices).
File name containing structure factors of reflections. Use
empty ("") or NULL for incoherent scattering only
Name of an Object File Format (OFF) or PLY file for complex geometry.
The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust
Width of crystal
Height of crystal
Depth of crystal (no extinction simulated)
Outer radius of sample in (x,z) plane
Lattice spacing variance, gaussian RMS
Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the
isotropic mosaic model state, thus disregarding other mosaicity parameters.
Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS.
Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity
through rotation around the crystal lattice vectors. Has precedence over
in-plane mosaic model.
Vertical (rotation around lattice vector b) mosaic (anisotropic),
Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic),
Choice of direct/reciprocal (0/1) unit cell definition
Flag to indicate if |F|^2 from 'reflections' is in barns or fm^2.
barns=1 for laz and isotropic constant elastic scattering (reflections=NULL),
barns=0 for lau type files
AA or AA^-1
Coordinates of first (direct/recip) unit cell vector
a on y axis
a on z axis
AA or AA^-1
Coordinates of second (direct/recip) unit cell vector
b on y axis
b on z axis
AA or AA^-1
Coordinates of third (direct/recip) unit cell vector
c on y axis
c on z axis
Monte Carlo probability for neutrons to be transmitted
without any scattering. Used to improve statistics from
Absorption cross-section per unit cell at 2200 m/s
Incoherent scattering cross-section per unit cell
Use -1 to unactivate
Unit cell angles alpha, beta and gamma. Then uses norms of
vectors a,b and c as lattice parameters
Gamma angle [deg].
Limit multiple scattering up to given order
(0: all, 1: first, 2: second, ...)
Radius of horizontal along X lattice curvature. flat for 0
Radius of vertical lattice curvature. flat for 0
Radius of horizontal along Z lattice curvature. flat for 0
Flag to indicate powder mode, for simulation of Debye-Scherrer cones
via random crystallite orientation. A powder texture can be
approximated with 0
Flag to indicate "Pyrolytic Graphite" mode, only meaningful with
choice of Graphite.lau, models PG crystal. A powder texture can be
approximated with 0