prereise.gather.griddata.transmission package¶
Subpackages¶
Submodules¶
prereise.gather.griddata.transmission.const module¶
prereise.gather.griddata.transmission.geometry module¶
- class prereise.gather.griddata.transmission.geometry.Conductor(name: str | None = None, radius: float | None = None, material: str | None = None, resistance_per_km: float | None = None, gmr: float | None = None, area: float | None = None, permeability: float | None = None, current_limit: float | None = None)[source]¶
Bases:
DataclassWithValidation
Represent a single conductor (which may be a stranded composite). Conductors can be instantiated by either: - looking them up via their standardized bird
name
, - passing the parameters relevant to impedance and rating calculations (radius
,gmr
,resistance_per_km
, andcurrent_limit
), or - passing paramters which can be used to estimate parameters relevant to impedance and rating calculations (radius
,material
, andcurrent_limit
). In this case, a solid conductor is assumed.- Parameters:
name (str) – name of standard conductor.
radius (float) – outer radius of conductor.
material (str) – material of conductor. Used to calculate
resistance_per_km
andgmr
if these aren’t passed to the constructor, unnecessary otherwise.resistance_per_km (float) – resistance (ohms) per kilometer. Will be estimated from other parameters if it isn’t passed.
gmr (float) – geometric mean radius of conductor. Will be estimated from other parameters if it isn’t passed.
area (float) – cross-sectional area of conductor. Will be estimated from other parameters if it isn’t passed.
- area: float = None¶
- current_limit: float = None¶
- gmr: float = None¶
- material: str = None¶
- name: str = None¶
- permeability: float = None¶
- radius: float = None¶
- resistance_per_km: float = None¶
- class prereise.gather.griddata.transmission.geometry.ConductorBundle(conductor: Conductor, n: int = 1, spacing: float | None = None, layout: str = 'circular')[source]¶
Bases:
DataclassWithValidation
Represent a bundle of conductors (or a ‘bundle’ of one).
- Parameters:
n (int) – number of conductors in bundle (can be one).
conductor (Conductor) – information for each conductor.
spacing (float) – distance between the centers of each conductor (meters).
layout (str) – either ‘circular’ (conductors are arranged in a regular polygon with edge length
spacing
) or ‘flat’ (conductors are arranged in a line, at regular spacingspacing
).
- current_limit: float = None¶
- layout: str = 'circular'¶
- n: int = 1¶
- resistance_per_km: float¶
- spacing: float = None¶
- spacing_C: float¶
- spacing_L: float¶
- class prereise.gather.griddata.transmission.geometry.Line(tower: Tower, length: float, voltage: float, freq: float = 60.0)[source]¶
Bases:
DataclassWithValidation
Given a Tower design, line voltage, and length, calculate whole-line impedances and rating.
- Parameters:
tower (Tower) – tower parameters (containing per-kilometer impedances).
length (int/float) – line length (kilometers).
voltage (int/float) – line voltage (kilovolts).
freq (int/float) – the system nominal frequency (Hz).
- freq: float = 60.0¶
- length: float¶
- power_rating: float = None¶
- propogation_constant_per_km: complex¶
- series_impedance: complex¶
- series_impedance_per_km: complex¶
- shunt_admittance: complex¶
- shunt_admittance_per_km: complex¶
- stability_rating: float = None¶
- surge_impedance: complex¶
- thermal_rating: float = None¶
- voltage: float¶
- class prereise.gather.griddata.transmission.geometry.PhaseLocations(a: tuple, b: tuple, c: tuple, circuits: int = 1)[source]¶
Bases:
DataclassWithValidation
Represent the locations of each conductor bundle on a transmission tower. Each of
a
,b
, andc
are the (x, y) location(s) of that phase’s conductor(s).- Parameters:
a (tuple) – the (x, y) location of the single ‘A’ phase conductor if
circuits
== 1, or the ((x1, y1), (x2, y2), …) locations of the ‘A’ phase conductors ifcircuits
> 1. Units are meters.b (tuple) – the (x, y) location of the single ‘B’ phase conductor if
circuits
== 1, or the ((x1, y1), (x2, y2), …) locations of the ‘B’ phase conductors ifcircuits
> 1. Units are meters.c (tuple) – the (x, y) location of the single ‘C’ phase conductor if
circuits
== 1, or the ((x1, y1), (x2, y2), …) locations of the ‘C’ phase conductors ifcircuits
> 1. Units are meters.circuits (int) – the number of circuits on the tower.
- a: tuple¶
- b: tuple¶
- c: tuple¶
- circuits: int = 1¶
- equivalent_distance: float¶
- equivalent_height: float¶
- equivalent_reflected_distance: float¶
- phase_self_distances: dict = None¶
- class prereise.gather.griddata.transmission.geometry.Tower(locations: PhaseLocations, bundle: ConductorBundle)[source]¶
Bases:
DataclassWithValidation
Given the geometry of a transmission tower and conductor bundle information, estimate per-kilometer inductance, resistance, and shunt capacitance.
- Parameters:
locations (PhaseLocations) – the locations of each conductor bundle.
bundle (ConductorBundle) – the parameters of each conductor bundle.
- bundle: ConductorBundle¶
- capacitance: float¶
- inductance: float¶
- locations: PhaseLocations¶
- phase_current_limit: float = None¶
- resistance: float¶
prereise.gather.griddata.transmission.helpers module¶
- class prereise.gather.griddata.transmission.helpers.DataclassWithValidation[source]¶
Bases:
object
A stub class which defines a method that checks dataclasses.dataclass types.
- prereise.gather.griddata.transmission.helpers.approximate_loadability(length_km, method='power')[source]¶
Approximate the value of the St. Clair curve at a given point, using a given approximation method.
- Parameters:
length_km (float) – line length (kilometers).
method (str) – curve approximation method. Currently, only ‘power’ is supported.
- Returns:
(float) – line loadibility (normalized to surge impedance loading).
- Raises:
ValueError – if the
method
is not supported.
- prereise.gather.griddata.transmission.helpers.calculate_z_base(v_base, s_base)[source]¶
Calculate base impedance from voltage and system base apparent power.
- Parameters:
v_base (int/float) – base voltage (kV).
s_base (int/float) – base apparent power (MVA).
- Returns:
(float) – base impedance (ohms).
- prereise.gather.griddata.transmission.helpers.get_standard_conductors()[source]¶
Read the data file on standard conductor parameter values.
- Returns:
(pandas.DataFrame) – data frame, indexed by conductor code name.
- prereise.gather.griddata.transmission.helpers.translate_to_per_unit(x, nominal_unit, z_base)[source]¶
Translate parameters in nominal units to per-unit values.
- Parameters:
x (int/float) – value to be converted.
nominal_unit (str) – the units of
x
.z_base (int/float) – base impedance (can be calculated with
calculate_z_base()
).
- Returns:
(float) – per-unit value.
- Raises:
ValueError – if the nominal unit isn’t recognized.