geopulse.devices.transformer
Transformer thermal response — Mate et al. (2021) top-oil + hot-spot model.
Bilinear-discretised top-oil temperature dynamics + effective-GIC-driven hot-spot rise, applied per-transformer. The relations follow Mate, Overbye, Weiss & Trakas (2021) Sec. II-D, eqns 5–9:
with
ρ— ambient temperature (°C)δ_r— top-oil rise at rated load (°C)τ_e— top-oil thermal time constant (min)k(t)— fractional apparent-power loading (0..1+)δ_e^t— dynamic top-oil rise above ambient (°C)|I_e|— effective GIC magnitude through the winding (A)R_e— hot-spot rise coefficient (°C / A)
The Tustin discretisation of eqn 6 is unconditionally stable and gives eqn 7 exactly.
References
Classes
|
Transformer thermal parameters (Mate 2021 Table IV). |
|
Bilinear top-oil + hot-spot temperature model for a power transformer. |
- class geopulse.devices.transformer.TransformerModel(params=None, k_load=0.63)[source]
Bases:
DeviceModelBilinear top-oil + hot-spot temperature model for a power transformer.
- Parameters:
params (
ThermalParams|None) – Thermal parameters. Defaults toThermalParamsfactory defaults (Mate 2021 Table IV row 1).k_load (
float|ndarray) – Fractional apparent-power loadingk(t)(0..1+). Scalar means constant loading; array must matchtime_slength passed toinject_gic(). Default: 0.63 — the value Mate 2021 uses to reproduce Fig 5’s ~55 °C peak top-oil at 25 °C ambient.
Examples
>>> import numpy as np >>> from geopulse.devices.transformer import TransformerModel >>> t_s = np.arange(0.0, 3600.0, 60.0) >>> gic_A = 20.0 * np.sin(2 * np.pi * t_s / 3600.0) >>> resp = TransformerModel().inject_gic(t_s, gic_A) >>> resp.hotspot_C.shape == t_s.shape True
- inject_gic(time_s, gic_A, ac_voltage_V=0.0, ac_frequency_Hz=50.0)[source]
Compute the thermal response for a GIC waveform.
- Parameters:
time_s (
ndarray) – Uniformly-sampled time array in seconds. Shape(n_times,).gic_A (
ndarray) – GIC through the transformer winding in Amperes. Shape(n_times,). Only|gic_A|enters the hot-spot rise, so sign is irrelevant.ac_voltage_V (
float) – Accepted for ABC symmetry — the pure thermal response does not depend on either.ac_frequency_Hz (
float) – Accepted for ABC symmetry — the pure thermal response does not depend on either.
- Return type:
- Returns:
DeviceResponse –
time_s,response_current_A = |gic_A|,top_oil_C,hotspot_C.thdisNaN(harmonic content lives in a separate device model);harmonicsis empty.- Raises:
DataError – If
time_sis not uniformly sampled or shapes don’t match.
Notes
The time step
Δused for the Tustin update is the median ofdiff(time_s)converted to minutes to match the thermal time-constant units. Non-uniform time series are rejected.
- class geopulse.devices.transformer.ThermalParams(ambient_C=25.0, to_rated_rise_C=75.0, to_time_constant_min=71.0, hs_coeff_C_per_A=0.63, hs_avg_limit_C=240.0, hs_inst_limit_C=280.0)[source]
Bases:
objectTransformer thermal parameters (Mate 2021 Table IV).
Defaults are the “row 1” values from that table (single-phase GSU), which reproduce the paper’s Fig 5 hot-spot curves.
- Parameters: