Skip to content

Creating a material

Sebastiaan Lokhorst edited this page Aug 2, 2016 · 5 revisions

To create a material, you will need ELSEPA (used to generate elastic cross-sections) and the ENDF library (used to look up ionization cross-sections).

Set-up prerequisites

ELSEPA

Download ELSEPA. It has an attribute-only license for non-commercial use.

cd e-scatter/data
tar xf adus_v1_0.tar.gz
cd elsepa
gfortran -O elscata.f -o elscata
gfortran -O elscatm.f -o elscatm

ENDF library

Download the ENDF Evaluated Nuclear Data Library.

cd e-scatter/data
tar xf ENDF-B-VII.1.tar.gz

Create a material

Define the material

The materials are defined in small Python files. Some sample materials are provided in data/materials/*/definition.py.

Generate the cross-sections and compile the material

scripts/make-mat.py is a wrapper around all the programs that generate the cross-sections and compile them into a material file. It takes a material definition Python file as input and creates a binary .mat file as output, which can be used in the simulator.

cd e-scatter
scripts/make-mat.py data/materials/silicon/definition.py

This will create the file data/materials/silicon/silicon.mat.

You can plot the cross-sections with cstool and GNUplot:

bin/cstool plot-mat data/materials/silicon/silicon.mat | gnuplot

Clone this wiki locally