Component Manual for the Neutron Ray-Tracing Package McStas, version 3.9

14.126  The MCViNE_Phonon_CoherentInelastic_SingleXtal McStas Component

Coherent one-phonon scattering from a single crystal, using a full phonon dispersion on a grid.

Identification

Description

Single-crystal coherent one-phonon scattering with dispersion and polarization vectors from MCViNE IDF files (periodic over the reciprocal cell b1,b2,b3 given in Qgridinfo; orient the crystal by rotating the component). For a final direction (4pi, or a cone towards a target when focus_r>0) and a random branch among those with Emin < 1.5 Ei, all final speeds solving omega(Q) = |Ei-Ef| are found (Ridders’ method on nsteps sub-intervals of [0,2vi]); one is chosen and weighted by the delta-function Jacobian, |sum_d b_d/sqrt(M_d) exp(iQ.d)(Q.e_d)|^2, Bose and Debye-Waller factors.

Transport (same as MCViNE HomogeneousNeutronScatterer): on the first passage the neutron is forced to scatter at a uniformly chosen depth, weighted by path length, attenuation exp(-(mu+sigma)x) and the scattering coefficient; on exit it is attenuated by exp(-(mu+sigma)L_out). With order>1 further scatterings are sampled analogically (truncated exponential). With p_transmit>0 that fraction of events is kept as the attenuated direct beam. mu(v) = absorption_coefficient*2200/v. Events for which the kernel cannot scatter (kinematically forbidden) are absorbed.

Geometry: box (xwidth,yheight,zdepth), cylinder (radius,yheight), hollow cylinder (+thickness) or sphere (radius only). All vectors (Q, targets, reciprocal vectors, atom positions) are in the component’s local frame.

Uses the shared runtime share/mcvine-lib.h/.c.

Example: MCViNE_Phonon_CoherentInelastic_SingleXtal(idf_dir="MCViNE/fcc_toy_phonons", atoms="MCViNE/fcc_toy_atoms.dat", T=300, xwidth=0.01, yheight=0.01, zdepth=0.01)

Input parameters

Parameters in boldface are required; the others are optional.

Name

Unit

Description

Default

idf_dir

str

Directory with MCViNE IDF phonon files: Qgridinfo, Omega2, Polarizations[, DOS]

0

atoms

str

Atoms file: one row per atom ’x y z mass b_coh sigma_inc sigma_abs’ ([Å] cartesian, [amu], [fm], [barn], [barn]), same order as in the IDF files

0

T

K

Temperature

300

dw_core

Å\(^{2}\)

Debye-Waller core; <0: computed from the DOS (idf_dir/DOS or dos)

-1

dos

str

Optional DOS file for the Debye-Waller factor (default: idf_dir/DOS)

0

Vc

Å\(^{3}\)

Unit cell volume; 0: (2pi)^3/|b1.(b2 x b3)| from Qgridinfo

0

target_x

m

Target position (component frame) x

0

target_y

m

Target position y

0

target_z

m

Target position z

0

target_index

1

Relative index of a component to aim at (overrides target_x/y/z when non-zero)

0

focus_r

m

Radius of the target disk; 0: scatter into 4pi (MCViNE default)

0

deltaV_Jacobi

1

Relative velocity step for the numerical Jacobian

0.001

nsteps

1

Sub-intervals for the root search in vf

100

xacc

m/s

Root accuracy in vf

10

unbiased

1

0: MCViNE sampling (retries up to 100 direction/branch draws until omega(Q)=|Ei-Ef| has a solution, without correcting the weight: over-estimates when many directions have no solution). 1: single attempt, unbiased

0

radius

m

Outer radius of a cylinder (with yheight) or of a sphere (yheight=0)

0

xwidth

m

Width of a box sample

0

yheight

m

Height of a box or cylinder sample

0

zdepth

m

Depth of a box sample

0

thickness

m

Wall thickness of a hollow cylinder (0: filled)

0

pack

1

Packing factor (scales absorption and scattering coefficients)

1

p_transmit

1

Monte Carlo fraction of events kept as unscattered transmitted beam (0: always scatter)

0

order

1

Maximum number of scattering events per neutron (1: single scattering)

1

Links