McStas logo McStas - A neutron ray-trace simulation package ILL; PSI; ESS Niels Bohr Institute DTU Physics

McStas

About McStas
 Conditions of use
 Authors/Contacts
 Project funding

Download
 Components
 Other Downloads (share)

Mailing list

Search web/mailinglist

Documentation
 Wiki (GitHub)
 McStas manual
 Publications

Links

Report bugs (GitHub)

Code-repository (GitHub)


The MCViNE_Phonon_CoherentInelastic_PolyXtal_process McStas Component

14.142  The MCViNE_Phonon_CoherentInelastic_PolyXtal_process McStas Component

Union process: Coherent one-phonon scattering from a powder, using a full phonon dispersion (energies + polarizations) on a grid.

Identification

  • Author: Fahima Islam (McStas port of the MCViNE phonon CoherentInelastic_PolyXtal kernel; MCViNE by J. Y. Y. Lin et al.)

  • Origin: MCViNE, https://github.com/mcvine/mcvine (mccomponents/lib/kernels/sample/phonon/CoherentInelastic_PolyXtal.cc)

  • Date: 2026-09-29

Description

Powder average of the coherent one-phonon cross section, computed from phonon energies and polarization vectors tabulated on a grid over one reciprocal cell (MCViNE IDF format, e.g. from phonopy via MCViNE tools). A random branch and a random Q vector in a cube are drawn until the event is kinematically allowed; phonon creation/annihilation, Bose factor and Debye-Waller factor included. Scattering coefficient: total coherent cross section / Vc.

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_Phonon_CoherentInelastic_PolyXtal (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_Phonon_CoherentInelastic_PolyXtal_process(idf_dir="MCViNE/fcc_toy_phonons", atoms="MCViNE/fcc_toy_atoms.dat", T=300, max_omega=45)

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

max_omega

meV

Maximum phonon energy

50

min_omega

meV

Phonons below this energy are skipped

0.01

unbiased

1

0: MCViNE sampling (rejection + empirical accessible reciprocal volume, a few % high in tests). 1: single Q sample in the cube with its exact volume, unbiased

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).

""

Links

  • Component source code found in file MCViNE_Phonon_CoherentInelastic_PolyXtal_process.comp.

  • MCViNE documentation: https://mcvine.github.io


Last Modified: Tuesday, 06-Oct-2026 21:19:10 CEST
Search website mailinglist archive GitHub repos