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_gen

[ Identification | Description | Input parameters | Links ]

The Source_gen Component

Circular/squared neutron source with flat or Maxwellian energy/wavelength spectrum


  • Site:
  • Author: Emmanuel Farhi, Kim Lefmann
  • Origin: ILL/Risoe
  • Date: Aug 27, 2001


This routine is a neutron source (rectangular or circular), 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. However, it may be directly set using the 'focus-aw' and 'focus_ah'

The neutron energy/wavelength is distributed uniformly in wavelength between
Emin=E0-dE and Emax=E0+dE or Lmin=lambda0-dlambda and Lmax=lambda0+dlambda.
The I1 may be either arbitrary (I1=0), or specified in neutrons per steradian
per square cm per Angstrom per s. A Maxwellian spectra may be selected if you
give the source temperatures (up to 3).

Finally, a file with the flux as a
function of the wavelength [lambda(AA) flux(n/s/cm^2/st/AA)] may be used
with the 'flux_file' parameter. Format is 2 columns free text.

Additional distributions for the horizontal and vertical phase spaces
distributions (position-divergence) may be specified with the
'xdiv_file' and 'ydiv_file' parameters. Format is free text, requiring
a comment line '# xylimits: pos_min pos_max div_min div_max' to set
the axis of the distribution matrix. All these files may be generated using
standard monitors (better in McStas/PGPLOT format), e.g.:
Monitor_nD(options="auto lambda per cm2")
Monitor_nD(options="x hdiv, all auto")
Monitor_nD(options="y vdiv, all auto")

The source shape is defined by its radius, or can alternatively be squared
if you specify non-zero yheight and xwidth parameters.
The beam is divergence uniform,.
The source may have a thickness, which will broaden the default zero time

Usage example:
t = rand0max(1e-3); // set time from 0 to 1 ms for TOF instruments.

Some neutron facility parameters:
PSI cold source     T1=296.2,I1=8.5E11, T2=40.68,I2=5.2E11
ILL VCS cold source T1=216.8,I1=1.24e+13,T2=33.9,I2=1.02e+13
(H1, 58 MW)  T3=16.7 ,I3=3.0423e+12
ILL HCS cold source T1=413.5,I1=10.22e12,T2=145.8,I2=3.44e13
(H5, 58 MW)  T3=40.1 ,I3=2.78e13
ILL Thermal tube    T1=683.7,I1=0.5874e+13,T2=257.7,I2=2.5099e+13
(H12, 58 MW) T3=16.7 ,I3=1.0343e+12
ILL Hot source      T1=1695, I1=1.74e13,T2=708,  I2=3.9e12 (58MW)
HZB cold source     T1=43.7 ,I1=1.4e12, T2=137.2,I2=2.08e12,radius=.155 (10MW)
HZB bi-spectral     T1=43.7, I1=1.4e12, T2=137.2,I2=2.08e12,T3=293.0,I3=1.77e12
HZB thermal tube    T1=293.0,I1=2.64e12 (10MW)
FRM2 cold,20MW      T1=35.0, I1=9.38e12,T2=547.5,I2=2.23e12,T3=195.4,I3=1.26e13
FRM2 thermal,20MW   T1=285.6,I1=3.06e13,T2=300.0,I2=1.68e12,T3=429.9,I3=6.77e12
LLB cold,14MW       T1=220,  I1=2.09e12,T2=60,   I2=3.83e12,T3=20,   I3=1.04e12
TRIGA thermal 1MW   T1=300,  I1=3.5e11 (scale by thermal power in MW)

Feb 2005: output cross-checked for 3 Maxwellians against VITESS source
I(lambda), I(hor_div), I(vert_div) identical in shape and absolute values
Validated by: K. Lieutenant

Input parameters

Parameters in boldface are required; the others are optional.
flux_filestrName of a two columns [lambda flux] text file that contains the wavelength distribution of the flux in either [1/(s*cm**2*st)] or [1/(s*cm**2*st*AA)] (see flux_file_perAA flag) Comments (#) and further columns are ignored. Format is compatible with McStas/PGPLOT wavelength monitor files. When specified, temperature and intensity values are ignored."NULL"
xdiv_filestrName of the x-horiz. divergence distribution file, given as a free format text matrix, preceeded with a line '# xylimits: xmin xmax xdiv_min xdiv_max'"NULL"
ydiv_filestrName of the y-vert. divergence distribution file, given as a free format text matrix, preceeded with a line '# xylimits: ymin ymax ydiv_min ydiv_max'"NULL"
radiusmRadius of circle in (x,y,0) plane where neutrons are generated. You may also use 'yheight' and 'xwidth' for a square source0.0
distmDistance to target along z axis.0
focus_xwmWidth of target.0.045
focus_yhmHeight of target.0.12
focus_awdegmaximal (uniform) horz. width divergence0
focus_ahdegmaximal (uniform) vert. height divergence0
E0meVMean energy of neutrons.0
dEmeVEnergy spread of neutrons, half width.0
lambda0AAMean wavelength of neutrons.0
dlambdaAAWavelength spread of neutrons,half width0
I11/(cm**2*sr)Source flux per solid angle, area and Angstrom if I1=0, the source emits 1 in 4*PI whole space.1
yheightmSource y-height, then does not use radius parameter0.1
xwidthmSource x-width, then does not use radius parameter0.1
verbose0/1display info about the source. -1 unactivate source.0
T1KTemperature of the Maxwellian source, 0=none0
flux_file_perAA1When true (1), indicates that flux file data is already per Aangstroem. If false, file data is per wavelength bin.0
flux_file_log1When true, will transform the flux table in log scale to improve the sampling.0
LminAAMinimum wavelength of neutrons0
LmaxAAMaximum wavelength of neutrons0
EminmeVMinimum energy of neutrons0
EmaxmeVMaximum energy of neutrons0
T2KSecond Maxwellian source Temperature, 0=none0
I21/(cm**2*sr)Second Maxwellian Source flux0
T3KThird Maxwellian source Temperature, 0=none0
I31/(cm**2*sr)Third Maxwellian Source flux0
zdepthmSource z-zdepth, not anymore flat0
target_index1relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically.+1


  • Source code for Source_gen.comp.
  • P. Ageron, Nucl. Inst. Meth. A 284 (1989) 197

[ Identification | Description | Input parameters | Links ]

Generated on 2024-01-03 11:47:43

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