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


About McStas
 Conditions of use
 Project funding

 Other Downloads (share)

Mailing list

Search web/mailinglist

 Wiki (GitHub)
 McStas manual


Report bugs (GitHub)

Code-repository (GitHub)

McStas: PowderN Component

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

The PowderN Component

General powder sample (N lines, single scattering, incoherent scattering)


  • Author: P. Willendrup, L. Chapon, K. Lefmann, A.B.Abrahamsen, N.B.Christensen, E.M.Lauridsen.
  • Origin: McStas release
  • Date: 4.2.98
  • Version:(Unknown)
  • Modification history:
    • KL, KN 20.03.98 (rewrite)
    • KL, 28.09.01 (two lines)
    • KL, 22.05.03 (background)
    • KL, PW 01.05.05 (N lines)
    • PW, LC 04.10.05 (Merge with Chapon Powder_multi)
    • PW, KL 05.06.07 (Concentricity)
    • EF, 17.10.08 (added any shape sample geometry)
    • MB, 25.07.18 (fixed indexing bug in calc_xsect)
    • Jan Saroun(JS) '17(added target_index, d_omega, tth_sign)


General powder sample with
        many scattering vectors
        possibility for intrinsic line broadening
        incoherent elastic background ratio is specified by user
        No multiple scattering. No secondary extinction.

Based on Powder1/Powder2/Single_crystal.
Geometry is a powder filled cylinder, sphere, box or any shape from an OFF file.
Incoherent scattering is only provided here to account for a background.
The efficient is highly improved when restricting the vertical scattering
  range on the Debye-Scherrer cone (with 'd_phi' and 'focus_flip').
The unit cell volume Vc may also be computed when giving the density,
  the atomic/molecular weight and the number of atoms per unit cell.
A simple strain handling is available by mean of either a global Strain parameter,
  or a column with a strain value per Bragg reflection. The strain values are
  specified in ppm (1e-6).
The Single_crystal component can also handle a powder mode, as well as an
  approximated texture.

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 neutron ray with the object
  transparently, so that it can be used like a regular sample object.
  It supports the PLY, OFF and NOFF file format but not COFF (colored faces).
  Such files may be generated from XYZ data using:
    qhull < Qx Qv Tv o >
  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.

If you use this component and produce valuable scientific results, please
cite authors with references bellow (in Links).

Example: PowderN(reflections = "c60.lau", d_phi = 15 , radius = 0.01,
  yheight = 0.05, Vc = 1076.89, sigma_abs = 0, delta_d_d=0, DW=1,

Powder definition file format
Powder structure is specified with an ascii data file 'reflections'.
The powder data are free-text column based files.
The reflection list should be ordered by decreasing d-spacing values.
      ... d ... F2
Lines begining by '#' are read as comments (ignored) but they may contain
the following keywords (in the header):
These values are not read if entered as component parameters (Vc=...)

The signification of the columns in the numerical block may be
set using the 'format' parameter. Built-in formats are:
and these specifications it is important NOT to use quotes, as shown.

An other possibility to define other formats is to set directly
the signification of the columns as a vector of indexes in the order
Signification of the symbols is given below. Indices start at 1.
Indices with zero means that the column are not present, so that:
  Crystallographica={ 4,5,7,0,0,0,0,0,0 }
  Fullprof         ={ 4,0,8,0,0,5,0,0,0 }
  Lazy             ={17,6,0,0,0,0,0,13,0}
Here again, NO quotes should be around the 'format' value.

At last, the format may be overridden by direct definition of the
column indexes in the file itself by using the following keywords
in the header (e.g. '#column_j 4'):


PowderN assumes 'concentric' shape, i.e. can contain other components inside its
optional inner hollow. Example, Sample in Al cryostat:

COMPONENT Cryo = PowderN(reflections="Al.laz", radius = 0.01, thickness = 0.001,
                         concentric = 1, p_interact=0.1)
AT (0,0,0) RELATIVE Somewhere

COMPONENT Sample = some_other_component(with geometry FULLY enclosed in the hollow)
AT (0,0,0) RELATIVE Somewhere

COMPONENT Cryo2 = COPY(Cryo)(concentric = 0)
AT (0,0,0) RELATIVE Somewhere

(The second instance of the cryostat component can also be written out completely
 using PowderN(...). In both cases, this second instance needs concentric = 0.)
The concentric arrangment can not be used with OFF geometry specification.

Input parameters

Parameters in boldface are required; the others are optional.
Name Unit Description Default
format no quotes Name of the format, or list of column indexes (see Description). Undefined
reflections "NULL"
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 "NULL"
radius m Outer radius of sample in (x,z) plane 0
yheight m Height of sample y direction 0
xwidth m Horiz. dimension of sample, as a width 0
zdepth m Depth of box sample 0
thickness 0
pack 1 Packing factor 1
Vc AA^3 Volume of unit cell=nb atoms per cell/density of atoms 0
sigma_abs barns Absorption cross section per unit cell at 2200 m/s. Use a negative value to unactivate it 0
sigma_inc barns Incoherent cross section per unit cell. Use a negative value to unactivate it 0
delta_d_d 0/1 Global relative delta_d_d/d broadening when the 'w' column is not available. Use 0 if ideal. 0
p_inc 1 Fraction of incoherently scattered neutron rays 0.1
p_transmit 1 Fraction of transmitted (only attenuated) neutron rays. Used to improve statistics of the scattering pattern wrt. the attenuated, direct beam. It is typically beneficial to leave this parameter at a value << 1. 0.1
DW 1 Global Debye-Waller factor when the 'DW' column is not available. Use 1 if included in F2 0
nb_atoms 1 Number of sub-unit per unit cell, that is ratio of sigma for chemical formula to sigma per unit cell 1
d_omega deg Horizontal focus range (only for incoherent scattering), 0 for no focusing 0
d_phi deg Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing 0
tth_sign 1 Sign of the scattering angle. If 0, the sign is chosen randomly 0
p_interact 1 Fraction of events interacting with sample, e.g. 1-p_transmit-p_inc 0
concentric only for box, cylinder, sphere [1] Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part 0
density g/cm^3 Density of material. rho=density/weight/1e24*N_A. 0
weight g/mol Atomic/molecular weight of material 0
barns 1 Flag to indicate if |F|^2 from 'reflections' is in barns or fm^2 (barns=1 for laz, barns=0 for lau type files). 1
Strain ppm Global relative delta_d_d/d shift when the 'Strain' column is not available. Use 0 if ideal. 0
focus_flip 1 Controls the sense of d_phi. If 0 d_phi is measured against the xz-plane. If !=0 d_phi is measured against zy-plane. 0
target_index 1 Relative index of component to focus at, e.g. next is +1 0

Output parameters

Name Unit Description Default
line_info Angs-1 .dq: wavevector transfer of last coherent scattering event  


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

Generated automatically by McDoc, Peter Willendrup <> / Wed Jan 12 15:13:31 2022

Last Modified: Wednesday, 12-Jan-2022 16:13:31 CET
Search website mailinglist archive GitHub repos