Concepts

These pages explain the ideas and architecture behind monee, from how networks are represented in memory to the physical equations used for each energy carrier and the solver interfaces that bring it all together.

Data model

How monee represents networks as directed graphs: nodes, branches, children, grids, variables, and parameters, and how to build custom components.

Data model
Physical models

The steady-state equations for electricity (AC power flow), gas (Weymouth), and water / heat (Darcy-Weisbach) networks.

Physical models
Multi-energy coupling

All built-in coupling components (P2H, P2G, G2P, G2H, CHP, and heat exchanger) and how to dispatch them in an optimisation.

Multi-energy coupling
Formulations

The formulation layer: how equation sets are mapped to model types, what built-in formulations ship with monee, and how to write a custom one.

Formulations
Solvers & Backends

The CasADi, GEKKO, Pyomo, and native gurobipy back-ends: capabilities, limitations, and guidance on choosing the right one for each type of problem.

Solvers & Backends
Islanding

Solve networks with multiple disconnected islands: the connectivity-flow MIP formulation, grid-forming nodes, and per-carrier physical constraints.

Islanding
Timeseries simulation

Sequential pipeline, TimeseriesData, StepState, and per-step inter-step coupling.

Timeseries simulation
Multi-period optimization

Globally-optimal dispatch over T periods, PeriodState, rolling-horizon MPC, and terminal state constraints.

Multi-period optimization
NetworkAspect

The general plug-in mechanism: inject variables and equations across the whole network. Used by islanding, thermal capacitance, and linepack.

Network aspects
Temporal extensions

LumpedThermalCapacitance and GasLinepack: step-by-step walkthroughs with physics background and visualisation code.

Temporal extensions