Changelog¶
This page records dated releases that help a package user decide whether or how to install, upgrade, or use Morana. Entries follow the Keep a Changelog categories where they apply: Added, Changed, Deprecated, Removed, Fixed, and Security. Routine documentation corrections, citation-metadata updates, repository maintenance, and maintainer-only tooling do not receive separate entries. Release entries summarize notable changes, required upgrade actions, and release-specific limitations. Current package behavior is documented in the modeling and solver workflow, verification guide, and source-derived Python reference. Release-note candidates remain in committed change fragments during development and enter this page only as part of a dated release. Subscribe to the Morana releases RSS feed to receive new-version notifications when installable packages are published.
0.2.0 - 2026-10-03¶
Version 0.2.0 adds BiCGSTAB solving and revises the iterative solver policies
and maintained examples. Release locations are
GitHub,
PyPI, and the archived source under
DOI 10.5281/zenodo.23118502.
Added¶
- BiCGSTAB linear solves for fixed-source and criticality calculations, with Jacobi preconditioning as the recommended scalable iterative policy.
- A custom-preconditioner example using public finite-volume operators and checking its solution against the direct reference.
Changed¶
- Iterative settings now default to Jacobi preconditioning. Criticality inner solves continue from the preceding cleaned inner solution after the first outer iteration; restarted GMRES remains available.
- Finite-volume operator assembly is faster and uses less memory in the maintained many-group comparisons, with unchanged numerical settings and checked-result requirements. Gains depend on the workload and environment.
- Result archives now use schema 9, and maintained examples use module execution.
Removed¶
- Built-in threshold-ILU preconditioning.
- The former solver-comparison example and the MMS examples’ strategy-comparison options. The MMS examples retain direct-reference refinement.
Upgrade actions¶
- Replace
IluPreconditionerwithJacobiPreconditionerorNoPreconditioner. GMRES callers requiring the previous unpreconditioned default must selectNoPreconditioner()explicitly. See the solver policies. - Regenerate result archives with schema 9; readers reject earlier schemas.
- Run maintained examples with
python -m examples.<module>instead ofpython examples/<module>.py. - Replace
examples.solver_comparisonwithexamples.custom_operator_solvefor custom-preconditioner exploration. Remove--compare-strategiesfrom MMS commands.
0.1.0 - 2026-09-09¶
Version 0.1.0 is Morana’s initial source release. It establishes the
object-based Python API and finite-volume reference implementation for
multigroup fixed-source and k_eff calculations on variable-height hex-z
lattices. The release is available as a
GitHub release and
archived under
DOI 10.5281/zenodo.22681316. Its
source distribution and pure-Python wheel are also available from
PyPI.
Morana 0.1.0 is its first public release; development before this release occurred in a private repository, so the public Git history begins with version 0.1.0.
Added¶
- Direct and preconditioned restarted-GMRES linear solves, power iteration, and optional fixed Wielandt-shift acceleration.
- Material, source, boundary-condition, normalization, balance, execution report, result-archive, plotting, and VTK-output APIs.
- Dependency-neutral import of selected macroscopic material data from OpenMC runtime-MGXS HDF5 libraries.
- Maintained examples, theory and workflow documentation, analytic and manufactured-solution verification cases, and an OpenMC comparison.
Verification¶
- Release evidence includes conservation and residual checks, analytic axial and manufactured-solution cases, independently assembled operator comparisons, result-archive checks, maintained examples, and an end-to-end OpenMC comparison. The verification guide defines the evidence and its limits.
Limitations¶
- Morana has not been validated against experimental reactor measurements or qualified for design, operational, licensing, regulatory, or safety decisions.
- The supported platform is Linux with Python 3.12 or newer. The public API and result-archive schema may change incompatibly during early development.
- Version
0.1.0is distributed through PyPI and as source through GitHub and Zenodo. Conda packages, native binaries, containers, and bundled nuclear data are not provided.