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

[ Identification | Description | Input parameters | Links ]

The Source_multi_surfaces Component

Rectangular neutron source with subareas - using wavelength spectra reading from files


  • Site:
  • Author: Ludovic Giller, Uwe Filges
  • Origin: PSI/Villigen
  • Date: 31.10.06


This routine is a rectangular neutron source, which aims at a square target
centered at the beam (in order to improve MC-acceptance rate).
The angular divergence is then given by the dimensions of the target.
The source surface can be divided in subareas (maximum 7 in one dimension).
For each subarea a discret spectrum must be loaded given by its corresponding
file. The name of the files are saved in one file and will be called with the
parameter "filename".
In fact the routine first reads the spectrum from files (up to 49) and it
selects randomly a subarea. Secondly it generates a neutron with an random
energy, selected from the spectrum corresponding to the subsurface chosen, and
with a random direction of propagation within the target.
ATTENTION 1:  the files must be located in the working directory where also
the instrument file is located
ATTENTION 2:  the wavelenght distribution (or binning) must be uniform

The file giving the name of sub-sources is matrix like,
eg. for a 3x2 (x,y) division :
spec1_1.dat spec1_2.dat spec1_3.dat
spec2_1.dat spec2_2.dat spec2_3.dat(RETURN-key)

ATTENTION : The line break after the last line is important.
Otherwise the files can not be read in !!!

and for example spec1_2.dat must be like, always from big to
small lambda :
#surface 1_2
#comments must be preceded by "#"
#lambda [AA] 	intensity [a.u.]
9.0		1.39E+08
8.75		9.67E+08
8.5		1.17E+09
8.25		1.50E+09
8.0		1.60E+09
7.75		1.43E+09
7.5		1.40E+09
7.25		1.36E+09
7.0		1.35E+09
6.75		1.33E+09
6.5		1.32E+09
6.25		1.31E+09

[a.u.] 	means that your chosen unit for the intensity influences
the outcoming unit. What you put in you will get out !
i.e. whatever is the unit for the input intensity you
will have the same unit for the the output.
Generally McStas works in neutrons per second [n/s].

Usage example:

Input parameters

Parameters in boldface are required; the others are optional.
filenamestrName of the file containing a list of the spectra file names0
yheightmSource y-height0.16
xwidthmSource x-width0.09
distmDistance to target along z axis1.18
xwmWidth(x) of target0.08
yhmHeight(y) of target0.15
xdimintNumber of subareas in the x direction4
ydimintNumber of subareas in the y direction4
EmineVMinimum energy of neutrons0.0
EmaxeVMaximum energy of neutrons0.0
LminAAMinimum wavelength of neutrons0.0
LmaxAAMaximum wavelength of neutrons0.0


[ Identification | Description | Input parameters | Links ]

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

Last Modified: Tuesday, 16-Apr-2024 20:05:20 CEST
Search website mailinglist archive GitHub repos