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: Filter_gen

[ Identification | Description | Input parameters | Links ]

The Filter_gen Component

This components may either set the flux or change it (filter-like), using an external data filename.


  • Site:
  • Author: E. Farhi
  • Origin: ILL
  • Date: Dec, 15th, 2002


This component changes the neutron flux (weight) in order to match
a reference table in a filename.
Typically you may set the neutron flux (source-like), or multiply it
using a transmission table (filter-like).
The component may be placed after a source, in order to e.g.
simulate a real source from a reference table, or used as a filter (BeO)
or as a window (Al). The behaviour of the component is
specified using the 'options' parameter, or from the filename itself (see below)
If the thickness for the transmission data filename D was t0, and a different
thickness t1 would be required, then the resulting transmission is:
You may use the 'thickness' and 'scaling' parameter for that purpose.

File format:
This filename may be of any 2-columns free format (k[Angs-1],p), (omega[meV],p)
and (lambda[Angs],p) where p is the weight. The type of the filename may be
written explicitely in the filename, as a comment, or using the 'options'
Non mumerical content in filename is treated as comment (e.g. lines starting
with '#' character).
A table rebinning and linear interpolation are performed.

EXAMPLE : in order to simulate a PG filter, using the lib/data/HOPG.trm file
Filter_gen(xwidth=.1 yheight=.1, filename="HOPG.trm")
A Sapphire filter, using the lib/data/Al2O3_sapphire.trm file
Filter_gen(xwidth=.1 yheight=.1, filename="Al2O3_sapphire.trm")
A Berylium filter, using the lib/data/Be.trm file
Filter_gen(xwidth=.1 yheight=.1, filename="Be.trm")
an other possibility to simulate a Be filter is to use the PowderN component:
PowderN(xwidth=.1, yheight=.1, zdepth=.1, reflections="Be.laz", p_inc=1e-4)

in this filename, the comment line
# wavevector multiply
sets the behaviour of the component. One may as well have used
options="wavevector multiply"
in the component instance parameters.

Input parameters

Parameters in boldface are required; the others are optional.
filenamestrname of the filename to look at (first two columns data). Data D should rather be sorted (ascending order) and monotonic filename may contain options (see below) as comment0
optionsstrstring that can contain: "[ k p ]" or "wavevector" for filename type, "[ omega p]" or "energy", "[ lambda p ]" or "wavelength", "set" to set the weight according to the table,"multiply" to multiply (instead of set) the weight by factor,"add" to add to current flux,"verbose" to display additional informations.0
xminmdimension of filter-0.05
xmaxmdimension of filter0.05
yminmdimension of filter-0.05
ymaxmdimension of filter0.05
xwidthmWidth/diameter of filter). Overrides xmin,xmax.0
yheightmHeight of filter. Overrides ymin,ymax.0
thickness1relative thickness. D = D^(thickness).1
scaling1scaling factor. D = D*scaling.1
verbose1Flag to select verbose output.0


[ Identification | Description | Input parameters | Links ]

Generated on 2023-09-19 20:01:36

Last Modified: Wednesday, 03-Jan-2024 19:59:10 CET
Search website mailinglist archive GitHub repos