Component Manual for the Neutron Ray-Tracing Package McStas, version 3.8.6

12.25  The Template_surface McStas Component

A template process for building Union surface processes

Identification

Description

This is a template for a new contributor to create their own surface process. The comments in this file are meant to teach the user about creating their own surface component, rather than explaining this one. For comments on how this code works, look in the Mirror_surface.comp. To add a new surface process, three changes are needed in other files: Add entry in surface enum (match your process) Add storage struct in the union-lib.c file Add the surface function in inion-suffix.c switch

Part of the Union components, a set of components that work together and thus sperates geometry and physics within McStas. The use of this component requires other components to be used.

1) One specifies a number of processes using process components like this one 2) These are gathered into material definitions using Union_make_material 3) Geometries are placed using Union_box / Union_cylinder, assigned a material 4) A Union_master component placed after all of the above

Only in step 4 will any simulation happen, and per default all geometries defined before the master, but after the previous will be simulated here.

There is a dedicated manual available for the Union_components

Algorithm: Described elsewhere

Input parameters

Parameters in boldface are required; the others are optional.

Name

Unit

Description

Default

reflect

str

Name of reflectivity file. Format q(Å-1) R(0-1)

0

R0

1

Low-angle reflectivity

0.99

Qc

Å\(^{-1}\)

Critical scattering vector

0.0219

alpha

Å

Slope of reflectivity

6.07

m

1

m-value of material. Zero means completely absorbing.

2

W

Å\(^{-1}\)

Width of supermirror cut-off

0.003

init

string

Name of Union_init component (typically "init", default)

"init"

Links