mc-tools
Some Monte Carlo tools for MCNP, MCNPX, PHITS and FLUKA
Project homepage: https://github.com/kbat/mc-tools
MСNР
- Emacs syntax highlighting script for MCNP.
- An implementation of application programming interface (API) to
read data from mctal files. It allows to convert mctal
files into any format. Known issue: tallies with perturbation
records are not supported.
-
mctal2root
script converts mctal to ROOT format. The
tallies are saved as
THnSparse
histograms. The same script can convert mctal to XML format via TXMLFile.
-
mctal2txt
script shows an example how to convert an mctal file into an easily parsable ASCII file.
- WSSA file converters.
-
ssw2txt:
converts WSSA phase space files into plain text. The comments in
the script explain how to derive additional information (like
particle type and surface crossed) from the WSSA records.
-
ssw2root:
converts WSSA phase space files into a ROOT ntuple. The list of
aliases defined in the tree can be printed by the
TTree::GetListOfAliases()::Print() method. In particular, this
list shows how to get particle type and surface number. This
macro
gives several simple examples how to analyse SSW files with
ROOT.
-
vol.py:
a tool to facilitate input of volume/importance/probability values
for all cells in geometry. To be used with cards like area, vol, imp, pd, dxc etc.
For example, in order to set the volume of cell 5 to 3.14, cell 7 to 2.71 in a geometry of 10 cells total, run
python $MCTOOLS/mctools/mcnp/vol.py -card vol -ntotal 10 -values "5 3.14 7 2.71" -default j
.
This generates the required data card: vol 4j 3.1 j 2.7 3j
.
-
mcnpview:
a wrapper around
mcnp ip
which allows to return to the selected
geometry view in subsequent calls of the viewer. Find a detailed
tutorial in the wiki
section.
PHITS
- Emacs syntax highlighting script for PHITS.
- ANGEL to ROOT converter (converts the PHITS output into ROOT). Most of the tallies are supported with PHITS 2, but it does not really work with PHITS 3.
- A script
rotate3dshow.py
which allows to animate the output of the t-3dshow tally. It
runs PHITS to generate many images, so one can get a rotating
video of geometry setup. Example:
snowman.gif
(should be viewed with an image viewer which supports GIF
animation). A simplified version of this script with a detailed
manual can be downloaded from the PHITS website:
http://phits.jaea.go.jp/examples.html
FLUKA
- Emacs syntax highlighting script for FLUKA.
-
fluka2root tool to convert the FLUKA binary output into a ROOT file. To understand how it works, run the standard example
$FLUTIL/rfluka -N0 -M3 $FLUPRO/exmixed.inp
and then execute fluka2root exmixed.inp
. It creates a single ROOT file out of all FLUKA-produced data files converted into the ROOT histograms or trees.
- A more detailed tutorial is available in the wiki section.
- Internally,
fluka2root
uses the following convertes which can be called individually:
-
usbsuw2root script to convert the USRBIN results into a TH3F histogram. Note that this tool does not directly convert the files produced by the USRBIN card, but these files must first be averaged by the $FLUTIL/usbsuw program. The resulting averaged file can be converted into ROOT by usbsuw2root. The $FLUTIL/usbsuw call is done automatically if the fluka2root general converter is used.
-
usxsuw2root script to convert the USRBDX results into a TH2F histogram. + see the comments for the previous item.
-
usrsuw2root script to convertert the
RESNUCLEI results into a TH2F histogram and TGraphError + see the comments for
usbsuw2root
above. Known bug: isomer data is not saved into the ROOT file.
-
ustsuw2root script to convert the USRTRACK results into a TH1F histogram. + see the comments for
usbsuw2root
above.
-
eventdat2root script to convert the EVENTDAT results into a TTree object.
-
plotgeom2root script to convert the PLOTGEOM binary output into a TMultiGraph object.
- A Python module to calculate atomic fractions of isotopes in a
mixture for the given volume fractions of materials. Some examples
can be found in
mixtures.py.
-
ace2root, a converter from ACE (a compact ENDF) to ROOT formats. It loops through all available cross-sections in an ACE file and saves them as TGraph objects. We use this simple script to visualise ENDF cross sections. Requires the PyNE toolkit to be installed.
-
hplot, an advanced TH3 histogram plotter. We use it to visualise data maps and superimpose them with Monte Carlo geometry. A detailed manual can be generted with the
-h
argument.
Requirements
- The ROOT-related scripts (file names end with
*2root
), require ROOT to be compiled with Python 3 support.
- In order to check whether the Python
support in ROOT is set up correctly, say
import ROOT
in the Python 3 shell. You should not see any error messages.
-
hplot
requires the Boost libraries and ROOT to be compiled with at least C++17
standard.
-
ace2root
needs the PyNE toolkit.
- If the GNU parallel tool is
installed then the FLUKA merge and ROOT converter tools called by
the
fluka2root
script will use all available cores which makes
them run faster.
- Linux and MacOS are supported. We have never tried to use these
tools on Windows.
Installation
- Get the source code:
- either
git clone https://github.com/kbat/mc-tools.git
- or download and uncompress
https://github.com/kbat/mc-tools/archive/master.zip
- Set the variable MCTOOLS to the folder where you have installed the
code:
export MCTOOLS=/path/to/mc-tools
(specify the folder containing README.md)
- Add the
$MCTOOLS
folder into $PYTHONPATH
:
export PYTHONPATH=$MCTOOLS:$PYTHONPATH
- Add the
$MCTOOLS/bin
folder into your $PATH
:
export PATH=$MCTOOLS/bin:$PATH
Konstantin Batkov, batkov [аt] gmail.com
Thanks to
- Nicolò Borghi, for implementing all my dreams in the
mctal2root
converter.
- Kazuyoshi Furutaka, for adding the pip installer and helping with the PHITS tools debugging.
- Stuart Ansell, for endless discussions and amazing ideas.
See also
https://github.com/lanl/mcnptools
https://github.com/SAnsell/CombLayer
http://pyne.io
https://github.com/Lindt8/DCHAIN-Tools
Open Source Agenda is not affiliated with "Mc Tools" Project. README Source:
kbat/mc-tools