Synchronous Machine — Parameter Conversion (XT ↔ RL)
A SYNC_MACH record can be entered using one of two equivalent parameter formats, selected by the TYPE_MOD keyword:
RL— the Park-model inductances and resistances are supplied directly.XT— characteristic reactances and open-circuit time constants are supplied; STEPSS/RAMSES converts them internally.
Both formats describe the same machine. XT is convenient when data comes from manufacturer datasheets or Kundur-style standard parameters. This page documents exactly how that conversion is done, so it can be reproduced by hand or cross-checked against external simulators (e.g. Typhoon HIL EMT).
Authoritative field order
Section titled “Authoritative field order”From the RAMSES source (sync.f90, get_sync_mach):
SYNC_MACH NAME BUS FP FQ P Q SNOM PNOM H D IBRATIO RL LL MDU LLF LLD1 MQU LLQ1 LLQ2 M N RA RF RD1 RQ1 RQ2 XT LL XD XPD XSD XQ XPQ XSQ M N RA TPD0 TSD0 TPQ0 TSQ0 EXC <model> ... TOR <model> ... ;A rotor circuit the machine does not have is skipped with * in both its reactance/inductance and its resistance/time-constant field.
Conversion algorithm (XT → RL)
Section titled “Conversion algorithm (XT → RL)”All parameters are in per unit; time constants are entered in seconds and normalised internally.
Time base
All time constants (TPD0, TSD0, TPQ0, TSQ0) are divided by before entering the resistance formulas.
Unsaturated mutuals
d axis — two rotor circuits (field + damper, XSD/TSD0 present)
d axis — single rotor circuit (XSD/TSD0 skipped)
q axis is fully symmetric to the d axis. Two circuits (XPQ/TPQ0 and XSQ/TSQ0) use the same quadratic with . Single-circuit fallbacks:
- Transient only (XPQ/TPQ0): ,
- Subtransient only (XSQ/TSQ0): same with , result assigned to
Field base scaling
The field current is then reconstructed internally as .
Reference Python implementation
Section titled “Reference Python implementation”A standalone Python port of the XT branch is available at
Sync_mach_Octave (Octave) and
as ramses_xt_to_park.py (attached below). It reproduces the algorithm above
including the normalisation, the quadratic solve, the symmetric q axis,
and puf = RF/IBRATIO. Pass None for any rotor circuit the machine does not
have.
from ramses_xt_to_park import ramses_xt_to_park
p = ramses_xt_to_park( fnom=50.0, ibratio=1.0, ll=0.15, ra=0.003, xd=1.81, xpd=0.30, xsd=0.23, tpd0=8.0, tsd0=0.03, xq=1.76, xpq=0.65, xsq=0.25, tpq0=1.0, tsq0=0.07)# → llf=0.169902, lld1=0.166338, rf=0.000741, rd1=0.033390, ...Worked examples
Section titled “Worked examples”Inputs (both cases, 50 Hz, IBRATIO = 1): , , , , , s, s, , , s. The round-rotor case adds , s.
| Parameter | Round rotor (d2/q2) | Single q-damper (d2/q1) |
|---|---|---|
| 1.660000 | 1.660000 | |
| 0.169902 | 0.169902 | |
| 0.166338 | 0.166338 | |
| 1.610000 | 1.610000 | |
| 0.928153 | 0.725225 | |
| 0.120461 | n/a | |
| 0.000741 | 0.000741 | |
| 0.033390 | 0.033390 | |
| 0.009236 | 0.007433 | |
| 0.028210 | n/a | |
| 0.000741 | 0.000741 |
Comparing with an EMT simulator
Section titled “Comparing with an EMT simulator”When cross-checking STEPSS (RMS/phasor) against an EMT tool such as Typhoon HIL:
- Per unit vs physical units. STEPSS stays entirely in per unit. Converting to Henry/Ohm for the EMT tool requires a consistent per-unit base on the rotor side; use the same
IBRATIOassumption on both sides. - Radians vs seconds. The normalisation is internal to STEPSS. Your hand calculation must divide every time constant by before computing resistances.
- Expected post-fault difference. STEPSS uses the phasor approximation and neglects stator transformer voltages (, ), so it omits the DC-offset and high-frequency current components immediately after a short circuit. An EMT model retains them. Compare the slow post-fault envelopes first: envelope agreement with first-cycle differences indicates a modelling assumption, not a parameter error.
See also
Section titled “See also”- Synchronous Machine Model — equations, per unit system, and
SYNC_MACHrecord reference - Octave reference implementation
- Phasor approximation
- Synchronous machine dynamics