Open source code of BurnuP Simulation
The OpenBPS is open source code is developing to solve wide range problems with nuclide concetration changed over time of modelling process including as simulation with induced external partical source like depletion, transmutation, activation (e.g. by neutrons in a nuclear reactor) well as simple nucleus decay. The code implments three main approaches to solve Baetmans equation:
- Iteration method with uncetainity analysis option [1].
- Chebyshev reational approximation method (CRAM) [2].
- Direct analytical Baetman method [3] (this method currently under development).
The OpenPBS relies on state of the art open source, open access instruments and data sources both to work and prepare input data and to solve linear equation system. The information about every nucleus could be obtained using python modules of the OpenMC[4] is a community-developed Monte Carlo neutron and photon transport simulation code and the next ENDF formated nuclear data libraries:
- ENDFB-VII.1, ENDFB-VIII.0 https://www.nndc.bnl.gov/exfor
- JEFF-3.3 https://www.oecd-nea.org/dbdata/jeff
- JENDL-4.0 https://wwwndc.jaea.go.jp/ftpnd/jendl/jendl40he.html
- Talys based TENDL-2017[5] https://tendl.web.psi.ch/tendl_2017/tendl2017.html
To solve nuclear reactor depletion problem is necessary to have multigroup cross-section library file which could be obtained by:
- Utilizing open access code PREPRO19 https://www-nds.iaea.org/public/endf/prepro and ENDF formated induced neutron data presented above with python automatization scripts
- Another neutron cross-section multigroup librairies (for example https://www.polymtl.ca/merlin/version5.htm)
Platforms:
- Linux
- Mac OS X
- Windows
- a C++11-standard-compliant compiler
- Python 3.5+ (optional)
libraries:
- Xtl vers 0.6.13 (https://github.com/xtensor-stack/xtl)
- Xtensor vers 0.21.4 (https://github.com/xtensor-stack/xtensor)
- Eigen vers 3.3.7 (https://gitlab.com/libeigen/eigen)
- Google-test vers 1.10.x (https://github.com/google/googletest)
- Python Openmc package 0.12.0+ (optional to proceed ENDF formatted nuclear data libraries: https://github.com/openmc-dev/openmc)
Build OpenBPS using CMake:
mkdir build && cd build
cmake ..
with Optimization:
cmake -Doptimize=ON ..
Config default
<?xml version="1.0"?>
<configure>
<chain>./examples/chain_endfb71.xml</chain>
<nuclides>./examples/nuclides.xml</nuclides>
<reaction>./examples/reactions.xml</reaction>
<inpmaterials>./examples/materials_test.xml</inpmaterials>
<numbers>1</numbers>
<timestep>720000</timestep>
<method>chebyshev</method>
<decaykey>true</decaykey>
<epb>1.e-5</epb>
<cram_order>16</cram_order>
</configure>