Skip to content

Morana

Morana (MOdern Reactor ANAlysis) is a Python package for finite-volume neutron-diffusion calculations on regular hex-z lattices. It provides a transparent Python API and serves as a reference implementation for research, teaching, and numerical-method development. The package import name is morana. The source code is available on GitHub.

Supported calculations

Morana provides:

  • one-group and multigroup fixed-source and k_eff calculations;
  • variable-height axial stacks with coupled radial and axial diffusion;
  • material-dependent multigroup scattering with optional neutron multiplicity and either separable or general incident-to-outgoing fission production;
  • reflective, vacuum, prescribed-flux, Robin, partial-current-return, and incoming-current boundary conditions;
  • scalar, group, and axial-layer balance diagnostics with immutable input provenance;
  • selected macroscopic material-data import from OpenMC runtime-MGXS HDF5 libraries, without importing OpenMC at runtime; and
  • Matplotlib, Plotly, VTU, and material-aware VTM inspection output.

The modeling and solver workflow defines the exact limits of these capabilities.

Choose a starting point

Project status and intended use

Morana is intended for research, teaching, and software development. It has not been validated against experimental reactor measurements or qualified for design, operational, licensing, or regulatory decisions. Results must be independently reviewed and validated for their intended use. The example cross sections are illustrative, not reactor-design data.

Early-development API

Morana’s public Python API may change incompatibly without a backward-compatibility guarantee. Record the source commit and dependency environment for reproducible work, and review the API stability policy and changelog before upgrading.

Morana is distributed under the Apache License 2.0 without warranties or conditions beyond those stated in the license. See licenses and third-party notices.