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)


McStas: MCViNE_SANS2D_ongrid_process

[ Identification | Description | Input parameters | Links ]

The MCViNE_SANS2D_ongrid_process Component

Union process: SANS from a 2D S(Qx,Qy) map on a grid (beam along z).

Identification

  • Author: Fahima Islam (McStas port of the MCViNE SANS2D_ongrid_Kernel (mcvine.acc); MCViNE by J. Y. Y. Lin et al.)
  • Origin: MCViNE, https://github.com/mcvine/acc (acc/kernels/SANS2D_ongrid.py)
  • Date: 2026-09-29

Description

Qx, Qy are sampled uniformly over the grid range; the neutron gets
v_perp -= Q*K2V and vz = sqrt(vi^2 - vx^2 - vy^2) (elastic). The weight is the
bilinearly interpolated S(Qx,Qy) (no solid-angle Jacobian, as in mcvine.acc;
use scattering_coefficient to set the absolute scale). File layout: first
numeric row Qx values (nx, ascending), second row Qy values (ny), then ny rows of
nx values (row index = Qy), i.e. the (y,x) image layout used by mcvine.acc.

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_SANS2D_ongrid (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_SANS2D_ongrid_process(S_QxQy="MCViNE/SANS2D_example.dat", scattering_coefficient=1)

Input parameters

Parameters in boldface are required; the others are optional.
NameUnitDescriptionDefault
S_QxQystr2D grid file (see description)0
scattering_coefficientm^-1Scattering coefficient (inverse penetration depth for scattering)0
sigma_scatbarnAlternative: scattering cross section per unit cell (used when Vc>0)0
VcAA^3Unit cell volume; when >0 the coefficient is sigma_scat/Vc0
packing_factor1Packing factor (scales the scattering coefficient)1
interact_fraction1Union: fraction of interactions forced to this process (-1: by cross section)-1
initstringDeprecated and unused, accepted like on the other Union components (see Union_init).""
AT ( , , ) RELATIVE
ROTATED ( , , ) RELATIVE

Links

  • Source code for MCViNE_SANS2D_ongrid_process.comp.
  • MCViNE documentation: https://mcvine.github.io

[ Identification | Description | Examples | Input parameters | Links ]

Generated on mcstas 3.9.2


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