Conductors
A coaxial formulation reads each terminal of a cable as a tubular conductor of inner radius $r_\mathrm{in}$ and outer radius $r_\mathrm{ex}$, a solid conductor when $r_\mathrm{in} = 0$. The internal impedance of the tube is the electromagnetic response inside the metal, given by three surface terms per unit length [1]: the inner surface impedance, the outer surface impedance and the transfer impedance through the wall. The loop recursion of the matrix formulation adds the outer surface impedance of a conductor and the inner surface impedance of the next conductor outward to the loop impedance of the conductor. The loop impedance less the transfer impedance adds to the entries between the conductor and each conductor inside it.
A stranded conductor or an armor enters as the equivalent tube of its terminal, which the data model builds: the tube spans the conductive regions and takes their direct-current resistance and geometric mean radius. A strand on a helix is longer than the cable by its overlength, so the resistance of the tube includes it, as Cable data model describes.
The resistivity of each conductor follows from its material at the operating temperature of the problem by the resistivity law, before the surface impedances are computed.
Internal impedance
LineCableModels.Engine.InternalImpedance — Module
LineCableModels.Engine.InternalImpedanceCompute the inner, outer, and transfer surface impedances of a tubular conductor.
Formulas
Formula{:schelkunoff1934}
Surface impedances of a homogeneous tubular conductor of inner radius $r_\mathrm{in}$ and outer radius $r_\mathrm{ex}$, from the cylindrical solution of the field inside the metal [1], with the modified Bessel functions $I_\nu$ and $K_\nu$:
\[\begin{aligned} z_\mathrm{inner} &= \frac{s \mu}{2 \pi w_\mathrm{in}} \frac{I_0(w_\mathrm{in}) K_1(w_\mathrm{ex}) + K_0(w_\mathrm{in}) I_1(w_\mathrm{ex})}{D}, \\ z_\mathrm{outer} &= \frac{s \mu}{2 \pi w_\mathrm{ex}} \frac{I_0(w_\mathrm{ex}) K_1(w_\mathrm{in}) + K_0(w_\mathrm{ex}) I_1(w_\mathrm{in})}{D}, \\ z_\mathrm{transfer} &= \frac{1}{2 \pi r_\mathrm{in} r_\mathrm{ex} \sigma D}, \end{aligned}\]
where $D = I_1(w_\mathrm{ex}) K_1(w_\mathrm{in}) - I_1(w_\mathrm{in}) K_1(w_\mathrm{ex})$, $w = m r$, $m = \sqrt{s \mu \sigma}$, $\mu = \mu_0 \mu_r$ and $\sigma = 1 / \rho$. Here $s$ is the complex frequency [1/s], $r$ is the radius of the corresponding conductor surface [m], $m$ is the radial wavenumber [1/m], $\sigma$ is the conductivity [S/m], $\rho$ is the resistivity [Ω·m], $\mu$ is the permeability [H/m] and $\mu_r$ is the relative permeability [dimensionless]. The constant $\mu_0$ is vacuum_permeability. The modified Bessel functions $I_\nu$ and $K_\nu$ have order $\nu$.
A solid conductor, with $r_\mathrm{in} = 0$, has no inner surface: its inner and transfer impedances are zero, and its outer impedance is $s \mu I_0(w_\mathrm{ex}) / (2 \pi w_\mathrm{ex} I_1(w_\mathrm{ex}))$. The implementation evaluates the Bessel functions in their exponentially scaled form.
LineCableModels.Engine.InternalImpedance.FORMULAS — Constant
Identifiers of the internal-impedance formulas.
LineCableModels.Engine.InternalImpedance.Formula — Type
struct Formula{ID, O<:LineCableModels.Commons.FormulationOptions} <: LineCableModels.Engine.AbstractInternalImpedanceRepresent a formula for the surface impedances of a tubular conductor. Its options form a record of type FormulationOptions{Formula{ID}}, with ID the formula identifier.
options::LineCableModels.Commons.FormulationOptions: Options of the formula.
LineCableModels.Engine.InternalImpedance.Formula — Method
Formula(
::Val{ID};
kw...
) -> LineCableModels.Engine.InternalImpedance.Formula
Build the formula named by ID with its declared defaults and supplied options.
Arguments
Val{ID}: formula identifier fromFORMULAS.
Keywords
kw...: options declared bydefaultsforFormula{ID}.
Returns
- A
Formulawith a typed option record.
Errors
- Throws
ArgumentErrorfor an unknown identifier or option.
LineCableModels.Engine.impedance — Method
impedance(
_::LineCableModels.Engine.InternalImpedance.Formula{:schelkunoff1934},
r_in::Real,
r_ex::Real,
rho::Real,
mu_r::Real,
s::Complex{T<:Real}
) -> NamedTuple{(:inner, :outer, :transfer), <:Tuple{Any, Any, Any}}
Return the inner, outer, and transfer surface impedances of a tubular conductor by the formula Formula{:schelkunoff1934}, whose equations are in the section "Formulas" of InternalImpedance.
Arguments
Formula{:schelkunoff1934}: cylindrical surface-impedance formula.r_in: inner radius [m].r_ex: outer radius, in [m].rho: resistivity [Ω·m].mu_r: relative permeability [dimensionless].s: complex frequency,j 2π f, in [1/s].
Returns
inner: impedance of the inner surface [Ω/m].outer: impedance of the outer surface, in [Ω/m].transfer: transfer impedance between the two surfaces [Ω/m].
Errors
- Throws
DomainErrorunless the radii are finite with0 ≤ r_in < r_ex,rhoandmu_rare positive and finite, andsis finite and nonzero.
Resistivity
LineCableModels.Engine.Resistivity — Module
LineCableModels.Engine.ResistivityCompute conductor resistivity as a function of temperature.
Formulas
Formula{:linear}
Resistivity of a conductor at the temperature $\theta$, by the linear correction of its reference value [9]:
\[\rho(\theta) = \rho_0 \left[1 + \alpha (\theta - T_0)\right],\]
where $\rho_0$ is the resistivity rho of the material at the reference temperature $T_0$, the field T0 [°C], in [Ω·m], $\alpha$ is the temperature coefficient alpha [1/K], and $\theta$ is the conductor temperature [°C]. The law holds within 150 K of $T_0$ and returns an infinite resistivity unchanged.
LineCableModels.Engine.Resistivity.FORMULAS — Constant
Identifiers of the resistivity formulas.
LineCableModels.Engine.Resistivity.Formula — Type
struct Formula{ID, O<:LineCableModels.Commons.FormulationOptions} <: LineCableModels.Engine.AbstractResistivityRepresent a temperature law for conductor resistivity. Its options form a record of type FormulationOptions{Formula{ID}}, with ID the formula identifier.
options::LineCableModels.Commons.FormulationOptions: Options of the formula.
LineCableModels.Engine.Resistivity.Formula — Method
Formula(
::Val{ID};
kw...
) -> LineCableModels.Engine.Resistivity.Formula
Build the formula named by ID with its declared defaults and supplied options.
Arguments
Val{ID}: formula identifier fromFORMULAS.
Keywords
kw...: options declared bydefaultsforFormula{ID}.
Returns
- A
Formulawith a typed option record.
Errors
- Throws
ArgumentErrorfor an unknown identifier or option.
LineCableModels.Engine.resistivity — Method
resistivity(
_::LineCableModels.Engine.Resistivity.Formula{:linear},
material::Material{T<:Real},
temperature::Real
) -> Any
Return the resistivity of material at temperature by the formula Formula{:linear}, whose equation is in the section "Formulas" of Resistivity.
Arguments
Formula{:linear}: linear temperature law.material: material of the conductor.temperature: temperature of the conductor [°C].
Returns
- Resistivity [Ω·m].
Errors
- Throws
DomainErrorwhen the temperature difference fromT0is nonfinite or at least 150 K. - Throws
DomainErrorwhen the factor in brackets is nonpositive or nonfinite.