Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 2.38 KB

File metadata and controls

68 lines (46 loc) · 2.38 KB

ELSA: Engineering Layer for System Analysis

Code style: black

The Engineering Layer for System Analysis (ELSA) codebase is designed to facilitate the creation and manipulation of computational models for nuclear simulations using OpenMC. It provides several utility classes and methods to simplify the process of defining regions, materials, and geometries within a nuclear simulation. Key functionalities include generating OpenMC regions, handling material properties, and providing convenient abstractions for complex geometrical and physical configurations. Additionally, ELSA supports the creation of submodels, allowing users to build modular and reusable components for their simulations. The codebase also includes powerful extrusion and revolution capabilities, enabling the efficient creation of 3D geometries from 2D profiles through linear and rotational transformations.

Installation

We recommend creating a dedicated Conda environment that contains OpenMC and all of ELSA’s dependencies.

  1. Create and activate the OpenMC environment

    conda create --name openmc-env openmc
    conda activate openmc-env
  2. Clone the ELSA repository and install the package

    git clone https://github.com/IdahoLabResearch/ELSA.git
    cd ELSA
    python -m pip install .

Optional installations

To build documentation use:

python -m pip install .[docs]

To run the test suite use:

python -m pip install .[test]

Troubleshooting

  • macOS (Apple Silicon, ARM)
    If you are running macOS on an Apple Silicon (ARM) processor, install OpenMC specifically for the osx-64 platform:

    conda create --name openmc-env --platform osx-64 openmc
  • Pandas compatibility when running tests
    When executing the test suite, you might see an error such as:

    ValueError: setting an array element with a sequence.
    

    This can be resolved by installing a specific version of Pandas that is compatible with OpenMC:

    conda create --name openmc-env --platform osx-64 openmc pandas=2.3.3
  • Missing NCrystal module
    If you encounter:

    ModuleNotFoundError: No module named 'NCrystal'
    

    upgrade OpenMC to a version that includes the precompiled NCrystal bindings—for example, 0.15.3 or newer.