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

[ Identification | Description | Input parameters | Links ]

The MCViNE_SANS2D_ongrid Component

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.

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_SANS2D_ongrid(S_QxQy="MCViNE/SANS2D_example.dat", scattering_coefficient=1, xwidth=0.01, yheight=0.01, zdepth=0.001)

Input parameters

Parameters in boldface are required; the others are optional.
NameUnitDescriptionDefault
S_QxQystr2D grid file (see description)0
absorption_coefficientm^-1Absorption coefficient at 2200 m/s (MCViNE convention; scales as 1/v)0
scattering_coefficientm^-1Scattering coefficient0
sigma_absbarnAlternative: absorption cross section per unit cell at 2200 m/s (used when Vc>0)0
sigma_scatbarnAlternative: scattering cross section per unit cell (used when Vc>0)0
VcAA^3Unit cell volume; when >0, coefficients are computed from sigma_abs, sigma_scat0
radiusmOuter radius of a cylinder (with yheight) or of a sphere (yheight=0)0
xwidthmWidth of a box sample0
yheightmHeight of a box or cylinder sample0
zdepthmDepth of a box sample0
thicknessmWall thickness of a hollow cylinder (0: filled)0
pack1Packing factor (scales absorption and scattering coefficients)1
p_transmit1Monte Carlo fraction of events kept as unscattered transmitted beam (0: always scatter)0
order1Maximum number of scattering events per neutron (1: single scattering)1
AT ( , , ) RELATIVE
ROTATED ( , , ) RELATIVE

Links

  • Source code for MCViNE_SANS2D_ongrid.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