MicrostripLine

class pmrf.models.components.lines.microstrip.MicrostripLine(w: Any = 0.003, *, length: Any, substrate: Any = None, h: Param | None = None, dielectric=None, conductor=None, t: Param | None = None, formulation: AbstractMicrostripFormulation | None = None, dispersion: AbstractMicrostripDispersion | None = <object object>, current_distribution: AbstractCurrentDistribution | None = None, name: str | None = None, metadata=None)

Bases: AbstractImmittanceLine

Microstrip line defined by geometry and materials.

The defaults are HammerstadJensenMicrostripFormulation, KirschningJansenMicrostripDispersion, and WheelerCurrentDistribution. WheelerMicrostripFormulation is available as a zero-thickness quasi-static alternative.

Mathematical Formulation

Complex permittivity is propagated through the quasi-static and dispersion formulations, so \(\varepsilon_e\) includes dielectric loss:

\[\gamma_m=\frac{j\omega}{c}\sqrt{\varepsilon_e(f)}.\]

Static conductivity contributes separately as \(G=\sigma K_g\), avoiding a singular permittivity at dc. Microstrip formulations require \(\mu_r=1\).

Wheeler’s current distribution gives

\[\alpha_c=\frac{\Re(Z_s)}{\Re(Z_{c,loss})W} \exp\left[-1.2\left(\frac{\Re(Z_{c,loss})}{Z_0}\right)^{0.7}\right],\]
using the physical width \(W\) and the active quasi-static or dispersed \(Z_c\). With finite thickness, the default slab formulation adds \(R_{dc}=1/(\sigma Wt)\) through \(R=\sqrt{R_{dc}^2+R_{ac}^2}\). An unspecified thickness applies the half-space skin-effect model without a dc floor.

Example

import pmrf as prf
from pmrf.models import MicrostripLine
from pmrf.materials import BulkConductor, ConstantDielectric

phys_microstrip = MicrostripLine(
    w=4e-3,
    h=2.0e-3,
    dielectric=ConstantDielectric(ep_r=4.6, tand=0.025),
    conductor=BulkConductor(sigma=5.8e7),
    length=0.5
)

freq = prf.Frequency(start=1, stop=20, npoints=101, unit='ghz')
s_phys = phys_microstrip.s(freq)

Supply either substrate or its individual fields, not both.

Parameters:
  • w (Param, default=3e-3) – Width of the microstrip trace in meters.

  • substrate (Substrate, optional) – Substrate carrying the trace.

  • h (Param, default=1.6e-3) – Height of the dielectric substrate in meters. Loose form of substrate.h.

  • dielectric (AbstractDielectric, default=ConstantDielectric(ep_r=4.3)) – The substrate material. A scalar permittivity or an (ep_r, tand) tuple is coerced into a ConstantDielectric.

  • conductor (AbstractConductor, default=BulkConductor()) – The material of the trace and ground plane. A scalar conductivity in S/m is coerced into a BulkConductor.

  • t (Param | None, default=None) – Conductor thickness. A positive value supplies a dc resistance floor and may refine the quasi-static geometry. None uses the half-space conductor model without a dc floor.

  • formulation (AbstractMicrostripFormulation, default=HammerstadJensenMicrostripFormulation()) – The closed-form physics used to compute the quasi-static solution.

  • dispersion (AbstractMicrostripDispersion | None, default=KirschningJansenMicrostripDispersion()) – The modal-dispersion correction. None disables modal dispersion and preserves the quasi-static immittance path.

References

Wheeler, H. A. (1942). Formulas for the Skin Effect. Proceedings of the IRE, 30(9), 412-424.

Schneider, M. V. (1969). Dielectric Loss in Integrated Microwave Circuits. Bell System Technical Journal, 48(7).

Schneider, M. V. (1969). Microstrip Lines for Microwave Integrated Circuits. Bell System Technical Journal, 48(5), 1421-1444.

Kirschning, M., & Jansen, R. H. (1982). Accurate Model for Effective Dielectric Constant of Microstrip with Validity up to Millimeter-Wave Frequencies. Electronics Letters, 18(6), 272-273.

Jansen, R. H., & Kirschning, M. (1983). Arguments and an Accurate Model for the Power-Current Formulation of Microstrip Characteristic Impedance. Archiv fuer Elektronik und Uebertragungstechnik, 37, 108-112.

ep_eff(freq: Frequency) Array

Return the effective relative permittivity used by immittance().

This includes modal dispersion when dispersion is set. Its imaginary part carries dielectric loss.

Parameters:

freq (Frequency) – Frequencies at which to evaluate the line.

Returns:

Complex effective relative permittivity, shape (npoints,).

Return type:

jnp.ndarray

immittance(freq: Frequency) ImmittanceResult

Calculates the frequency-dependent per-unit-length immittance.

Parameters:

freq (Frequency) – The frequency axis.

Returns:

The series impedance and shunt admittance vectors.

Return type:

ImmittanceResult

w_eff(freq: Frequency) Array

Return the effective conductor width used by immittance().

Parameters:

freq (Frequency) – Frequencies at which to evaluate the line.

Returns:

Effective conductor width in meters, shape (npoints,).

Return type:

jnp.ndarray

current_distribution: AbstractCurrentDistribution

The conductor current-distribution strategy

dispersion: AbstractMicrostripDispersion | None

The modal-dispersion formulation, or None to disable it

formulation: AbstractMicrostripFormulation

The underlying physics formulation

substrate: Substrate

The substrate carrying the trace

w: Param = 0.003

Width of the microstrip trace