Mosaic single crystal with multiple scattering vectors, optimised for speed
with large crystals and many reflections.
Identification
Author: Kristian Nielsen
Origin: Risoe
Date: December 1999
Version: $Revision$
Modification history:
EF, 22nd Apr 2003 : now uses Read_Table library
EBK 2010: adapted for xrays:
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
PW, May 2017: Remove statement about being under validation
PW, June 2017: Doc updates
Description
Single crystal with mosaic. DeltaD/D option for finitesize 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
parameters.
The crystal lattice can be bent locally, keeping the external geometry unchanged.
Curvature is spherical along vertical and horizontal axes.
Speed/stat optimisation using SPLIT
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 powerful
for large reflection lists such as with macromolecular proteins. When an incoming
particle is identical to the preceeding, reciprocal space initialisation is
skipped, and a Monte Carlo choice is done on available reflections from the last
repciprocal space calculation! To assist the user in choosing a "relevant" value
of the SPLIT, a rolling average of the number of available reflections is
calculated and presented in the component output.
Mosacitiy modes:
The component features three independent ways of parametrising mosaicity:
a) The original algorithm where mosaicity is implemented by extending each
reflection by a Gaussian "cigar" in reciprocal space, characterised by
the parameters mosaic and delta_d_d.
(Also known as "isotropic mosaicity".)
b) A similar mode where mosaicities can be nonisotropic and given as the
parameters mosaic_a, mosaic_b and mosaic_c, around the unit cell axes.
(Also known as "anisotropic mosaicity".)
c) Given two "macroscopically"/experimentally measured width/mosaicities
of two independent reflections, parametrised by the list
mosaic_AB = {mos_a, mos_b, a_h, a_k, a_l, b_h, b_k, b_l}, a set of
microscopic mosaicities as in b) are estimated (internally) and applied.
(Also known as "phenomenological mosaicity".)
Sample shape:
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 nonconvex polyhedra.
It computes the intersection points of the xray with the object
transparently, so that it can be used like a regular sample object.
It supports the 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 of 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 7th 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 dspacing 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
PowderN.
Current data file header keywords include, for data format specification:
#column_h
#column_k
#column_l
#column_F2
#column_F
and for material specification:
#sigma_abs
#sigma_inc
#Delta_d/d
#lattice_a
#lattice_b
#lattice_c
#lattice_aa
#lattice_bb
#lattice_cc
See the Component Manual for more defails.
Example: Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01,
delta_d_d=1e4, mosaic = 5,
ax = 3.8186, ay = 0, az = 0,
bx = 0, by = 3.8843, bz = 0,
cx = 0, cy = 0, cz = 11.6777,
reflections="YBaCuO.lau")
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 nonzero value of delta_d_d.
%VALIDATION:
This component is undergoing validation.
Input parameters
Parameters in boldface are required;
the others are optional.
Name
Unit
Description
Default
mosaic_AB
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 inplane 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).
{0
0
0
0
0
0
0
reflections
string
File name containing structure factors of reflections. Use
empty ("") or NULL for incoherent scattering only
0
geometry
str
Name of an Object File Format (OFF) file for complex geometry.
The OFF file may be generated from XYZ coordinates using qhull/powercrust
0
material
0
xwidth
m
Width of crystal
0
yheight
m
Height of crystal
0
zdepth
m
Depth of crystal (no extinction simulated)
0
radius
m
Outer radius of sample in (x,z) plane
0
delta_d_d
1
Lattice spacing variance, gaussian RMS
1e4
mosaic
arc minutes
Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the
isotropic mosaic model state, thus disregarding other mosaicity parameters.
1
mosaic_a
arc minutes
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
inplane mosaic model.
1
mosaic_b
arc minutes
Vertical (rotation around lattice vector b) mosaic (anisotropic),
gaussian RMS.
1
mosaic_c
arc minutes
Outofplane (Rotation around lattice vector c) mosaic (anisotropic),
gaussian RMS
1
recip_cell
1
Choice of direct/reciprocal (0/1) unit cell definition
0
barns
1
Flag to indicate if F^2 from 'reflections' is in barns or fm^2.
barns=1 for laz, barns=0 for lau type files
0
ax

0
ay
AA or AA^1
Coordinates of first (direct/recip) unit cell vector
0
az

0
bx

0
by
AA or AA^1
Coordinates of second (direct/recip) unit cell vector
0
bz

0
cx

0
cy
AA or AA^1
Coordinates of third (direct/recip) unit cell vector
0
cz

0
p_transmit
1
Monte Carlo probability for neutrons to be transmitted without any scattering.
Used to improve statistics of the scattering pattern wrt. the attenuated, direct beam.
It is typically beneficial to leave this parameter at a value << 1. Use the value 1 to
deactivate any stratified sampling and partition probabilities fully in accordance with the material crosssections.
1
sigma_abs
barns
absorption crosssection per unit cell at 2200 m/s
0
sigma_inc
barns
incoherent scattering crosssection per unit cell
0
aa
deg
.
0
bb
deg
unit cell angles alpha, beta and gamma. Then uses norms of
vectors a,b and c as lattice parameters
0
cc
deg
.
0
order
1
limit multiple scattering up to given order
(0: all, 1: first, 2: second, ...)