All Projects → kbat → mc-tools

kbat / mc-tools

Licence: LGPL-3.0 license
Some Monte Carlo tools

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
emacs lisp
2029 projects
shell
77523 projects

Projects that are alternatives of or similar to mc-tools

mcxcl
Monte Carlo eXtreme for OpenCL (MCXCL)
Stars: ✭ 36 (+33.33%)
Mutual labels:  monte-carlo
marburg
physics meets neural networks
Stars: ✭ 93 (+244.44%)
Mutual labels:  monte-carlo
ml
machine learning
Stars: ✭ 29 (+7.41%)
Mutual labels:  monte-carlo
weaver
Streamlined neural network training.
Stars: ✭ 22 (-18.52%)
Mutual labels:  root-cern
monte-carlo-ray-tracer
Physically based renderer with Path Tracing and Photon Mapping.
Stars: ✭ 246 (+811.11%)
Mutual labels:  monte-carlo
mcrt
Monte Carlo Raytracer from Scratch in C++11/14
Stars: ✭ 22 (-18.52%)
Mutual labels:  monte-carlo
Stock Prediction Models
Gathers machine learning and deep learning models for Stock forecasting including trading bots and simulations
Stars: ✭ 4,660 (+17159.26%)
Mutual labels:  monte-carlo
LatticeQCD.jl
A native Julia code for lattice QCD with dynamical fermions in 4 dimension.
Stars: ✭ 85 (+214.81%)
Mutual labels:  monte-carlo
financial-engineering
Applications of Monte Carlo methods to financial engineering projects, in Python.
Stars: ✭ 229 (+748.15%)
Mutual labels:  monte-carlo
root-docker
Docker recipes for ROOT
Stars: ✭ 23 (-14.81%)
Mutual labels:  root-cern
admc
Infinite order automatic differentiation for Monte Carlo with unnormalized probability distribution
Stars: ✭ 17 (-37.04%)
Mutual labels:  monte-carlo
mcts
🌳 Domain independent implementation of Monte Carlo Tree Search methods.
Stars: ✭ 15 (-44.44%)
Mutual labels:  monte-carlo
optionmatrix
Financial Derivatives Calculator with 168+ Models (Options Calculator)
Stars: ✭ 121 (+348.15%)
Mutual labels:  monte-carlo
ase exploration
Planning for robotic exploration based on forward simulation
Stars: ✭ 82 (+203.7%)
Mutual labels:  monte-carlo
SpinMonteCarlo.jl
Markov chain Monte Carlo solver for lattice spin systems implemented by Julialang
Stars: ✭ 35 (+29.63%)
Mutual labels:  monte-carlo
sampling-methods-numpy
This repository contains implementations of some basic sampling methods in numpy.
Stars: ✭ 48 (+77.78%)
Mutual labels:  monte-carlo
Bioindustrial-Park
BioSTEAM's Premier Repository for Biorefinery Models and Results
Stars: ✭ 23 (-14.81%)
Mutual labels:  monte-carlo
cmna-pkg
Computational Methods for Numerical Analysis
Stars: ✭ 13 (-51.85%)
Mutual labels:  monte-carlo
PROJ Option Pricing Matlab
Quant Option Pricing - Exotic/Vanilla: Barrier, Asian, European, American, Parisian, Lookback, Cliquet, Variance Swap, Swing, Forward Starting, Step, Fader
Stars: ✭ 85 (+214.81%)
Mutual labels:  monte-carlo
ising-model
Python implementation of the Ising model
Stars: ✭ 37 (+37.04%)
Mutual labels:  monte-carlo

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 the 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.

Generic tools

  • 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

  1. 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
  2. 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)
  3. Add the $MCTOOLS folder into $PYTHONPATH: export PYTHONPATH=$MCTOOLS:$PYTHONPATH
  4. Add the $MCTOOLS/bin folder into your $PATH: export PATH=$MCTOOLS/bin:$PATH

Contacts

e-mail: batkov [аt] gmail.com

List of authors: Nicolò Borghi, Kazuyoshi Furutaka, Konstantin Batkov

See also

http://pyne.io

https://github.com/SAnsell/CombLayer

https://github.com/Lindt8/DCHAIN-Tools

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].