mcstas(1)

NAME
mcstas - Compiler of the McStas neutron ray-trace simulation package

SYNOPSIS
mcstas [-o file][-I dir1 ...][-tv][--verbose] file.instr

DESCRIPTION
The mcstas command is the instrument compiler of the McStas package.

McStas is a general tool for simulating neutron scattering instruments and experiments. It is actively supported by Risoe National Laboratory and ILL

McStas is based on a compiler [mcstas(1)] that reads a high-level specification language defining the instrument to be simulated and produces C code that performs the Monte Carlo Simulation. The system is very fast in use, both when setting up the instrument definition and when doing calculations.

McStas supports triple-axis, time-of-flight instruments, and polarised neutrons. It comes with a comprehensive manual and a library of well-tested components that include most standard elements of neutron scattering instruments, including steady-state and pulsed sources, monochromators/analysers, guides, collimators, vanadium and powder samples, velocity selectors and choppers, and a variety of detectors.

To start mcstas, use: mcgui(1)

The package consists of the following user commands:

mcgui(1)
    is the graphical user interface. Then use the Neutron Site menu to select an example instrument, and access the whole documentation for the Help menu. It contains an instrument editor, methods to plot simulation results, and much more

mcrun(1)
    is the command-line tool for building and running simulations

mcplot(1)
    is the simulation results plotting tool

mcdisplay(1)
    is the instrument geometry and neutron trajectory viewer

mcdoc(1)
    is the documentation tool

mcstas(1)
    is the instrument compiler

mcconvert(1)
    can convert Matlab data files into Scilab data files, and vice-versa. It also handles data sets with binary encoding. It also handles parameter scan results.

mcformat(1)
    can transform any text data set from one format to an other. It does not support conversion from binary data sets. It can also merge equivalent results.

We encourage users to refer to the User and Component Manuals, which are available with the command mcdoc

OPTIONS

-h | --help
    displays the command help

-t | --trace
    Enable 'trace' mode for instrument display.

-v | --version
    Prints McStas version.

--verbose
    Display compilation process steps.

INSTRUMENT OPTIONS
These options apply to the generated instrument code (foo.c and foo.out)

-s SEED | --seed=SEED
    Set random seed (must be non zero)

-n COUNT | --ncount=COUNT
    Set number of neutrons to simulate

-d DIR | --dir=DIR
    Put all data files in directory DIR

-f FILE | --file=FILE
    Put all data in a single file

-t | --trace
    Enable trace of neutron through instrument (must have been set during code generation with mcstas(1)). This is necessary for mcdisplay(1) to run

-g | --gravitation
    Enable gravitation for all trajectories

-a | --data-only
    Do not put any headers in the data files

--no-output-files
    Do not write any data files

-h | --help
    Show help message for the instrument

-i | --info
    Detailed instrument information, including valid parameters

--format=FORMAT
    Output data files using format FORMAT (format list obtained from foo.out -h, e.g. Matlab, Scilab, PGPLOT, HTML, XML, Octave)

EXAMPLES
The three following examples are equivalent to the single command:
 mcrun -c foo.instr param1=value1 ...

Typical usage (creates a C file to be compiled)
    mcstas foo.instr

gcc -O -o foo.out foo.c -lm
    Compile the instrument (with basic optimization and math libraries)

foo.out param1=value1 ...
    Execute instrument simulation

ENVIRONMENT
The MCSTAS environment variable may be set to define the McStas library location. This is /usr/local/lib/mcstas on Linux systems. Executables are usually located in /usr/local/bin. The McStas configuration file is MCSTAS/tools/perl/mcstas_config.perl which you can reconfigure by running: MCSTAS/tools/perl/mcstas_reconfigure

The MCSTAS_FORMAT environment variable may be set to define the default data format used for storing results. This is usually 'PGPLOT', 'Matlab', or 'Scilab'.

BUGS
McStas is a large package, and bugs might be found. If so, please report to http://mcstas.org/McZilla/ and the mailing list neutron-mc@risoe.dk

EXIT STATUS
mcstas returns 1 in case of error, 0 when all went fine

AUTHOR
Peter Kjaer Willendrup, Emmanuel FARHI, Kim Lefmann, and Klaus Lieutenant

SEE ALSO
mcstas(1), mcrun(1), mcdisplay(1), mcplot(1), mcgui(1), mcdoc(1), mcformat(1), mcconvert(1)

web site: <http://www.mcstas.org>

mailing list: <mailto:neutron-mc@risoe.dk>

matlab(1), idl(1), scilab(1), octave(1), vitess(1), NISP(1), restrax(1), mcnp(1), tripoli(1)