AbstractSurfaceImpedance

class pmrf.materials.AbstractSurfaceImpedance

Bases: Module

Abstract base class for a conductor surface-impedance formulation.

Formulations operate on evaluated arrays. Required geometry varies by cross-section, so only the material argument is common to the interface.

Normalisation convention

Each formulation returns an impedance in ohm per square. The caller multiplies it by a geometry weight \(k\) in inverse metres to obtain the per-unit-length series impedance. For example, SchelkunoffRodSurfaceImpedance is referred to the total rod current and is paired with \(k=1/(2\pi a)\).

Planar formulations require care because Wheeler’s incremental-inductance weight includes the ground plane and edge-current crowding. By contrast, HollowayKuesterSlabSurfaceImpedance describes one-dimensional diffusion in the strip and is normalised to the total strip current. Its dc limit requires \(k=1/(2W)\); using Wheeler’s weight cannot reproduce both the dc resistance and strong-skin asymptote. RootSumSquareSlabSurfaceImpedance uses the optional weight argument to match both limits and is therefore the planar default. A full Holloway–Kuester treatment charges the strip and the ground plane on separate weights; that is TraceGroundCurrentDistribution, which emits one pair per surface.

abstractmethod impedance(omega, conductor: ConductorProperties, **geometry) Array

Return the surface impedance of this cross-section, in ohm per square.

Parameters:
  • omega (ArrayLike) – Angular frequency in rad/s. w is reserved for strip width.

  • conductor (ConductorProperties) – Evaluated metal properties. conductor.zs is the surface prefactor, including any surface treatment, and conductor.gamma(omega) is the bulk diffusion constant. Treat them as independent: \(\gamma=\sigma\zeta_c\) holds only for a smooth bulk conductor.

  • **geometry – Cross-section-specific dimensions in metres. Implementations ignore dimensions they do not use.

  • weight (ArrayLike, optional) – Caller’s geometry weight in inverse metres. Only RootSumSquareSlabSurfaceImpedance uses it to express its dc limit in the caller’s normalisation.

Returns:

Surface impedance in ohm per square.

Return type:

jnp.ndarray