Skip to content

Flywheel Storage (Flywheel)

Class: Flywheel | Module: energysim.models.storage | Validation benchmarks | Units

Overview

Flywheel kinetic energy storage system for high-frequency regulation.

Round-trip efficiency is split symmetrically (sqrt(eta) each way) and the rotor self-discharges proportionally to its SoC. SoC is limited to [0.01, 0.99] by scaling the request.

Parameters

Parameter Type Default Unit Description
name str 'Flywheel' - Unique component name identifier
power_max_mw float 0.5 MW -
energy_capacity_kwh float 125.0 kWh -
soc_init float 0.5 1 -
roundtrip_eff float 0.9 - -
self_discharge_pct_hr float 1.0 %/h -
step_size float 1.0 s -

Inputs

Variable Unit Description
P_cmd MW Active power setpoint (positive = charge, negative = discharge)

Outputs

Variable Unit Description
P_actual MW Net active power exchanged with the grid
SoC 1 Rotational kinetic energy state of charge, (omega / omega_max)^2

Validity and notes

Validity: seconds-to-minutes duty cycles; no speed-dependent power limit or bearing/windage model beyond the lumped self-discharge.

Usage example

from energysim import world
from energysim.models import Flywheel

sim = world(start_time=0, stop_time=3600, t_macro=900)
sim.add_model('flywheel', model=Flywheel(), outputs=['P_actual', 'SoC'], step_size=60)
res = sim.simulate()
print(res['flywheel'].tail(2))