Skip to content

Transformer (3-phase, 3-winding)

Three-phase three-winding (HV / LV / TV) mutually-coupled transformer. Linear magnetization + leakage only — no saturation, hysteresis, or residual flux. Fixed 3-leg core (shared magnetic circuit blocks zero-sequence flux). Vector-clock phase shifts on HV→LV and HV→TV are independent. Optional tap changer (first-order lag toward a tap_cmd named input) on a user-selectable host winding. Carries a load-flow 5-line PSSE 3-winding record; the column values are derived from the EMT parameters via the schema's computations block (no separate load-flow tab).

Category: Transformers

Keywords: 3-phase, 3-ph, 3 ph, 3ph, three, three-phase, three phase, phase, ph, trafo, TX, tx, winding, 3-winding, three-winding, tertiary, TV, HV, LV, Y, Yy, Yd, Dy, Dd, wye, delta, star, vector group, tap, tap changer, OLTC, load flow, loadflow

Ports

NameDirectionValue typeNotes
HVelectrical_3phdouble
LVelectrical_3phdouble
TVelectrical_3phdouble
HV_nelectricaldoubleVisible when hv_connection == 'YN'
LV_nelectricaldoubleVisible when lv_connection == 'yn'
TV_nelectricaldoubleVisible when tv_connection == 'yn'

Parameters

Config

