|
|
|
|
![]() |
![]() |
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
About McStas Download Documentation |
14.130 The MCViNE_SQ_process McStas ComponentUnion process: Elastic isotropic scatterer with structure factor S(|Q|) (expression or table).
Identification
DescriptionElastic scattering with angular distribution given by S(|Q|), for liquids, glasses or powder-averaged diffuse scattering. S(Q) is either an expression in Q or a 2-column text file (Q [Å^-1], S), linearly interpolated (0 outside). 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). Isotropic process (powder/liquid-like); rotation is irrelevant. The kernel code is shared with the standalone component MCViNE_SQ (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_SQ_process(SQ="1+sin(Q*3)/(Q*3)", Qmin=0, Qmax=20, scattering_coefficient=10)
Input parametersParameters in boldface are required; the others are optional.
Links
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||