/papillon-ndl

Papillon Nuclear Data Library

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Papillon Nuclear Data Library

CMake Workflow Documentation Status License DOI

The Papillon Nuclear Data Library (NDL) is a C++/Python library for reading, sampling, and interacting with continuous energy nuclear data, stored in the ACE nuclear data format.

For examples of how to use the library in both C++ and Python, take a look at the documentation site. That is where you will also be able to fined more detailed installation instructions.

License

PapillonNDL is provided under the terms and conditions of the GPLv3 license.

Dependencies

The library may be built on Unix-like operating systems or on Windows. All that is required is cmake >= 3.11, and a C++ compiler which supports the C++20 standard. For Unix-like systems, the recommended compilers are GCC >= 11 or Clang >= 15. On Windows, you should have MSVC >= 19.29. In order to build the Python interface, Python >= 3.5 should be installed on your system, in addition to the Python development libraries and header files.

Tests are not built by default, and should only be needed for developers. You can turn them on by using -DPNDL_TESTS=ON with cmake.

Install

To build PapillonNDL, navigate to the directory where you would like to keep the source files, and then run the following commands:

$ git clone https://github.com/HunterBelanger/papillon-ndl.git
$ cd papillon-ndl
$ cmake -E make_directory build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ cmake --build . --target install

If you do NOT want to build the Python bindings for PapillonNDL, then you should add the flag -DPNDL_PYTHON=OFF to the cmake command.