NameLabelTypeDefaultUnitsDescription
s_ratedS rateddouble100MVA (VA, kVA, MVA)Three-phase apparent-power rating. The unit selector beside this field lets you enter the value in VA, kVA, or MVA — at netlist-export time the schema's `computations` block converts the selection to canonical VA, which is what the EMT model and load-flow extractor read. Sets the transformer's per-unit base (Z_base_pu = V_LL² / S_rated) and the load-flow R / X system-base conversion (R_pu_sys = R_pu_tx · 100 MVA / S_rated_canonical).
f_rated_hzf rated (Hz)double60Rated electrical frequency, in hertz. Drives every per-unit-to-henries conversion (X_pu → L = X_pu · Z_base / (2πf)) on the EMT side; the load-flow extractor uses the system base frequency (60 Hz) for its own conversions, so f_rated_hz is EMT-only.
v_hv_rated_vV HV rated (LL)double230000V (V, kV)HV-winding rated line-to-line RMS voltage. The unit selector beside this field lets you enter the value in V or kV — at netlist-export time the schema's `computations` block converts the selection to canonical volts, which is what the EMT model and load-flow extractor read. Drives the HV-side per-unit base and the HV:LV / HV:TV turns ratios (per-winding rated voltage: V_LL/√3 for Y, V_LL for Δ). Surfaces as load-flow NOMV1 (converted to kV at extract time).
v_lv_rated_vV LV rated (LL)double115000V (V, kV)LV-winding rated line-to-line RMS voltage. Pick V or kV in the unit selector; the computations block converts to canonical volts at netlist export. Sets the LV-side per-unit base. Surfaces as load-flow NOMV2.
v_tv_rated_vV TV rated (LL)double13800V (V, kV)Tertiary-winding rated line-to-line RMS voltage. Pick V or kV in the unit selector; the computations block converts to canonical volts at netlist export. Sets the TV-side per-unit base. Surfaces as load-flow NOMV3.
hv_connectionHV connectionenum (Y (floating N) / YN (N exposed) / Δ delta)YNHV winding connection. `Y` = floating-N wye. `YN` = wye with N exposed at the HV_n port (ground externally). `D` = delta.
lv_connectionLV connectionenum (y (floating n) / yn (n exposed) / d (delta))ynLV winding connection. `y` = floating-n wye. `yn` = wye with n exposed at the LV_n port. `d` = delta.
tv_connectionTV connectionenum (y (floating n) / yn (n exposed) / d (delta))dTertiary winding connection. `y` = floating-n wye. `yn` = wye with n exposed at the TV_n port. `d` = delta — the customary choice for a stabilising tertiary (provides a path for zero-sequence circulating current on Y-Y banks).
hv_lv_vector_clockHV→LV vector clockenum (0 (in phase) / 1 (−30°) / 5 (−150°) / 6 (180°) / 7 (+150°) / 11 (+30°))0Phase shift of LV relative to HV, in 30° clock units (0 = in-phase, 1 = LV lags HV 30°, 11 = LV leads 30°, 6 = 180°). Maps directly to PSSE ANG2 = −30° × clock.
hv_tv_vector_clockHV→TV vector clockenum (0 (in phase) / 1 (−30°) / 5 (−150°) / 6 (180°) / 7 (+150°) / 11 (+30°))1Phase shift of TV relative to HV, in 30° clock units. Default `1` matches the typical YNd1 stabilising-tertiary group. Maps to PSSE ANG3 = −30° × clock.
r_hv_lv_puR HV-LV (pu)double0.005HV-LV pair series resistance, per-unit on the transformer's own base (S_rated, V_HV-rated). Measured by short-circuiting LV and energising HV with TV open. Typical 0.002 – 0.01.
x_hv_lv_puX HV-LV (pu)double0.1HV-LV pair leakage reactance, per-unit on the transformer's own base. Typical 0.08 – 0.12. Surfaces as PSSE column R1-2 / X1-2 (after a 100 MVA/S_rated rebase).
r_hv_tv_puR HV-TV (pu)double0.005HV-TV pair series resistance, per-unit on the transformer's own base. Measured by short-circuiting TV and energising HV with LV open.
x_hv_tv_puX HV-TV (pu)double0.1HV-TV pair leakage reactance, per-unit on the transformer's own base. Maps to PSSE R3-1 / X3-1.
r_lv_tv_puR LV-TV (pu)double0.005LV-TV pair series resistance, per-unit on the transformer's own base.
x_lv_tv_puX LV-TV (pu)double0.1LV-TV pair leakage reactance, per-unit on the transformer's own base. Maps to PSSE R2-3 / X2-3.
i_mag_hv_pctI_mag HV (%)double1No-load magnetizing current on the HV side at rated voltage, in percent of HV rated current (= 100 × I_mag / I_HV_rated). Sets the linear magnetizing inductance referred to the HV winding (the model uses HV as the magnetisation reference).
i_mag_lv_pctI_mag LV (%)double1No-load magnetizing current on the LV side at rated voltage, in percent of LV rated current. Informational in v1 — the LV magnetisation contribution is implied by the per-pair leakages and the HV-side L_m. Round to the same value as i_mag_hv_pct if you have no separate measurement.
i_mag_tv_pctI_mag TV (%)double1No-load magnetizing current on the TV side at rated voltage, in percent of TV rated current. Informational in v1, same as i_mag_lv_pct.
no_load_loss_puNo-load loss (pu)double0No-load (iron) loss, per-unit on S_rated. Lumps hysteresis + eddy at f_rated. The `No-load loss topology` parameter below picks where the resulting conductance is stamped. Set to 0 to disable.
no_load_loss_topologyNo-load loss topologyenum (Across HV winding / Line-to-ground per phase)windingWhere the no-load-loss conductance is stamped. `winding`: in parallel with the HV magnetising branch (across the per-leg HV winding). `line_ground`: as a shunt from each HV line terminal to ground (3-phase Y of conductors, common for surge / lightning models).
enable_tap_changerTap changerenum (Off / On)0Enable the named-input-driven tap. When 0, the host winding's turns ratio is the rated value and `tap_cmd` is ignored. When 1, the schema surfaces the Tap Changer tab and resolves the `tap_cmd` named input — the host winding's effective ratio tracks `tap_cmd` through a first-order lag with time constant `tap_time_constant_s` (initial value `tap_init_pu`).
measure_hv_currentMeasure HV currentenum (Off / Line current / Winding current)offEmit HV per-phase currents. `off`: do not emit. `line`: per-phase line current (current into the HV port — coincides with winding current for Y connection). `winding`: per-phase winding current (line current rotated into the Δ winding for D connection; same as line for Y).
measure_lv_currentMeasure LV currentenum (Off / Line current / Winding current)offEmit LV per-phase currents. Same options as `Measure HV current`.
measure_tv_currentMeasure TV currentenum (Off / Line current / Winding current)offEmit TV per-phase currents. Same options as `Measure HV current`.
measure_mag_currentMeasure mag currentenum (Off / On)0Emit per-leg magnetizing current i_mag_a/b/c (A) through the linear magnetising branch.

