[ Identification | Description | Input parameters | Links ]
FluoCrystal
ComponentSample that models multiple photon-matter interactions: - absorption (photon excites an electron and creates a hole) - fluorescence (excited electrons emit light while falling into lower states) - Compton scattering (inelastic, incoherent) - Rayleigh scattering (elastic, coherent) - crystal diffraction (elastic, coherent) - fluorescence detector escape (energy shift from detector K-alpha) - fluorescence detector pile-up (sum aka time coincidence aka pile-up in detector) The 'material' specification is given as a chemical formulae, e.g. "LaB6". It may also be given as a file name (CIF/LAU/LAZ/FullProf format) in which case the formulae is guessed (but may be approximative), and the crystal diffraction is computed, following same options as the PowderN sample component. The fluorescence is handled for atoms from Z=5 to Z=90. By setting the 'order' to 1, the absorption along the scattered path is handled. A higher 'order' will handle multiple scattering events, and final absorption. For instance, a value order>=2 handles e.g. fluorescence iterative cascades in the material. Leaving 'order=0' handles the single scattering only. Example: FluoCrystal(material="LaB6.cif", xwidth=0.001,yheight=0.001,zdepth=0.0001, p_interact=0.99, mosaic=1) Sample shape: Sample shape may be a cylinder, a sphere, a box or any other shape box/plate: xwidth x yheight x zdepth (thickness=0) hollow box/plate:xwidth x yheight x zdepth and thickness>0 cylinder: radius x yheight (thickness=0) hollow cylinder: radius x yheight and thickness>0 sphere: radius (yheight=0 thickness=0) hollow sphere: radius and thickness>0 (yheight=0) any shape: geometry=OFF file The complex geometry option handles any closed non-convex polyhedra. It computes the intersection points of the photon ray with the object transparently, so that it can be used like a regular sample object. It supports the OFF, PLY 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 or powercrust coordinates.xyz 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. Concentric components: This component has the ability to contain other components when used in hollow cylinder geometry (namely sample environment, e.g. cryostat and furnace structure). Such component 'shells' should be split into input and output side surrounding the 'inside' components. First part must then use 'concentric=1' flag to enter the inside part. The component itself must be repeated to mark the end of the concentric zone. The number of concentric shells and number of components inside is not limited. COMPONENT F_in = FluoCrystal(material="Al", concentric=1, ...) AT (0,0,0) RELATIVE sample_position COMPONENT something_inside ... // e.g. the sample itself or other materials COMPONENT F_out = COPY(F_in)(concentric=0) AT (0,0,0) RELATIVE sample_position Enhancing computation efficiency: An important option to enhance statistics is to set 'p_interact' to, say, 30 percent (0.3) in order to force a fraction of the beam to scatter. This will result on a larger number of scattered events, retaining intensity. In addition, it may be desirable to define a 'target' for the fluorescence processes via e.g. the 'target_index' and the 'focus_xw / focus_yh' options. This target should e.g. be the SDD area. The crystal scattering can be focused along an horizontal tore via the 'sx_d_phi' and 'sx_sign' options. To get a vertical tore, rotate the sample by 90 deg around Z. This sample component can advantageously benefit from the SPLIT feature, e.g. SPLIT COMPONENT sample = FluoCrystal(...) Detector artifacts: This component also simulates the escape and time coincidence peaks in a close-by detector (e.g. SDD). The first process corresponds with a fluorescence excitation within the detector that subtracts the K-alpha detector level from the sample scattered energy. The second process is related to the detector dead-time, within which time coincidence between two fluorescence photons are summed-up. If you activate these features, with e.g. 'escape_ratio=0.01' and 'pileup_ratio=0.01', you should further remove these contributions for the rest of the simulation beyond the fluorescence detector, with an ABSORB keyword: USERVARS %{ int fluo_type; %} COMPONENT F = FluoCrystal(material="Al", escape_ratio=0.01, pileup_ratio=0.01) AT ... EXTEND %{ if (SCATTERED) fluo_type=type; // record type of interaction %} COMPONENT E_mon = Monitor_nD(options="energy", ...) AT ... EXTEND %{ if (fluo_type>=FLUORESCENCE_ESCAPE) ABSORB; // remove detector artifacts further %} (...) The fluorescence is computed via the XRayLib (apt install libxrl-dev).
Name | Unit | Description | Default | |
geometry | str | 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. | 0 | |
radius | m | Outer radius of sample in (x,z) plane. cylinder/sphere. | 0 | |
thickness | m | Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. | 0 | |
xwidth | m | Width for a box sample shape. | 0 | |
yheight | m | Height of sample in vertical direction for box/cylinder shapes. | 0 | |
zdepth | m | Depth for a box sample shape. | 0 | |
concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere). | 0 | |
material | str | A CIF/LAZ/LAU file e.g. "LaB6.cif" to handle diffraction or chemical formulae, e.g. "Pb2SnO4" (no diffraction). | "LaB6.cif" | |
packing_factor | 1 | How dense is the material compared to bulk 0-1. | 0 | |
density | g/cm^3 | Density of material. V_rho=density/weight/1e24*N_A at/Angs^3. | 0 | |
weight | g/mol | Atomic/molecular weight of material. | 0 | |
p_interact | 1 | Force a given fraction of the beam to scatter, keeping intensity right, to enhance small signals (-1 inactivate). | 0 | |
target_x | m | Position of target to focus at, along X (for fluorescence). | 0 | |
target_y | m | Position of target to focus at, along Y (for fluorescence). | 0 | |
target_z | m | Position of target to focus at, along Z (for fluorescence). | 0 | |
focus_r | m | Radius of disk containing target. Use 0 for full space (for fluorescence). | 0 | |
focus_xw | m | Horiz. dimension of a rectangular area (for fluorescence). | 0 | |
focus_yh | m | Vert. dimension of a rectangular area (for fluorescence). | 0 | |
focus_aw | deg | Horiz. angular dimension of a rectangular area (for fluorescence). | 0 | |
focus_ah | deg | Vert. angular dimension of a rectangular area (for fluorescence). | 0 | |
target_index | 1 | Relative index of component to focus at, e.g. next is +1 (for fluorescence). | 0 | |
flag_compton | 1 | When 0, the Compton scattering is ignored. | 1 | |
flag_rayleigh | 1 | When 0, the Rayleigh scattering is ignored. | 1 | |
flag_lorentzian | 1 | When 1, the fluorescence line shapes are assumed to be Lorentzian, else Gaussian. | 1 | |
sx_refl | str | A CIF/LAZ/LAU reflection file as for PowderN. When not given, 'material' is used. Specify it when 'material' is a chemical formula. | "" | |
flag_sx | 1 | When 0, the crystal diffraction is ignored. | 1 | |
sx_delta_d_d | 1 | Lattice spacing variance, gaussian RMS (longitudinal mosaic) | 1e-4 | |
sx_barns | 1 | Flag to indicate if |F|^2 from 'material' is in barns or fm^2, (barns=1 for laz, barns=0 for lau type files). | 1 | |
sx_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 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 two reflections chosen by A and B (Miller indices). | {0,0, 0,0,0, 0,0,0} | |
sx_recip_cell | 1 | Choice of direct/reciprocal (0/1) unit cell definition | 0 | |
sx_ax | AA or AA^-1 | Coordinates of first (direct/recip) unit cell vector | 0 | |
sx_ay | AA or AA^-1 | a on y axis | 0 | |
sx_az | AA or AA^-1 | a on z axis | 0 | |
sx_bx | AA or AA^-1 | Coordinates of second (direct/recip) unit cell vector | 0 | |
sx_by | AA or AA^-1 | b on y axis | 0 | |
sx_bz | AA or AA^-1 | b on z axis | 0 | |
sx_cx | AA or AA^-1 | Coordinates of third (direct/recip) unit cell vector | 0 | |
sx_cy | AA or AA^-1 | c on y axis | 0 | |
sx_cz | AA or AA^-1 | c on z axis | 0 | |
sx_aa | 0 | |||
sx_bb | 0 | |||
sx_cc | 0 | |||
sx_mosaic | arc minutes | Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. | -1 | |
sx_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 in-plane mosaic model. | -1 | |
sx_mosaic_b | arc minutes | Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. | -1 | |
sx_mosaic_c | arc minutes | Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS | -1 | |
escape_ratio | 1 | Detector escape peak ratio, e.g. 0.01-0.02. 0 inactivates. | 0 | |
escape_energy | keV | Detector escape peak energy, e.g. 1.739 for Si, 9.886 for Ge. | 1.739 | |
pileup_ratio | 1 | Sum aka time coincidence aka pile-up detector peak ratio, e.g. 0.01-0.02. 0 inactivates. | 0 |
AT ( | , | , | ) RELATIVE | |||
---|---|---|---|---|---|---|
ROTATED ( | , | , | ) RELATIVE |
FluoCrystal.comp
.
[ Identification | Description | Input parameters | Links ]
Generated on mcxtrace 3.5.27