Wind Turbine

DERSim ships two reference wind machines, both selectable from the device-type flag and configured to match published reference designs:

Device type Reference machine Topology Rating
Wind-T3-3Phase NREL 5-MW baseline (Jonkman et al., NREL/TP-500-38060, 2009) Type III — Doubly-Fed Induction Generator (DFIG), 97:1 gearbox, ~30 % rotor-side converter 5 MW
Wind-T4-3Phase IEA 15-MW reference (Gaertner et al., NREL/TP-5000-75698, 2020) Type IV — direct-drive PMSG with 100 % full-power converter 15 MW

Start each with the matching -d:

./sim --device_type Wind-T3-3Phase
./sim --device_type Wind-T4-3Phase

What's simulated

The full chain from wind to grid is modeled, not just the electrical interface:

  • Wind speed → rotor swept area via a power-law shear extrapolation from the measurement height to hub height (--wind_anemometer_height_m).
  • Aerodynamics — Cp(λ, β) coefficient from the Heier / Slootweg analytical fit, calibrated to each reference machine's published Cp_max. The K·ω² Region-2 MPPT controller tracks the optimal tip-speed ratio below rated; above rated the pitch loop holds rotor speed.
  • Drivetrain ODE — single-mass rotor inertia with damping; the pitch controller torque-references the generator and the aerodynamic torque drives the rotor.
  • Pitch controller — gain-scheduled PI loop that pitches blades to feather as wind speed exceeds rated.
  • Generator + converter — Type-III rotor-side + grid-side converter with the ~30 % partial-rating limit on the rotor-side inverter; Type-IV full-power converter sized to nameplate.
  • Grid-side P/Q — MVA-circle clamping on the converter, plus IEEE 1547 / IEC 61400-27-1 LVRT priority during voltage sags (reactive-current injection ahead of active power). Type-III is constrained to ±0.33 pu reactive at full P; Type-IV gets ±0.50 pu.

The output P/Q reaches the SunSpec and IEEE 2030.5 comm layers exactly the same way a real inverter would — every grid-support mode (Volt-Var, Volt-Watt, fixed PF, frequency droop, etc.) applies on top of the wind turbine's available active power, with the LVRT priority enforced underneath. (OCPP is a charge-point protocol and only applies to the EVSE device type.)

Wind-speed input

Wind speed comes from a bundled one-week NDBC station 44025 (Long Island NY offshore buoy) hourly observation set. The dataset is public domain (NOAA / NDBC). Override with --wind_data_file PATH to point at any CSV with the columns timestamp_utc, wind_speed_m_s.

Flag Default Description
--wind_data_file (bundled NDBC 44025) CSV with timestamp_utc, wind_speed_m_s
--wind_anemometer_height_m 5.0 Source measurement height; used for power-law shear extrapolation to hub height
--wind_time_scale 60.0 Sim-seconds per wall-second; 60.0 = 1 hour of data per minute of wall-clock, 1.0 = real-time

A typical lab run compresses the week's data into one minute of wall-time:

./sim --device_type Wind-T4-3Phase --wind_time_scale 60

For a real-time playback (one second of weather per second of wall-time), set --wind_time_scale 1. For an accelerated stress test (one day of weather per minute), set --wind_time_scale 1440.

Dashboard

The dashboard exposes a Wind Turbine panel (sidebar 🌬️) showing live:

  • Hub-speed wind (after shear extrapolation)
  • Rotor RPM, pitch angle, Cp value
  • Mechanical power (rotor), electrical power (grid-side)
  • Reactive power
  • LVRT state (nominal / sag-detected / recovery)
  • A rolling wind-speed chart

Wind Turbine view — NREL 5 MW DFIG at 12 m/s pinned, 5.00 MW at rated, Cp 0.470, power curve rendered

The Type-IV machine renders the same view with the IEA 15 MW reference parameters:

Wind Turbine view — IEA 15 MW full-converter, 14 m/s pinned

The overview page summarises grid-side P/Q against the wind turbine's rated nameplate:

Overview — wind turbine sim with rated power, AC delivery, frequency, voltage live

The /api/dersim/wind REST endpoint returns the same telemetry as JSON for programmatic test harnesses.

REST control — pinning a wind speed

For deterministic lab runs (sweeping the power curve, reproducing a specific operating point) you can pin the wind speed via the REST control endpoint:

POST /api/dersim/wind/override
Content-Type: application/json

{"enabled": true, "wind_speed_m_s": 12.0}

While the override is enabled, the CSV/dataset playback is paused — the rotor controller, generator, and grid-side converter all see the pinned wind speed. Release with:

POST /api/dersim/wind/override
Content-Type: application/json

{"enabled": false}

The wind speed value bound at 0 ≤ wind_speed_m_s ≤ 30 (cut-out is typically 25 m/s on both reference machines; the extra headroom lets you exercise the over-speed pitch loop). When the override is active, the Wind Turbine view shows the "Override" toggle in the ON state with the pinned value.

SunSpec model exposure

The wind variants use the same general DER SunSpec model set as PV and battery (701 nameplate + live AC measurements, 702 ratings, 703 enter-service, 704 fixed PF, 705 Volt-Var, 706 Volt-Watt, 711 Frequency-Droop, 712 Watt-Var) — there isn't a dedicated wind extension model on the SunSpec wire. Wind-specific telemetry (rotor RPM, pitch angle, Cp, hub-speed wind, LVRT state) is available only via the /api/dersim/wind REST endpoint and the WebSocket telemetry stream.

Model Purpose Key points
714 DC-side input One port with PrtTyp = 2 (wind). The only wind-specific marker on the SunSpec wire; lets a scanner distinguish a wind machine from a PV inverter without out-of-band hints
800-series Battery bank Not populated — wind variants have no electrochemical storage, so 713 / 802 / 803 / 804 / 805 are stripped from the loaded model list at startup

Existing SunSpec scan tools (pysunspec2, certification harnesses) treat the wind machines as ordinary inverters; the wind-specific operating point is observable via REST only.

Why two machines

The Type-III DFIG (NREL 5-MW) and Type-IV full-converter (IEA 15-MW) behave very differently during grid disturbances even though both are rated to the same IEEE 1547 envelope. Aggregator-side controllability differs as well — Type-III has a partial-rating rotor-side converter with a fixed reactive limit; Type-IV has a full-rating grid-side converter with much more headroom for reactive support. Lab tests that need to exercise either machine's specific abnormal-condition behavior have both bundled and pickable from the command line without needing to write a custom profile.