Tap Changer

NameLabelTypeDefaultUnitsDescription
tap_host_windingHost windingenum (HV / LV / TV)hvWhich winding's turns ratio the tap modulates. Only that winding's WINDV column in the load-flow record deviates from 1.0; the other two stay at nominal.
tap_time_constant_sTime constant (s)double1First-order time constant (seconds) used to ramp the host winding's effective ratio toward `tap_cmd` after each step. The EMT model applies the lag exp(-h/τ) per step.
tap_init_puInitial ratio (pu)double1Initial value of the host winding's effective ratio at t = 0, in pu of rated voltage. 1.0 = nominal turns. Also seeds the load-flow WINDV column on the host winding.
tap_cmd_signal_nameTap signal namestringtapName of the published signal that drives the tap command (in pu of nominal). The named input is always 1-step delayed via MemoryArena.prev — no algebraic-loop risk even when the source transitively depends on this transformer's voltage. Leave empty to disable the binding (the lag still runs from the initial value).

Monitoring

NameLabelTypeDefaultUnitsDescription
i_hv_name_aHV name AstringI_HVaObservable id for the HV-side Phase A current. Blank skips this phase.
i_hv_name_bHV name BstringI_HVbObservable id for the HV-side Phase B current.
i_hv_name_cHV name CstringI_HVcObservable id for the HV-side Phase C current.
i_lv_name_aLV name AstringI_LVaObservable id for the LV-side Phase A current.
i_lv_name_bLV name BstringI_LVbObservable id for the LV-side Phase B current.
i_lv_name_cLV name CstringI_LVcObservable id for the LV-side Phase C current.
i_tv_name_aTV name AstringI_TVaObservable id for the TV-side Phase A current.
i_tv_name_bTV name BstringI_TVbObservable id for the TV-side Phase B current.
i_tv_name_cTV name CstringI_TVcObservable id for the TV-side Phase C current.
i_mag_name_aMag name AstringImagAObservable id for the Phase A magnetising current.
i_mag_name_bMag name BstringImagBObservable id for the Phase B magnetising current.
i_mag_name_cMag name CstringImagCObservable id for the Phase C magnetising current.

Observables

SignalTypeDefault nameEnableDescription
i_HV_asignalfrom i_hv_name_ameasure_hv_currentHV-side Phase A current (A). `line` mode reports the current into the HV_a port; `winding` mode reports the current through the HV winding (rotated to the Δ winding loop for D connection).
i_HV_bsignalfrom i_hv_name_bmeasure_hv_current
i_HV_csignalfrom i_hv_name_cmeasure_hv_current
i_LV_asignalfrom i_lv_name_ameasure_lv_current
i_LV_bsignalfrom i_lv_name_bmeasure_lv_current
i_LV_csignalfrom i_lv_name_cmeasure_lv_current
i_TV_asignalfrom i_tv_name_ameasure_tv_current
i_TV_bsignalfrom i_tv_name_bmeasure_tv_current
i_TV_csignalfrom i_tv_name_cmeasure_tv_current
i_mag_asignalfrom i_mag_name_ameasure_mag_current
i_mag_bsignalfrom i_mag_name_bmeasure_mag_current
i_mag_csignalfrom i_mag_name_cmeasure_mag_current

Implemented in C++ class SimCompElecTransformer3w3ph (components/electrical/sim_comp_elec_transformer_3w_3ph/sim_comp_elec_transformer_3w_3ph.h).

Released under the MIT License.