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:
AbstractImmittanceLineMicrostrip line defined by geometry and materials.
The defaults are
HammerstadJensenMicrostripFormulation,KirschningJansenMicrostripDispersion, andWheelerCurrentDistribution.WheelerMicrostripFormulationis 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
substrateor 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 aConstantDielectric.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.
Noneuses 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.
Nonedisables 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
dispersionis 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:
- 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