District Heating substation
District heating customer substation with a heat exchanger, pipe transport delay from the plant, seasonal weather-driven demand, energy-balance primary flow, and fault health.

What it is
A district heating customer substation: a plate heat exchanger between the heat network (primary side) and a building heating loop (secondary side). Network supply temperature arrives from the plant, through an input port, after a pipe transport delay. A control valve meters primary flow to hold the secondary supply on a weather-compensated setpoint. Heat demand follows outdoor temperature by degree-days (zero at the 18 °C balance point, design_load_kw at the design day) plus a daily occupancy profile. Primary flow comes from the energy balance, flow = heat delivered / (1.163 × delta-T).
t=0 is 1 January 00:00. Outdoor temperature has a daily and a seasonal cycle, so accelerated time shows winter and summer. The plant supply comes in through the network_supply_temp input port. A template binds it to a boiler's supply_temperature member, and the substation adds its own pipe delay. Unbound, the port holds its 92 °C default.
Used in
district-heating: the hospital, university, residential and office customers
What it tracks
| Member | Description |
|---|---|
running | Substation operating state. |
outdoor_temperature | Seasonal and daily weather input. |
heat_demand_kw | Building demand: degree-day space heating plus domestic hot water. |
plant_supply_temp | Network supply temperature at the plant: the network_supply_temp input, one simulation step behind its source. |
primary_supply_temp | Plant supply after the pipe delay and line loss. |
primary_return_temp | Network return temperature leaving the heat exchanger. |
delta_t | Primary supply minus return. The network operator's efficiency metric. |
hx_approach_temp | Heat exchanger approach temperature. Rises with fouling. |
control_valve_position | Primary valve opening, driven by demand and secondary feedback. |
primary_flow | Primary flow in m³/h, from the energy balance: heat delivered / (1.163 × primary supply-return delta-T). About 0 when stopped. |
secondary_supply_setpoint / secondary_supply_temp | Weather-compensated setpoint and the delivered temperature. |
secondary_return_temp | Building return temperature. |
circulation_pump_speed | Secondary loop pump speed. |
heat_delivered_kw / heat_energy_total | Heat meter power and energy. Delivered heat is the demand, capped by the primary temperature head: capacity is 1.5 × design_load_kw at a 26 K head (primary supply minus secondary setpoint minus a 5 K approach) and falls with it. When the plant stops and the primary supply drops to about 50 °C, delivery falls toward zero and secondary_supply_temp sags below its setpoint. |
Fault modes
hx_fouling: needs the early_wear stage, pump speed above 20 % and primary flow above 1 m³/h. Approach temperature rises 9 K and secondary supply falls 2.5 K over a 1800 s ramp, for 14400 s. Delta-T falls, the valve opens, and flow rises to carry the same heat.valve_stuck: needs the degraded stage, pump speed above 20 % and valve position above 5 %. The valve is pinned at 40 % for 3600 s, so the secondary supply misses its setpoint as demand moves.low_delta_t: needs the advanced_wear stage, pump speed above 20 % and delta-T above 30 K. Primary return rises 15 K for 3600 s, like a bypass or short circuit. The lower delta-T raises primary flow by about 40 %.
Key parameters
| Parameter | Default | Unit |
|---|---|---|
design_load_kw | 500 | kW |
pipe_delay_min | 6 | min |
design_outdoor_temp_c | -12 | °C |
design_outdoor_temp_c is the design day. Demand equals design_load_kw there and falls to zero 30 K above it. The monthly mean outdoor temperature is the design temperature plus a seasonal offset: January sits 12.5 K above it and July 31.5 K. pipe_delay_min is the transport delay of the network pipe, in minutes. The primary supply also lags by about 60 s of pipe wall response.
Input port
| Port | Default | Unit |
|---|---|---|
network_supply_temp | 92 | °C |
Bind it per template with inputs: { network_supply_temp: { asset: <id>, member: <member> } }. district-heating binds every substation to boiler-001 supply_temperature, so a boiler fault or trip reaches each substation after its own pipe_delay_min. miravo spawn leaves it unbound.
Use cases
- Seasonal demand and degree-day analytics under accelerated time.
- Low delta-T detection and heat exchanger fouling analytics.
- Transport-delay aware correlation of plant and substation data.
- Heat-meter and energy dashboards for district heating operators.
Customize
miravo models add heat-substation --from heat-substationmiravo models inspect heat-substationWas this page useful?
Last updated on
Hot water boiler
Model an industrial hot water boiler with firing state, thermal lag, pressure response, runtime health, and fault behavior.
Cleanroom zone
GMP cleanroom suite served by an AHU, with controlled temperature, humidity, positive pressure cascade, air changes, HEPA loading, door events, and particle counts.
Miravo