From de70d59ffdd7e7956ca383d262d9d632eebb9609 Mon Sep 17 00:00:00 2001 From: Stafie Alex PSI Date: Wed, 8 Oct 2025 13:11:16 +0200 Subject: [PATCH] first files --- README.md | 139 +++++++++------ README_LIB.md | 2 + scripts/openmc_run.sh | 112 ++++++++++++ tests/single_py_test/icf4_openmc_300K.py | 217 +++++++++++++++++++++++ tests/single_py_test/model.xml | 185 +++++++++++++++++++ tests/single_py_test/statepoint.50.h5 | Bin 0 -> 125024 bytes tests/single_py_test/summary.h5 | Bin 0 -> 99152 bytes tests/xml_test/README.md | 3 + tests/xml_test/model.xml | 185 +++++++++++++++++++ 9 files changed, 790 insertions(+), 53 deletions(-) create mode 100644 scripts/openmc_run.sh create mode 100644 tests/single_py_test/icf4_openmc_300K.py create mode 100644 tests/single_py_test/model.xml create mode 100644 tests/single_py_test/statepoint.50.h5 create mode 100644 tests/single_py_test/summary.h5 create mode 100644 tests/xml_test/README.md create mode 100644 tests/xml_test/model.xml diff --git a/README.md b/README.md index 9ab5014..ee1aae6 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,109 @@ # OpenMC -## Building the f***er +## Make your own env and compile it -### Make your own env and compile it -Complicated and not really worth it +My recomandation for the env: -install direnv --> hook -install pyen --> hook in bachrc -install python 3.12.0 +* install direnv --> hook -install miniconda (not) -install conda (not) +* install pyen --> hook in bachrc -install the api +* install python 3.12.0 + +* install miniconda (not) + +* install conda (not) + +* install the api + +## Quick Install Guide + +[From the devs](https://docs.openmc.org/en/stable/quickinstall.html) # Making OpenMC work on WSL/LCLRS/MERLIN via Apptainer -Even though the website says to use the docker, we'll make use of apptainer, because is more friendly and is available on all platforms +Even though the website says to use the docker, we'll make use of apptainer, because is more friendly and is available on all platforms (LCLRS and MERLIN). Docker works as well, but I find it cumbersome. -Docker works as well, but I find it cumbersome - -You can try to compile it yourself but good luck with that +This will make a sif image for the container to run from, localy in the folder ``` -# This will make a sif image for the container to run from, localy in the folder apptainer pull openmc.sif docker://openmc/openmc:latest ``` -Paste this script, it picks up the container and runs the python with the OpenMC python API for yout python file. +To run use this script to call apptainer opemnc container [scripts/openmc_run.sh](scripts/openmc_run.sh). ``` -#!/bin/bash - -# Full path to your OpenMC Apptainer container -SIF="/afs/psi.ch/project/stars/workspace/RND/SB-RND-ACT-004-25/SC41/openmc/openmc_apptainer/openmc.sif" - -# Current working directory (host machine) -HOST_DIR="$(pwd)" - -# Container directory where the current folder will be mounted -CONTAINER_DIR="/workspace" - -# Check if the user provided the Python script to run as the first argument -if [ -z "$1" ]; then - echo "Usage: $0 your_script.py [additional python args]" - exit 1 -fi - -PYTHON_SCRIPT="$1" -shift # remove first arg so that $@ contains any extra python arguments - -# Check if the Python script exists in the current directory -if [ ! -f "${HOST_DIR}/${PYTHON_SCRIPT}" ]; then - echo "Error: Python script '${PYTHON_SCRIPT}' not found in current directory." - exit 1 -fi - -# Log file name (same folder, same name with .log) -LOG_FILE="${HOST_DIR}/${PYTHON_SCRIPT%.*}.log" - -# Run the Python script inside the container with folder bind -apptainer exec \ - --bind "${HOST_DIR}:${CONTAINER_DIR}" \ - --bind "PUT YOU PATH TO THE LIBS HERE/openmc/lib_mine:/libs" \ - --pwd "${CONTAINER_DIR}" "${SIF}" \ - python3.11 "${CONTAINER_DIR}/${PYTHON_SCRIPT}" "$@" | tee "${LOG_FILE}" +# ================================================================ +# OpenMC + Python Runner (Apptainer-based) +# ================================================================ +# Description: +# This script runs either: +# (1) OpenMC directly inside an Apptainer container, or +# (2) a Python script using the same container environment. +# +# Usage: +# ./run_openmc.sh → Run OpenMC in the container +# ./run_openmc.sh script.py args → Run Python script with args +# ./run_openmc.sh -h | --help → Show help +# +# Behavior: +# - The current working directory is mounted into /workspace inside the container. +# - The OpenMC library directory is mounted into /libs. +# - The output log is saved in the same directory as the run: +# * openmc_run.log for OpenMC runs +# * .log for Python runs +# +# Example: +# ./run_openmc.sh # Run OpenMC normally +# ./run_openmc.sh input.py # API can be called inside the script ``` -NOTE: If you want to use more libsm, the apptainer needs the path binded to that place if not inside workdirectory of the apptainer. I preffer to have them in permanent place and run the apptainer anywhere. -To use other libs for OpenMC, use os to find the path binded in the apptainer: + +# OpenMC libraries + +[Nuclear library status](README_LIB.md) + +NOTE: this is a work in progress, and currently not hosted on a public folder. + +## Setting the Cross Section Library in OpenMC + +By default, OpenMC locates the cross section library using the environment variable +OPENMC_CROSS_SECTIONS. But avoid doing this inside long-term scripts — it’s better to keep the path explicit in your model setup. ``` import os -os.environ['OPENMC_CROSS_SECTIONS'] = "/libs/j33/cross_sections.xml" +os.environ['OPENMC_CROSS_SECTIONS'] = f"/libs/e80_hdf5/cross_sections.xml" ``` + +However, you can specify the library path directly in your Python script or XML files — no need to rely on environment variables. + +### Option 1 — Use Materials.cross_sections + +You can embed the path into your exported materials.xml file: + +``` +materials.cross_sections = '/absolute/path/to/cross_sections.xml' +materials.export_to_xml() +``` + +This adds the following line inside your generated XML: +`/absolute/path/to/cross_sections.xml` + +### Option 2 — Use openmc.config + +For newer OpenMC versions, you can configure the cross-section file at runtime: + +``` +openmc.config['cross_sections'] = '/absolute/path/to/cross_sections.xml' +``` + +This temporarily overrides any environment variable and is useful for workflows or notebooks where you don’t want to modify global settings. + +**NOTE**: Depending on the OpenMC version, `openmc.config['cross_sections']` may not be automatically written to XML, in that case, use option 1 to ensure reproducibility. + +### Find more here + +[OpenMC Documentation – Using Cross Section Data](https://docs.openmc.org/en/stable/usersguide/data.html) + +[Python API: openmc.Materials.cross_sections](https://docs.openmc.org/en/stable/pythonapi/generated/openmc.Materials.html) + diff --git a/README_LIB.md b/README_LIB.md index 68718f1..8d8972b 100644 --- a/README_LIB.md +++ b/README_LIB.md @@ -1,3 +1,5 @@ + + ## Libraries info The devs have a guide here on converting: https://github.com/openmc-dev/data diff --git a/scripts/openmc_run.sh b/scripts/openmc_run.sh new file mode 100644 index 0000000..29418ce --- /dev/null +++ b/scripts/openmc_run.sh @@ -0,0 +1,112 @@ +#!/bin/bash +# +# ================================================================ +# OpenMC + Python Runner (Apptainer-based) +# ================================================================ +# Description: +# This script runs either: +# (1) OpenMC directly inside an Apptainer container, or +# (2) a Python script using the same container environment. +# +# Usage: +# ./run_openmc.sh → Run OpenMC in the container +# ./run_openmc.sh script.py args → Run Python script with args +# ./run_openmc.sh -h | --help → Show help +# +# Behavior: +# - The current working directory is mounted into /workspace inside the container. +# - The OpenMC library directory is mounted into /libs. +# - The output log is saved in the same directory as the run: +# * openmc_run.log for OpenMC runs +# * .log for Python runs +# +# Example: +# ./run_openmc.sh # Run OpenMC normally +# ./run_openmc.sh input.py # API can be called inside the script +# +# ================================================================ + +# === Config === +# ================================================================ +# NOTE: Update SIF and LIB_DIR paths as needed !!!!!!!!!!!!!!!!!!! +# ================================================================ +SIF="/afs/psi.ch/project/stars/workspace/RND/SB-RND-ACT-004-25/SC41/openmc/openmc_apptainer/openmc.sif" +LIB_DIR="/afs/psi.ch/project/stars/workspace/RND/SB-RND-ACT-004-25/SC41/openmc/lib_mine" +HOST_DIR="$(pwd)" +CONTAINER_DIR="/workspace" + +# === Help === +show_help() { +cat << EOF +Usage: $(basename "$0") [script.py [args...]] + +Run OpenMC or a Python script inside an Apptainer container. + +Options: + -h, --help Show this help message and exit + +Modes: + • No arguments → Runs OpenMC inside the container + • script.py [args...] → Runs the given Python script using py + +Examples: + $(basename "$0") # Run OpenMC normally + $(basename "$0") run_case.py # Run Python script + +Environment: + Container: ${SIF} + Host dir : ${HOST_DIR} + Lib dir : ${LIB_DIR} +EOF +} + +# === Handle Help Flag === +if [[ "$1" == "-h" || "$1" == "--help" ]]; then + show_help + exit 0 +fi + +# === Mode === +if [ -z "$1" ]; then + MODE="openmc" +else + MODE="python" + PYTHON_SCRIPT="$1" + shift +fi + +# === Log File === +if [ "$MODE" = "openmc" ]; then + LOG_FILE="${HOST_DIR}/openmc_run.log" +else + if [ ! -f "${HOST_DIR}/${PYTHON_SCRIPT}" ]; then + echo "Error: Python script '${PYTHON_SCRIPT}' not found in ${HOST_DIR}." + exit 1 + fi + LOG_FILE="${HOST_DIR}/${PYTHON_SCRIPT%.*}.log" +fi + +echo "---------------------------------------------------------------" +echo " Running in container: ${SIF}" +echo " Host directory : ${HOST_DIR}" +echo " Container directory : ${CONTAINER_DIR}" +echo " Library mount : ${LIB_DIR} -> /libs" +echo " Log file : ${LOG_FILE}" +echo "---------------------------------------------------------------" + +# === Exec=== +if [ "$MODE" = "openmc" ]; then + echo ">>> Starting OpenMC run..." + apptainer exec \ + --bind "${HOST_DIR}:${CONTAINER_DIR}" \ + --bind "${LIB_DIR}:/libs" \ + --pwd "${CONTAINER_DIR}" "${SIF}" \ + openmc | tee "${LOG_FILE}" +else + echo ">>> Running Python script: ${PYTHON_SCRIPT}" + apptainer exec \ + --bind "${HOST_DIR}:${CONTAINER_DIR}" \ + --bind "${LIB_DIR}:/libs" \ + --pwd "${CONTAINER_DIR}" "${SIF}" \ + python3.11 "${CONTAINER_DIR}/${PYTHON_SCRIPT}" "$@" | tee "${LOG_FILE}" +fi diff --git a/tests/single_py_test/icf4_openmc_300K.py b/tests/single_py_test/icf4_openmc_300K.py new file mode 100644 index 0000000..ec6eebc --- /dev/null +++ b/tests/single_py_test/icf4_openmc_300K.py @@ -0,0 +1,217 @@ +# ICSBEP / ICF-4 / 300K +import os +import openmc + +#NOTE: use the endf8 library for this case + +def main(): + + name = "icf4_300K" + + # --- Material 1 --- + m1 = openmc.Material(1, name="M1") + m1.set_density("atom/b-cm", 0.0562661) + m1.add_nuclide("U235", 0.08064591026605385) + m1.add_nuclide("U238", 0.2987874253803838) + m1.add_nuclide("U234", 0.000782176270610215) + m1.add_nuclide("U236", 0.00037497007895844983) + m1.add_nuclide("Cr50", 0.0011140013571911743) + m1.add_nuclide("Cr52", 0.02148274408316513) + m1.add_nuclide("Cr53", 0.0024356766458088507) + m1.add_nuclide("Cr54", 0.0006063545616828636) + m1.add_nuclide("Ni58", 0.0075112026481007205) + m1.add_nuclide("Ni60", 0.0028715875158215015) + m1.add_nuclide("Ni61", 0.0001243249721034816) + m1.add_nuclide("Ni62", 0.0003949785780598581) + m1.add_nuclide("Ni64", 0.0001001201621805832) + m1.add_nuclide("Fe54", 0.005965991298505994) + m1.add_nuclide("Fe56", 0.0943449252086498) + m1.add_nuclide("Fe57", 0.002262961603823164) + m1.add_nuclide("Fe58", 0.0002880136181719331) + m1.add_nuclide("C12", 0.4707169142835671) + m1.add_nuclide("C13", 0.00528360870568438) + m1.add_nuclide("Mn55", 0.001282111494116304) + m1.add_nuclide("H1", 0.00016963112409256498) + m1.add_nuclide("Si28", 0.0011956811050773462) + m1.add_nuclide("Si29", 6.0710812391585325e-05) + m1.add_nuclide("Si30", 4.0020197287768004e-05) + m1.add_nuclide("Cl35", 0.00022152952380477358) + m1.add_nuclide("Cl37", 7.084142579786864e-05) + m1.add_nuclide("F19", 0.0008655870789089621) + + # --- Material 2 --- + m2 = openmc.Material(2, name="M2") + m2.set_density("atom/b-cm", 0.04780729) + m2.add_nuclide("U235", 0.0016836235842144786) + m2.add_nuclide("U238", 0.8281538364818118) + m2.add_nuclide("Cr50", 0.0013261551739896448) + m2.add_nuclide("Cr52", 0.025573917921372424) + m2.add_nuclide("Cr53", 0.002899536183231686) + m2.add_nuclide("Cr54", 0.0007218311648468507) + m2.add_nuclide("Ni58", 0.008901255420204502) + m2.add_nuclide("Ni60", 0.003403015763450752) + m2.add_nuclide("Ni61", 0.0001473331437985464) + m2.add_nuclide("Ni62", 0.000468074946339598) + m2.add_nuclide("Ni64", 0.00011864882232176996) + m2.add_nuclide("Fe54", 0.0071140179556154854) + m2.add_nuclide("Fe56", 0.11249955240100547) + m2.add_nuclide("Fe57", 0.002698416276135454) + m2.add_nuclide("Fe58", 0.00034343498893821256) + m2.add_nuclide("C12", 0.0002706594943184297) + m2.add_nuclide("C13", 3.0380296730792322e-06) + m2.add_nuclide("Mn55", 0.001494876264226662) + m2.add_nuclide("H1", 7.944121285112521e-05) + m2.add_nuclide("Si28", 0.001434655337286459) + m2.add_nuclide("Si29", 7.284494007912343e-05) + m2.add_nuclide("Si30", 4.8018815884083865e-05) + m2.add_nuclide("Cl35", 0.00010402448711154312) + m2.add_nuclide("Cl37", 3.326542088948014e-05) + m2.add_nuclide("F19", 0.0004065257704029714) + + # --- Material 3 --- + m3 = openmc.Material(3, name="M3") + m3.set_density("atom/b-cm", 0.04631738) + m3.add_nuclide("U235", 0.001753313663083676) + m3.add_nuclide("U238", 0.8636304046524018) + m3.add_nuclide("Cr50", 0.0010427834463128853) + m3.add_nuclide("Cr52", 0.0201092968742683) + m3.add_nuclide("Cr53", 0.002279964750771927) + m3.add_nuclide("Cr54", 0.0005675903611907769) + m3.add_nuclide("Ni58", 0.00670866922101721) + m3.add_nuclide("Ni60", 0.002564760635579341) + m3.add_nuclide("Ni61", 0.00011104124835026922) + m3.add_nuclide("Ni62", 0.0003527768417093242) + m3.add_nuclide("Ni64", 8.942258294390431e-05) + m3.add_nuclide("Fe54", 0.005679098956533006) + m3.add_nuclide("Fe56", 0.08980796741390752) + m3.add_nuclide("Fe57", 0.002154145897136594) + m3.add_nuclide("Fe58", 0.0002741627278619469) + m3.add_nuclide("C12", 0.0001853304200670559) + m3.add_nuclide("C13", 2.0802578707112727e-06) + m3.add_nuclide("Mn55", 0.0009496197193374876) + m3.add_nuclide("H1", 5.422910042188016e-05) + m3.add_nuclide("Si28", 0.0012090968160231778) + m3.add_nuclide("Si29", 6.139206992400704e-05) + m3.add_nuclide("Si30", 4.0469255580286584e-05) + m3.add_nuclide("Cl35", 7.122833382813937e-05) + m3.add_nuclide("Cl37", 2.2777625538004806e-05) + m3.add_nuclide("F19", 0.0002783771283406375) + + # --- Material 4 --- + m4 = openmc.Material(4, name="M4") + m4.set_density("atom/b-cm", 0.02538865) + m4.add_nuclide("Cr50", 0.006033405710775352) + m4.add_nuclide("Cr52", 0.11634964834444418) + m4.add_nuclide("Cr53", 0.013191566177242707) + m4.add_nuclide("Cr54", 0.003284007385066335) + m4.add_nuclide("Ni58", 0.04413744683011981) + m4.add_nuclide("Ni60", 0.01687411786107181) + m4.add_nuclide("Ni61", 0.0007305627962100877) + m4.add_nuclide("Ni62", 0.002320994222341612) + m4.add_nuclide("Ni64", 0.000588329924019326) + m4.add_nuclide("Fe54", 0.04468926830817153) + m4.add_nuclide("Fe56", 0.7067056749212992) + m4.add_nuclide("Fe57", 0.016951042011438332) + m4.add_nuclide("Fe58", 0.002157409285678913) + m4.add_nuclide("C12", 0.010534827382377135) + m4.add_nuclide("C13", 0.00011824892255369858) + m4.add_nuclide("Mo100", 2.301134951161478e-07) + m4.add_nuclide("Mo92", 3.546089107607973e-07) + m4.add_nuclide("Mo94", 2.210330580319191e-07) + m4.add_nuclide("Mo95", 3.8041572249666365e-07) + m4.add_nuclide("Mo96", 3.9857580891140507e-07) + m4.add_nuclide("Mo97", 2.2820201072429555e-07) + m4.add_nuclide("Mo98", 5.766002711882194e-07) + m4.add_nuclide("Mn55", 0.009393372247906123) + m4.add_nuclide("Cu63", 9.973395308990324e-06) + m4.add_nuclide("Cu65", 4.445254831651622e-06) + m4.add_nuclide("Si28", 0.005463032632712042) + m4.add_nuclide("Si29", 0.0002773858078590539) + m4.add_nuclide("Si30", 0.00018285102929469152) + + # --- Material 5 --- + m5 = openmc.Material(5, name="M5") + m5.set_density("atom/b-cm", 0.006197096) + m5.add_nuclide("Cr50", 0.007779774195265166) + m5.add_nuclide("Cr52", 0.15002706840853466) + m5.add_nuclide("Cr53", 0.017009743999359006) + m5.add_nuclide("Cr54", 0.004234548586549593) + m5.add_nuclide("Ni58", 0.04996566915644023) + m5.add_nuclide("Ni60", 0.019102176007780216) + m5.add_nuclide("Ni61", 0.0008270262074712773) + m5.add_nuclide("Ni62", 0.0026274568844234752) + m5.add_nuclide("Ni64", 0.0006660120556518238) + m5.add_nuclide("Fe54", 0.042394218376218776) + m5.add_nuclide("Fe56", 0.670414118209835) + m5.add_nuclide("Fe57", 0.016080631250219836) + m5.add_nuclide("Fe58", 0.00204662022102314) + m5.add_nuclide("Mn55", 0.00701872406174801) + m5.add_nuclide("Si28", 0.009044269892372461) + m5.add_nuclide("Si29", 0.00045922484425739077) + m5.add_nuclide("Si30", 0.00030271764285015335) + + materials = openmc.Materials([m1, m2, m3, m4, m5]) + + # Surfaces + s1 = openmc.ZCylinder(r=26.50215, boundary_type="transmission") + s2 = openmc.ZCylinder(r=56.99622, boundary_type="transmission") + s3 = openmc.ZCylinder(r=96.82257, boundary_type="transmission") + s4 = openmc.ZPlane(z0=-22.94427, boundary_type="transmission") + s5 = openmc.ZPlane(z0=22.94427, boundary_type="transmission") + s6 = openmc.ZPlane(z0=-38.18427, boundary_type="transmission") + s7 = openmc.ZPlane(z0=38.18427, boundary_type="transmission") + s8 = openmc.ZPlane(z0=-38.88762, boundary_type="transmission") + s9 = openmc.ZPlane(z0=38.88762, boundary_type="transmission") + s10 = openmc.ZPlane(z0=-54.12762, boundary_type="transmission") + s11 = openmc.ZPlane(z0=54.12762, boundary_type="transmission") + s12 = openmc.ZPlane(z0=-53.34, boundary_type="transmission") + s13 = openmc.ZPlane(z0=53.34, boundary_type="transmission") + s14 = openmc.ZPlane(z0=-85.09, boundary_type="vacuum") + s15 = openmc.ZPlane(z0=85.09, boundary_type="vacuum") + + # Cells + c1 = openmc.Cell(1, fill=m1, region=-s1 & +s4 & -s5) # core + c2 = openmc.Cell(2, fill=m2, region=-s1 & -s4 & +s6) # inner ax blkt-bottom + c3 = openmc.Cell(3, fill=m2, region=-s1 & +s5 & -s7) # inner ax blkt-top + c4 = openmc.Cell(4, fill=m4, region=-s1 & -s6 & +s8) # drawer gap-bottom + c5 = openmc.Cell(5, fill=m4, region=-s1 & +s7 & -s9) # drawer gap-top + c6 = openmc.Cell(6, fill=m2, region=-s1 & -s8 & +s10) # outer ax blkt-bottom + c7 = openmc.Cell(7, fill=m2, region=-s1 & +s9 & -s11) # outer ax blkt-top + c8 = openmc.Cell(8, fill=m3, region=+s1 & -s2 & +s12 & -s13) # radial bklt + c9 = openmc.Cell(9, fill=m5, region=+s1 & -s2 & +s10 & -s12) # matrix-rb lower + c10 = openmc.Cell(10, fill=m5, region=+s1 & -s2 & -s11 & +s13) # matrix-rb upper + c11 = openmc.Cell(11, fill=m5, region=-s3 & -s10 & +s14) # matrix-bottom + c12 = openmc.Cell(12, fill=m5, region=+s2 & -s3 & +s10 & -s11) # matrix-radial + c13 = openmc.Cell(13, fill=m5, region=-s3 & +s11 & -s15) # matrix-top + c14 = openmc.Cell(14, fill=None, region=+s3 | -s14 | +s15) # external void + + root_universe = openmc.Universe( + cells=[c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14] + ) + geometry = openmc.Geometry(root_universe) + + # Settings + settings = openmc.Settings() + settings.run_mode = "eigenvalue" + settings.particles = 1000 + settings.batches = 50 + settings.inactive = 10 + settings.source = openmc.IndependentSource( + space=openmc.stats.Point((0.0, 0.0, 0.0)) + ) + + # Hard code the cross-sections library path in the xml + materials.cross_sections = f"/libs/e80_hdf5/cross_sections.xml" + + model = openmc.model.Model(geometry, materials, settings) + model.export_to_model_xml() + return materials, geometry, settings, name + + +if __name__ == "__main__": + main() + # NOTE: If you want to set the cross-sections library path via an environment variable + # uncomment one of the following lines + # os.environ['OPENMC_CROSS_SECTIONS'] = f"/libs/e80_hdf5/cross_sections.xml" + # openmc.config['cross_sections'] = f"/libs/e80_hdf5/cross_sections.xml" + openmc.run() diff --git a/tests/single_py_test/model.xml b/tests/single_py_test/model.xml new file mode 100644 index 0000000..c967293 --- /dev/null +++ b/tests/single_py_test/model.xml @@ -0,0 +1,185 @@ + + + + /libs/e80_hdf5/cross_sections.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eigenvalue + 1000 + 50 + 10 + + + 0.0 0.0 0.0 + + + + diff --git a/tests/single_py_test/statepoint.50.h5 b/tests/single_py_test/statepoint.50.h5 new file mode 100644 index 0000000000000000000000000000000000000000..b2774e32f62487810811e156ef440d2ca027b0d8 GIT binary patch literal 125024 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 RNPPRh@8|!%pZ{Hw{tt(zz8e4l literal 0 HcmV?d00001 diff --git a/tests/single_py_test/summary.h5 b/tests/single_py_test/summary.h5 new file mode 100644 index 0000000000000000000000000000000000000000..80fba3ea2f1b42c718b8e246800d52a069e3e9da GIT binary patch literal 99152 zcmeHQ349bq*6$%4L9XHYh@eZ0AQ3m~OfCXwcVhq}5Ewu(xF{3C09kX4A;EBI6czA{ zxQlUjaifb%R8+jP=n8^J6ctzmgNop_1n~e@C8#T3Ro8nNx@Nj(1}0>V?)*}(tKO^X zs#mXG{j0jCdwJG~QJv1}eU?Cv_;{hUU{y~sI01)aiA7DqIP#rv!nlI44B|Dd*oj4G zD^Oknq+6kUF^(lNTL4(tq- zQB;;!kU!Hk7vqJwc_qbj^NQX1d1~5hS8<`Mv}8W=i>4Rmmbyyva|>7&ZA=ilg1z!~ z-BGZqMOcLPLOl7Km0#d0o$q#Gx!uVLHCe3Z+_J*LTyoitf})C8NS=;lRLpag%*`(@ z60F3qTdN$A@hvPTHV;%hoLcHQ^mX7tR1w%!-18BG%m|PZ=m$gA#o?|S_;U33m2FNL6up~&}2o|5ioJZ5R ztblkmrzb9Zvq#Z?^7ZK`uohZ`4#a=O3q{klp4&=l#@eQ+bwn-nhZtgDuQydq(fAEY8I>$6#9Os$r8YSp^2b>cJF{!lGXh~ZB2N!0{CV1c z=6F^BYI2JQ%#XKfTGb@}pK+D2|95cxZ=5Uoxs#Jq(gcBo#BGx>RSnYxA+scn06r2X zt6_>767IPCG$J`JKb>$%XjelbL(U0zlq-#eqy%z4SPhAMrk#k8kQ5_i7p0LaW|5qN zFeyKoa7j3XhAH%l1++dSqmT-AC+eCk`2_tm^vczg~N3tkR)>;*EE`IZ!$J z{phK;*IlS2PqqzuY}gpZvT13zq~qVphc2+kuYF~h@(sECwd*fY9{P688)II&R4Kl> z^_F`l4_6*IQF-If6E9PKOq_P_rrpWPWzH{l^xK@HEc^b$_ix@hMWM|bJL)P$9DX$K z?c1(Wy60}*bh z7gNQgG+Z9h3G}wC}psiG{lcc5?PVh zP)4URLrA;qMlyCWDOt296R{K&qbn!AMoi2`#FA00jh+~}qUb5jmsnB?Daa<;Q;o_Z zbxI)(Jh=fnWs&P8*_(RKmr#nhh=`<;&?84TU`P|xgBU<*Np8{H!u+{(vAQ5BZ+=03 z(M(qf3Lve0I_}_I6+@MPGu*tr%lWt7G&b-IUk_US%j(n|?+osO+#*+ps*O*+d^CNd z*Y!{4>g4Ueb6eudUYR<1fvb~u#NUT4TXnr&Uf}BF%}X5k!DQ{+$hLo)zM<`*ch}15#G%d`>a;Lj7g5$Y77&JgMZq0SHL^l(kptCmhHOXPW5ep=aO z@O|>4$L_uMt8VS&2RnCod_mtIrR7_?|N4g_tGv0yxpv<>ljQAPSGy{HJWpQLm~=(I z&n$9EalUQwv%}Fi@tWx<=$o7L}28?J1B9UFG2y|2Ly{&D)aeua?}$KHDUH_m4;a^U3*NN|_hzA9L`f z9g^^5kK1=IYcFRfCm#OIyyOKna&}7ErE8ssUR)z*r~Y#Orm}@69+b1w?0sgB7H7nSz?I==Fk=kI>;f*uPn|Lj8g8E2+i{tvU z5%vSDPqYRgn7*t*8so%RG>!HU`JTNJXe9bLp`^wWL9pTXMek_D4*{6 zHYF6~mX_w9#K%E|c8cZU`jg+s^6YEV{b{=XWLLJ5jBIVBs6}A8uqY(51Xz>9v!A1_ zsa}4%_e>8@{*G{6ZOioXV?8|iaX(3`3BCO6>a^bU&$FL|`myz45)K%rY&^&5?kDXy zkI6e35tQfHi3stmh3q5?;wFhM4d8fQ2hGA+s%imC(6h6KTNyuosj*!By^P;@AEOwu zeU8>JM#)$OyT$Rr+p!HYirhYQO%}^hH=0p8Zs<`pl~FA3z$+{+KzLiw< zLBX6L7^Xz8e=_>A3g?{1sK0qV5jNOxKPgO`YgVh7G{E}-CtPRUh3rJn&fFIgRtFzRJbk>I8PR^0$Ga8u!32W?@vhTmAVgRSuq){!4hBae@Z9S2 z5Bh@Wryb;32BQQ0N&N4Oq(aa0Z&!ih-OItAOuS2bDb6w)^npFg`Yv|y?!*|;N3eMJ zYS4>`cj*X;9=v;Pfc75VcsG71^IKXk#?s6%`Zb`3cPnMqc0C+xyNdB0P4}g!r1$+> zaR!r9W-^MQe_Rr*pPd!aewN3(?n_ZqzA55e$1vY~OjY2dLc$c^6!EU}65o7Gb-;w{-iO(H@~@3{o7Tbc=r!rPbS`_eHCXZ3~;`yYObygNx8w;2eo1S{qC|D(MPa; zcrob3#JkjBqX+Na9H702H{NX=!Q2SWPb_AJv7!MzyjwAvX+RI}S_>K9R%|RMfccB? zycz1%|GX2dpIsi&ewN3(&MefFZ<+wf$|&D_OjY2-eFdiYriqa3xZF1%Qyp+(8-ppn zDf*KJ*#Gw}75Y^Fb`>bzy&LSw#JjYY;w+T`&UdkbcdKGVAHn+JYS4>`cj>r^9=y9c zKzk2wyxTCI_6q)Xgq@pV>}Ws_@46>59q8d*{&`_Nx!OlrIrVF_I`xlBg7vd&BihgM zc-JvWt1mu=c-J<8=V;>!M4eY^)A<lnYT>G!i#())P^{&%-5S93hSyFH@)ERT1UYf)3aDdJsmnr}X) zDsbYMjw!w=;$7P{zWJEyfD>yjrue3ackAGJ7vEB$PYoU3-39g(J9wAABuW4N{T|Q< zmGT_1`~2>H&<9#N(@FH{BUrq95cFc=U1|~0gLe-HXz$^Tck9^C2AkeH;_+nWSuAKk z5AQmzW3AW2yX6}gzv?w(xdU~e#ce==_{Sx|`q}?Rw4deit}S1yFFuBN*E*Z$XyXb* zl|N|H`559|aSqSX#vK?fz!TpTQ9$iX-~8rE^>0^!?(ZH0douAZ?W;J;PoNJI?=pSF zb!9e;md;`(-t7Q-G4U?7i0Hw)T>`ZC@W#8fZeOF8rI}&$Yd{b0D)U&|_3*B+lkvq} z#&Y6b##cUM6hr^GBv`!LE28}@k9WmV)Rb?EcvmR#&Bs&)PHbhE;+rDgwa)d;$5h0- zN5DQXou`NbYT)^9p5I(?|8^B9-t7bS6gzmAzW82$fA=?_4=Uw3q7UDB?1S2{zCH$l zKG4#cPNGjA!TRCki1x#1+2;Gm`0r(<2Wao%jd!aTvmVxtTI_X`M!N>|@NVJ~)^a_( zt9-)v&d-eHoQD{{;xMCpNWVTH+Q~PlC?)UUQYm?NmP*Mx(Ns#_eWgHh7?gJa`J74&iJWnfQK z%5y{?j`irnc%3s6^kJ@Zs5Qh{CV)QB(wU7!pM3=Dho?rgAI6bxu5|vN)zXgI7OARv(H78v-a04Y9#$E>b&l;j#&>*gEa&)%@!h{LilKj860Dzf zMYNyg@owXts43qR@oxQc-+W9};3WQTOz}+CooiX0c2YWK{F72^6O9AM^#Jfx%o#pXKpx!%AcOL%dt}M`Jk!*o_Yu%OT#a|C6yC;@w)X4?Su0C+-z`63vtDfBp^> z?^c36#SY#*i*$+pe)s*L4=Uw3qHjObV;|Ip_4TnT!1+Jc@b04#?T68_O}xwF-Nyp7 z_wdHM?uS?pPtlVT&Si39-{!`<&qTDJoOQct@_6$!QMx!k7z&3H zY@NjLYlC8pcb&r-zamqMcNxBGBg_Fc*TDBEP>TOPi5ukHQ?Xu*^6!7Pf?WA|S~>Sc zEM5t}FGRdp&B-~*Zz1VXk-@0Qh_DXwVf`G#8N;0k0xd-R&$h z7_@@}FB;1!z_zY8mP-Wok(Z3+aNV#2#+jZp`sHQM>q#_Ex_`S0blqU-#%dTl>xNFG z!TRf{)}Rk6ZI(KK5pto+Q$zuGv(Z+I)v5fB? z$0#b#-|tc9yv`&MhhaXG#)byaE_0x{3eeiuwC$hmDlVK}I^PYi;TL8Umle&-Et!vL z$jU2r&6<^;m+vYnRo_^M)|j9zPGIYf)=ls8cg|!2D9^vQy$bRxE3|U_^Zzv<7Z1kRwitJr4cI%j8p|Qt&e?1%hkkV9 z8^&_s&JD({jGuE#1iOlz=bVi1gQbE#qU}By8*vs3^SJ0mJTyUl_gGg^2A{78sU3vW z6Cj|!{+B>sIHK9e@m}wix9E`ahqIQw&8mm~p+zfeUi^$}Ko4h$+q6{)HO>mgkJF*3 zKMtovB|g~kj#mGC4DrE{?L0>tM|@Du^`}-!5ODk-c$eoyRy-KHGR6l}O?*JQK3-t+ zTb#vZ;sbRk1d0!eqXHk)yvN2r`iIE!24-zfR|9(ZK-r}&IehWK(x}7-M|NxV&&LoS zSnGL?Hjen9itA6Ulm{OO@AI6QD$2A5=#LKB)VMjeip# zM3x^6Rc-a~fs^}wSNP(C+Ni__){l*Q81aGafUz9ngIcaX`CK^u#r-@dvf`n`2QSAQ zK4?d}T7REzE9iqtc@FRW@+uEA49~pngYA#t{ROL5z#?MQ9AC-7U z_*SbgK8AQkJj!#lal|tPTJb1=>gy%$7JQ%w&#xuuEJVUzPgJs#3O9To4fPRfJQIu`H^v9uU>s5@&*41|!+W2W z|GkBH%+nTMXNV7!M6^uTN z?}wac;sezT0^RROj0$|v_&;X*=pQ^I!90rv4d~&6O76R;;foJ!QHc+f6UNqu_`nIj zBh!;ce9*x4CohlV-=W?e=DCp*4`x0z#s?`TJ|Nxh**}m?e4q}4K=Hw-sK5u#c5MF_ z{X^t<0<)%}(10F3SO?#m#A}2aAF%au8zBoWpe$e~csD}%gvFh3pFaoW=5TV(LyS=Y z_iyHaT;fu8g5~kwjmM{$9Go2g-S}ltUcw4(dHi=dLF|l^VCF;PeVB1kiL+|r(E@yT z4dSf2vyA29A-kikv0Ng^)wVa5^Ieny; z16Jk_&_9IFNH=S8CN!Xjvl8IFcUXr|<18$9Zdu8!+&q_PhXjl#bMX`|p3243xH!D_ zTEOxKbNmc0K7@YgRv`P{8bEgW!?v)y&Gp)2>LLe zlL_oOnOi_#I0D%i@xG6WE9#aRL;ijjv@C)71N09qQ%m!zEv12A{HgIgeMeNz(>u;K zo-c8pKGMfn4!uNqFJn0zhX;Ba%e9of1bW?I?8;e!hJ&Lq|))cAls&)Qa~gA2I7 zVkbB|@$cKH2f4;IS~(?&<#0lM8$eF1(aP1NGr779MiW488Tb9T16U#W9!Da`If}LA z2|HO_+{Gw9w^7c?iF+Ae@$-I8CKY@b%zS9P5A!+rv*>!BqC5pH%C~M2XH}&c%f&-> z(QYh<_OdM1Sk8BC!Y4HtyJ}0St^Z!pgJ4%w%5!+%53lkt!|*H^eb6T*^!4#I=)-)T zBCzKvz6X8b2xP|LZ9nBLYBm0zr*I5q{s8?$i&oaW_!-xL9?oh2Jc1PpHO>mgZyDo* zU!oEpR1Gtprx732UTQ3d-boo^EQjO2<`QE$w1;q|!Pu2CJ~(0G1JcQ!eV8^qSf88t zATWH;5%h&4kZCW{@IhlH^9R~igzM-x>lJDZ@c01tC*p@|=ZUhS{CTdDxlKPzL9TL& z74nN)N11kcimHu@Y`k5H(5hj^IEdsoF>o|6D-{HMKN*`t1fc=OOOxDqc4mWmpq=l?Vd*H>2=Rp9vy?=r zhdW;@R|WCf>sUIXL~DswE(78@r7Ruwv2KA@t{&ozib_KcIRFz&6KzB&r5g%+WM z(2>m4GhOZiS848y0<{+ffydR@3J-0|*5Z(WD{JJ(kuvFdck zF0b-1!|;sRYirQ9AXHCAP57=X+I7|>V>ugS-*}a=oCtF3rWnilu1)x)`p1{2`hC@@ z0piSM;iC*v6K{PmPlxN`K2TevCy%=}gr`65azP(UHSP5tcag4-Q?-`{&`-S|{gi9? zXF6gLeB-=InD26+LjG`G<22?s#53Ih^Lk;S0X>|T0d|Cy3^mR}e8S_j@WCe=d$P7i z7d}z0HO2{uPa3%XM>{}@_{2HKxI7UuIHnuRVY%T-z2{@5DQwlLfB$_G*cob`X&}<) zA_${j z+`aLhvwO#eIaQpZxPJ2vzFFEh|Km$P{O~<#x=?#4|EcxT ztG`ygAD8>R)S^n<_wq%_d#>my4{S5yoVE*B%TG*QfAEhJ+sl?^W2=YVHcqzAyvY6D zQ+?!r&rja{Q{~UnpxnK;UT{sS+lKu$S$_qY$O~)a*;4q4avSEIVZ0pB_VkUDGA9{RKpcA%hHJvlaR=$2Fxs&nXu4f z?v)^2K%MahB$^X3Vn?GlN*i+v2`+wh^Fm0l|{N2CYd1v=a z9# zm zRC{^a{nP%Kc*8hZIh->;?vXz7qMjLthu`|MwEdk|%D)+%Dt~tVjQ#2HedX`7rp-V5 zrrlD>qZ7a0)$OQMc%sv$XUFf9dQQ6k^7Vu5^1>eC;^NlV%hy)@E^Src-tx*`i!*Hx zeksjbe?gxw-f1gO&rW#ju^FA@Zd0=-x%Y3C26TAwf?@MFNE+X4MobOFx(2-QVS=g> z+^<0#g!I($;y%DfbsCj>G2EXJt~V}Ege*sjjpaNg zhv%91{1dAEiMP%D3DV`B-_<;t%Pb|b_9wjUqq*=&zZpzFk%>=s!2SI|@kz!!)><(< z-GW)GX4ZfnJ}Cz~!pk=oKH;BBIaPdu_4M`={5%rq^BwO+B|fRR!5AkXK1nPymP33} zJ>OVPgpR2!Hsju1@uS{hp}AC+9#%B0c&3iSh5Czl8a>Mq>)z`vc1~{FaV* z+lLmPpdOH(`u@p^JT{UJXqxP;pK=ZVOh@$gPuz=H?E}Rp^*1tk@k}?syk1ynKo6fJ zfE{5an+u=t&%=ffKKVE*@rhVrj1v%_)N%cfc7PP|iE@i^c_L)6-E1s}<%TQuo`0C8 zuvMo%-yDcae9{#<66wkK#Q6Esl9^1WlQpK`J^w})K0!SoJ#~B83i{Eu-&;Q|i% + + + /libs/e80_hdf5/cross_sections.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eigenvalue + 1000 + 50 + 10 + + + 0.0 0.0 0.0 + + + +