Excitation with dispersion E(Qx,Qy,Qz) [meV] and intensity S(Qx,Qy,Qz), given as
expressions of the Q vector in the sample (component) frame [AA^-1]. For a
random final direction, all solutions kf of Ei - Ef(kf) = E(ki - kf) with
Ef in [Ei-Emax, Ei] are found (nsteps sub-intervals + Ridders' method) and one
is picked; the weight contains the Jacobian of the delta function.
Functions are given as strings evaluated at run time (MCViNE uses fparser):
+ - * / ^ (or **), % , comparisons, && ||, if(c,a,b), sin cos tan asin acos
atan sinh cosh tanh exp log log10 log2 sqrt abs floor ceil int sign cbrt,
pow atan2 min max hypot fmod, constants pi and e.
Union process. Part of the Union components: define this process, collect it
into a material with Union_make_material (absorption is set there with
my_absorption, the absorption inverse penetration depth at 2200 m/s), assign
the material to Union_box/Union_cylinder/Union_sphere/Union_mesh geometries,
and add a Union_master after them. Geometry, attenuation and multiple
scattering are handled by Union_master; this component provides the MCViNE
kernel: the scattering coefficient and the final-state sampling (weight).
Orientation: this process is anisotropic; its frame (Q vectors, reciprocal
vectors, atom positions) follows the ROTATED placement of this component.
The kernel code is shared with the standalone component MCViNE_E_vQ (mcvine-lib.c).
Uses share/mcvine-lib.h/.c and share/mcvine-union-lib.h/.c; the process type
MCViNE is declared in share/union-lib.h and registered with Union_master in
share/mcvine-union-lib.h.
Example: MCViNE_E_vQ_process(E_Q="20*(sin(Qx*1.57)^2+sin(Qy*1.57)^2+sin(Qz*1.57)^2)", S_Q="1", Emax=60, scattering_coefficient=10)
Input parameters
Parameters in boldface are required;
the others are optional.
Name
Unit
Description
Default
E_Q
str
E(Qx,Qy,Qz) expression [meV]
"10"
S_Q
str
S(Qx,Qy,Qz) expression
"1"
Emax
meV
Maximum energy transfer considered
10
nsteps
1
Number of sub-intervals for the kf root search (MCViNE: 1000)
1000
xacc
AA^-1
Root accuracy in kf (MCViNE: 1e-3)
1e-3
scattering_coefficient
m^-1
Scattering coefficient (inverse penetration depth for scattering)
0
sigma_scat
barn
Alternative: scattering cross section per unit cell (used when Vc>0)
0
Vc
AA^3
Unit cell volume; when >0 the coefficient is sigma_scat/Vc
0
packing_factor
1
Packing factor (scales the scattering coefficient)
1
interact_fraction
1
Union: fraction of interactions forced to this process (-1: by cross section)
-1
init
string
Deprecated and unused, accepted like on the other Union components (see Union_init).