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_effcalculations; - 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¶
- Install and run a first calculation: follow installation and quickstart, then execute a maintained example.
- Understand the model: begin with geometry and indexing, continue through the theory and numerical conventions, and then review inspection and output.
- Build and solve: use the modeling and solver workflow for cross-object behavior, boundary conditions and face selection for boundary assignments, the OpenMC MGXS import guide for external material data, and the source-derived reference for exact signatures and public members.
- Assess the evidence: read verification and comparisons for tested behavior, analytic references, manufactured-solution studies, the end-to-end OpenMC–Morana comparison, and their limitations.
- Develop or track changes: read the
contributor workflow and
changelog. The latest source release is version
0.1.0; package-index publication is not yet available.
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.