Cabling Design Helpers#
For details of the code implementation, please see the Cabling Helpers API documentation.
Overview#
This overview provides the Cable class, Plant class, and
CableSystem parent class.
Cable#
The cable class calculates a provided cable's power rating for determining the maximum number of turbines that can be supported by a string of cable.
Character Impedance (\(\Omega\))#
\(R=\) ac_resistance
\(j=\) the imaginary unit
\(f=\) line_frequency
\(L=\) inductance
\(G=\) \frac{1}{R} =\({py:attr}`conductance` \
\)C=$ capacitance
Power Factor#
\(\theta=\) the phase angle
\(jZ_0=\) the imaginary portion of character_impedance
\(Z_0=\) the real portion of character_impedance
Cable Power (\(MW\))#
\(P = \sqrt{3} * V * I * |P|\)
\(V=\) rated_voltage
\(I=\) current_capacity
\(|P|=\) power_factor
Plant#
Calculates the wind farm specifications to be used for array cable design phase. The "data class" accepts either set distances between turbines and rows or calculates them based off of the number of rotor diameters specified, for example:
# First see if there is a distance defined
self.turbine_distance = config["plant"].get("turbine_distance", None)
# If not, then multiply the rotor diameter by the turbine spacing,
# an integer representation of the number of rotor diameters and covert
# to kilometers
if self.turbine_distance is None:
self.turbine_distance = (
rotor_diameter * config["plant"]["turbine_spacing"] / 1000.0
)
# Repeat the same process for row distance.
self.row_distance = config["plant"].get("row_distance", None)
if self.row_distance is None:
self.row_distance = (
rotor_diameter * config["plant"]["row_spacing"] / 1000.0
)
where config is the configuration dictionary passed to the
array cable design phase
The cable section length for the first turbine in each string is calculated as
the distance to the substation, substation_distance.
CableSystem#
CableSystem acts as the parent class for both
ArrayDesignSystem and ExportDesignSystem. As such, it
is not intended to be invoked on its own, however it provides the shared
frameworks for both cabling system.
In particular, the CableSystem offers the cabling initialization and most of
the output properties such as cable_lengths_by_type,
total_cable_lengths_by_type, cost_by_type,
total_phase_cost, total_phase_time,
detailed_output, and most importantly design_result to avoid
redefinition of multiple core calculations.