CoaxialLine

class pmrf.models.components.lines.CoaxialLine(length: Any = 1.0, din: Any = 0.00112, dout: Any = 0.0032, epr: Any = 1.0, mur: Any = 1.0, tand: Any = 0.0, rho: Any = 1.68e-08, *, name: str | None = None, z0: complex = 50 + 0j)

Bases: RLGCLine

Coaxial line defined directly by its physical geometry and material properties.

Mathematical Formulation

Ideal non-dispersive components (\(L'\) and \(C'\)) and dielectric loss (\(G\)) are given by:

\[L' = \frac{\mu_0 \mu_r}{2\pi} \ln\left(\frac{b}{a}\right)\]
\[C' = \frac{2\pi \varepsilon_0 \varepsilon_r}{\ln(b/a)}\]
\[G_{diel} = \frac{2\pi \omega \varepsilon_0 \varepsilon_r \tan\delta}{\ln(b/a)}\]

The internal surface impedance defining frequency-dependent skin resistance (\(R_{skin}\)) and skin inductance (\(L_{skin}\)) is governed by:

\[R_{skin} = \frac{1}{2\pi a} \sqrt{\frac{\omega\mu}{2\sigma_a}} + \frac{1}{2\pi b} \sqrt{\frac{\omega\mu}{2\sigma_b}}\]
\[L_{skin} = \frac{1}{2\pi a} \sqrt{\frac{\mu}{2\omega\sigma_a}} + \frac{1}{2\pi b} \sqrt{\frac{\mu}{2\omega\sigma_b}}\]

Where \(a\) is the inner radius, \(b\) is the outer radius, and \(\sigma\) is the conductor conductivity (\(1/\rho\)). The total per-unit-length inductance is \(L = L' + L_{skin}\).

Example

import pmrf as prf
from pmrf.core import CoaxialLine

phys_cable = CoaxialLine(
    din=0.9e-3,
    dout=2.95e-3,
    epr=1.5,
    tand=0.0004,
    rho=1.72e-8,
    length=0.5
)

freq = prf.Frequency(start=1, stop=20, npoints=101, unit='ghz')
s_phys = phys_cable.s(freq)
Variables:
  • din (Parameter, default=1.12e-3) – Inner conductor diameter in meters.

  • dout (Parameter, default=3.2e-3) – Outer conductor inner diameter in meters.

  • epr (Parameter, default=1.0) – Relative permittivity of the dielectric.

  • mur (Parameter, default=1.0) – Relative permeability.

  • tand (Parameter, default=0.0) – Loss tangent of the dielectric.

  • rho (Parameter, default=1.68e-8) – Resistivity of the conductors in Ohm-meters.

C_prime(freq: Frequency) Array
G_diel(freq: Frequency) Array
L_prime(freq: Frequency) Array
L_skin(freq: Frequency) Array
R_skin(freq: Frequency) Array
Z_skin(freq: Frequency)
rlgc(freq: Frequency) tuple[Array, Array, Array, Array]

Calculates the frequency-dependent RLGC parameters.

Parameters:

freq (Frequency) – The frequency axis.

Returns:

The R, L, G, and C parameter vectors.

Return type:

tuple

din: Parameter = 0.00112
dout: Parameter = 0.0032
epr: Parameter = 1.0
property eps: Array
property mu: Array
mur: Parameter = 1.0
rho: Parameter = 1.68e-08
tand: Parameter = 0.0