Skip to content
Open-source · Modelica · Nuclear power systems

An open-source Modelica library for nuclear power plant simulation.

ON gives you the parts of a nuclear power plant, written in the Modelica language, and you connect them into a plant that runs in time.

Illustrative cutaway of a pool-type fast reactor vessel, with the core in blue
Reactor concept Illustrative cutaway

Neutron kinetics and decay heat, fuel rods and cladding, coolant thermal-hydraulics, pressurizers and steam generators, pumps, valves and accumulators, turbines and generator shafts, trip logic and control rods.

Explore the physics
About the examples and catalogue snapshot

Historical showcase. Catalogue snapshot: 30 September 2026 (commit 34cae824). Plant curves use the library of 12 August 2026. This page does not report current factory acceptance or full-library completion.

An interactive sketch

Explore neutron multiplication.

Switch between subcritical, critical and supercritical behaviour in this illustrative chain reaction.

Continue to the simulated plant cases
critical · steady
One case, before anything else

 

Cutaway of a pool-type fast reactor vessel, with the core in blue
01

Thirteen cases, and what each one shows

Every case below ran in OpenModelica 1.26.3 with MSL 4.1.0, on the library of 12 August 2026. The curves are the result file of that run, drawn point by point — no value on this page is written by hand. Eight cases are transients and show curves. Five are operating points and hold steady, so they show the numbers they settle on.

02

What physics is ON built on

Four areas, and what the library can do in each one in this snapshot.

Cutaway of a heterogeneous core lattice, with the two-group flux above it
Neutronics
Point kinetics with six delayed groups. One-group and two-group axial diffusion, with and without delayed neutrons, and a two-group form that follows the state of the core. Cartesian two-group k-eigenvalue, homogeneous and heterogeneous. Nodal methods: transverse-integrated polynomial moments, discontinuity factors at the interface, intranodal reconstruction, and a two-node current balance. Iodine and xenon 135. Decay heat from the Borst-Wheeler correlation, with the irradiation time.
A fuel rod cut along its length, from pellet to gap to cladding
Fuel and heat
Fuel rods resolved along the axis, radial conduction through the pellet, the gap and the cladding, and the heat flux at the cladding surface from the linear heat rate. Cylindrical and two-dimensional walls. An axial cosine power shape. Heat capacity of the fuel after shutdown, and a heat sink that can become unavailable.
A heated channel cut open, with the coolant rising through it
Thermal-hydraulics
Single-phase channels resolved along their length, water and steam pipes that carry flow in both directions, layered columns, and channels with elevation and a signed gravity head. Friction closures, one of them bounded by CFD for a length over diameter of ten. Film condensation on a vertical surface, in the Nusselt form and the laminar wavy form. Counterflow heat exchangers and steam generators with an axial wall.
Seven coolants side by side, at their working temperature
Coolants and materials
Liquid lead and lead-bismuth, for fast reactors. Sodium. FLiBe molten salt. Water and steam with the IF97 formulation, and two phases. Helium-xenon as an ideal gas, including the mixture with 72 % helium by mole. The pseudocritical temperature of carbon dioxide. AISI 304 steel with properties that follow the temperature.
How each part is checked. Every claim is split into requirements a machine can check, and a requirement counts only when its proof has run in OpenModelica and passed. What is checked, and against what.

What this library is not. It is not a neutron transport code and it is not a system code. It does not replace RELAP, TRACE, or Serpent. It gives you parts that build a plant model, and the model runs fast enough to study control, transients, and operation. No model here is meant for licensing, for safety analysis, or for plant qualification.
03

The parts you build with

Every part is one file you can open, and every example is a model you can run. Filter by area, or search by name.

⋅ search
04

From four parts to a plant

You do not write equations. You choose parts, you say what connects to what, and Modelica writes the equations for you.

STEP 01
Take a volume of coolant
It holds mass and energy. You tell it which fluid it holds, and lead is one of them.
Components · FixedPropertyVolume
Media · Pb, LBE, Sodium, FLiBe
STEP 02
Push flow through it
A boundary sets the flow at the inlet, another sets the pressure at the outlet. The fluid enters cold and leaves hot.
Components · FixedMassFlowBoundary
Components · FixedPressureBoundary
STEP 03
Put the core power in
A heat boundary adds the thermal power through a heat port. Or you put point kinetics there, and the power follows the reactivity.
Components · FixedHeatFlowBoundary
Physics · PointKineticsSixGroup
STEP 04
Read what comes out
The plant gives you the temperature rise, the thermal power, and the energy residual. The residual stays at zero while the balance closes.
Systems · LeadPrimaryLoopReference
4 connections, and it runs
Four parts joined by one pipe into a closed loop
Every parameter is yours. The loop states no plant design of its own, so you put your own operating point in it.
05

Take it and run it

One free tool runs everything on this page. No commercial licence is needed, at any step.

OpenModelica
Version 1.26.3 with the Modelica Standard Library 4.1.0. This is the same toolchain that produced every curve on this page.
Free · open source
BSD-3-Clause
Use it in your own work, open or closed. Keep the notice, and the library is yours to build on.
License
One file per model
Every part is plain text you can read and change. No binary, no black box, and every correlation names where it comes from.
Readable
Download
The public repository is being prepared. Write to us if you want it before then, and say what you are building.
coming soon
If you find an error, tell us. Say which model and which value, and what you expected. An institution can also check a part of the library and publish what it found, with its own name on it.
06

Cite it

A paper on the library is in preparation. Until it appears, cite the software itself.

The software
ON: an open-source Modelica library for nuclear power plant simulation. Tradenet Services srl, 2026. BSD-3-Clause.
DOI coming soon
The paper
It will cover the component set, the six coolants, how a plant case is built, and how each result is checked against a source outside the library.
in preparation
Ask for the entry
Write to us and we will send the current citation entry, and tell you when the paper and the repository are public.
Contact