Model Hierarchy

pmrf.models.adapters.static.AModel(a_matrix, ...)

A model storing static ABCD-parameters (cascade) as raw arrays.

pmrf.models.adapters.delegated.AbstractBuilder(*)

Abstract base for an RF model implemented by building another model.

pmrf.models.adapters.base.AbstractDiscrete(...)

(experimental) A model whose properties are defined on a discrete (tabulated) frequency grid.

pmrf.models.adapters.bridge.AbstractHost(*)

An abstract base class for models where computation occurs on the Host (CPU/Python) rather than the Device (XLA/GPU).

pmrf.models.adapters.base.AbstractSingleDiscreteDomain(...)

(experimental) Base model providing a single dynamic domain from a discrete grid.

pmrf.models.adapters.base.AbstractSingleDomain(*)

(experimental) Base model wrapping a single known domain type.

pmrf.models.adapters.callable.ContinuousCallable(fn, ...)

A model that predicts its output at an arbitrary frequency using an arbitrary callable.

pmrf.models.adapters.derived.Derived(operands, *)

A model computed by a function from a base and new named parameters.

pmrf.models.adapters.callable.DiscreteCallable(...)

A model that predicts its output at a discrete set of frequencies already known to the model using an arbitrary callable.

pmrf.models.adapters.static.SModel(s_matrix, ...)

A model storing static S-parameters (scattering) as raw arrays.

pmrf.models.adapters.static.SkrfNetwork(network)

A model wrapping a static skrf.Network or NetworkCollection.

pmrf.models.adapters.static.Touchstone(file)

A model for a touchstone file.

pmrf.models.adapters.wrapped.Wrapped(wrapped, *)

Adapt a module that unwraps to a model to the RF model interface.

pmrf.models.adapters.static.YModel(y_matrix, ...)

A model storing static Y-parameters (admittance) as raw arrays.

pmrf.models.adapters.static.ZModel(z_matrix, ...)

A model storing static Z-parameters (impedance) as raw arrays.

pmrf.models.base.Model(*[, name, metadata])

Base class for RF models.

pmrf.models.components.ideal.Amplifier(gain, *)

(experimental) An ideal, matched, unilateral 2-port amplifier.

pmrf.models.components.ideal.Attenuator(loss, *)

(experimental) A matched, 2-port physical attenuator.

pmrf.models.components.ideal.Autotransformer([...])

(experimental) An ideal, lossless, frequency-independent 3-port 1:N autotransformer.

pmrf.models.components.ideal.Balun([N, ...])

(experimental) An ideal, lossless, frequency-independent 3-port 1:N balun.

pmrf.models.components.ideal.CentreTappedTransformer([...])

(experimental) An ideal, lossless, frequency-independent 5-port 1:N transformer with a tapped primary winding.

pmrf.models.components.ideal.DirectionalCoupler(...)

(experimental) An ideal 4-port tunable directional coupler.

pmrf.models.components.ideal.Ground(*[, ...])

Represents a ground connection.

pmrf.models.components.ideal.Isolator([...])

(experimental) An ideal 2-port isolator.

pmrf.models.components.ideal.Load(gamma[, ...])

A class for ideal N-port loads defined by their reflection coefficient.

pmrf.models.components.ideal.Match([nports, ...])

A standard ideal matched circuit load (gamma = 0.0).

pmrf.models.components.ideal.MixedModeConverter(*)

(experimental) An ideal, lossless, frequency-independent 4-port mixed-mode converter.

pmrf.models.components.ideal.Open([nports, ...])

A standard ideal open circuit load (gamma = 1.0).

pmrf.models.components.ideal.Port([z0, ...])

Represents a circuit port with a reference impedance.

pmrf.models.components.ideal.Short([nports, ...])

A standard ideal short circuit load (gamma = -1.0).

pmrf.models.components.ideal.SourceConverter(*)

(experimental) An ideal 3-port source converter.

pmrf.models.components.ideal.Splitter([...])

(experimental) An ideal n-way parallel node (lossless junction).

pmrf.models.components.ideal.Tee(*[, name, ...])

(experimental) An ideal, lossless 3-port Tee junction.

pmrf.models.components.ideal.Transformer([...])

(experimental) An ideal, lossless, frequency-independent 4-port 1:N transformer.

pmrf.models.components.lines.coaxial.AbstractCoaxialFormulation()

Abstract base class for a closed-form coaxial formulation.

pmrf.models.components.lines.planar.AbstractCurrentDistribution()

Surface-current distribution for a transmission-line cross-section.

pmrf.models.components.lines.base.AbstractImmittanceLine(...)

Abstract base class for a transmission line defined by its per-unit-length series impedance and shunt admittance.

pmrf.models.components.lines.microstrip.AbstractMicrostripDispersion()

Abstract modal-dispersion formulation for an inhomogeneous microstrip.

pmrf.models.components.lines.microstrip.AbstractMicrostripFormulation()

Abstract base class for a closed-form microstrip formulation.

pmrf.models.components.lines.planar.AbstractPlanarCrossSection()

Cross-section geometry for a planar line family.

pmrf.models.components.lines.profiles.AbstractProfile(*)

Abstract base class for a profile: a shape a parameter follows along a line.

pmrf.models.components.lines.stripline.AbstractStriplineFormulation()

Abstract base class for a closed-form stripline formulation.

pmrf.models.components.lines.base.AbstractUniformLine(*)

Abstract base class for all uniform transmission line models.

pmrf.models.components.lines.coaxial.CoaxialLine(...)

Coaxial line defined by geometry and materials.

pmrf.models.components.lines.stripline.CohnCurrentDistribution()

Cohn's stripline current distribution.

pmrf.models.components.lines.stripline.CohnStriplineFormulation()

Cohn's stripline formulation, in the form tabulated by Pozar.

pmrf.models.components.lines.empirical.DatasheetLine(length)

Line defined by nominal impedance, velocity factor, and loss coefficients.

pmrf.models.components.lines.ideal.DelayLine([...])

Ideal, lossless, and dispersionless transmission line defined by a constant time delay.

pmrf.models.components.lines.profiles.ExponentialProfile(...)

A profile varying exponentially between two endpoint values.

pmrf.models.components.lines.nodal.FloatingLine(...)

A wrapper that converts a 2-port single-ended transmission line into a 4-port floating line with an explicit return path.

pmrf.models.components.lines.microstrip.HammerstadJensenMicrostripFormulation()

Hammerstad--Jensen quasi-static microstrip formulation.

pmrf.models.components.lines.base.ImmittanceResult(Z, ...)

Per-unit-length series impedance and shunt admittance of a line.

pmrf.models.components.lines.microstrip.IncrementalInductanceCurrentDistribution(...)

Wheeler's incremental-inductance rule, evaluated by autodiff.

pmrf.models.components.lines.microstrip.KirschningJansenMicrostripDispersion()

Kirschning--Jansen modal dispersion for microstrip.

pmrf.models.components.lines.profiles.KlopfensteinProfile(...)

Klopfenstein's taper: the shape with the smallest passband reflection for a given length.

pmrf.models.components.lines.profiles.LinearProfile(...)

A profile varying linearly between two endpoint values.

pmrf.models.components.lines.microstrip.MicrostripCrossSection(w, h)

Cross-section of a strip on a grounded dielectric sheet.

pmrf.models.components.lines.microstrip.MicrostripLine(w, ...)

Microstrip line defined by geometry and materials.

pmrf.models.components.lines.ideal.PhaseLine([...])

Ideal, lossless, and dispersionless transmission line defined by electrical length at a reference frequency.

pmrf.models.components.lines.empirical.PhysicalLine(length)

Line defined by nominal impedance, permittivity, and loss coefficients.

pmrf.models.components.lines.planar.PlanarQuasiStaticResult(...)

Quasi-static solution of a single-conductor planar line over a ground plane.

pmrf.models.components.lines.ideal.RLGCLine(length)

Transmission line with specified RLGC parameters.

pmrf.models.components.lines.coaxial.SchelkunoffCoaxialFormulation([...])

Coaxial line formulation using Schelkunoff's exact cylindrical solution.

pmrf.models.components.lines.stripline.StriplineCrossSection(w, b)

Cross-section of a centre strip between two ground planes.

pmrf.models.components.lines.stripline.StriplineLine(...)

Stripline defined by its geometry and material modules.

pmrf.models.components.lines.coaxial.TescheCoaxialFormulation([...])

Coaxial line formulation using Tesche's equivalent-circuit approximation.

pmrf.models.components.lines.microstrip.TraceGroundCurrentDistribution(...)

Trace and ground plane charged as separate surfaces.

pmrf.models.components.lines.base.TransmissionLine(*)

Abstract base interface for transmission lines.

pmrf.models.components.lines.microstrip.WheelerCurrentDistribution(...)

Wheeler's incremental-inductance current distribution.

pmrf.models.components.lines.microstrip.WheelerMicrostripFormulation()

Microstrip line formulation using the standard Wheeler approximations.

pmrf.models.components.lumped.Admittance(G, B, *)

A 2-port model of a generic series admittance (G + jB).

pmrf.models.components.lumped.Capacitor(C, *)

A 2-port model of a series capacitor.

pmrf.models.components.lumped.CapacitorQ(C, Q, *)

A 2-port model of a series capacitor with a finite Quality Factor (Q).

pmrf.models.components.lumped.CoupledInductors(L1, ...)

A 4-port model of two inductors sharing a mutual inductance.

pmrf.models.components.lumped.Impedance(R, X, *)

A 2-port model of a generic series impedance (R + jX).

pmrf.models.components.lumped.Inductor(L, *)

A 2-port model of a series inductor.

pmrf.models.components.lumped.InductorQ(L, Q, *)

A 2-port model of a series inductor with a finite Quality Factor (Q).

pmrf.models.components.lumped.Resistor(R, *)

A 2-port model of a series resistor.

pmrf.models.components.lumped.SeriesRL(R, L, *)

A 2-port model of a series resistor and inductor (Z = R + j*w*L).

pmrf.models.components.lumped.ShuntCapacitor(C, *)

A 2-port model of a shunt capacitor shunting to ground.

pmrf.models.components.lumped.ShuntInductor(L, *)

A 2-port model of a shunt inductor shunting to ground.

pmrf.models.components.lumped.ShuntResistor(R, *)

A 2-port model of a shunt resistor shunting to ground.

pmrf.models.components.sections.BoxSection(Y1, ...)

A 4-port model of a general Box-network.

pmrf.models.components.sections.BoxSectionCLCC(C1, ...)

A 4-port model of a Box-network with a Capacitor-Inductor-Capacitor-Capacitor topology.

pmrf.models.components.sections.LSection(Z, Y, *)

A 2-port model of a general L-section impedance matching network.

pmrf.models.components.sections.LSectionLC(L, C, *)

A 2-port model of an L-section impedance matching network.

pmrf.models.components.sections.PiSection(Y1, ...)

A 2-port model of a general Pi-network.

pmrf.models.components.sections.PiSectionCLC(C1, ...)

A 2-port model of a Pi-network with a Capacitor-Inductor-Capacitor topology.

pmrf.models.components.sections.TSection(Z1, ...)

A 2-port model of a general Tee-network.

pmrf.models.components.sections.TSectionLCL(L1, ...)

A 2-port model of a Tee-network with an Inductor-Capacitor-Inductor topology.

pmrf.models.composite.interconnected.cascade.Cascade(...)

Represents a cascade, or series connection, of two or more Model objects.

pmrf.models.composite.interconnected.cascade.RepeatedCascade(...)

A cascade of many copies of one model, built under a single vmap.

pmrf.models.composite.interconnected.circuit.base.AbstractAdmittanceCircuitSolver()

Abstract base class for solvers that resolve arbitrary circuit networks in the Admittance domain.

pmrf.models.composite.interconnected.circuit.base.AbstractMNACircuitSolver()

Abstract base class for solvers that resolve arbitrary circuits using MNA.

pmrf.models.composite.interconnected.circuit.base.AbstractScatteringCircuitSolver()

Abstract base class for solvers that resolve arbitrary circuit networks in the Scattering domain.

pmrf.models.composite.interconnected.circuit.base.AdmittanceResult(y)

Data container for the result of an admittance simulation.

pmrf.models.composite.interconnected.circuit.circuit.Circuit(...)

Represents an arbitrary interconnection of multiple models.

pmrf.models.composite.interconnected.circuit.solvers.nodal.GlobalMNACircuitSolver([...])

Global Modified Nodal Analysis (MNA) circuit solver.

pmrf.models.composite.interconnected.circuit.solvers.nodal.GlobalNodalCircuitSolver([...])

Global Y-domain Nodal Admittance circuit solver.

pmrf.models.composite.interconnected.circuit.solvers.scattering.GlobalScatteringCircuitSolver([...])

Global S-parameter reduction solver.

pmrf.models.composite.interconnected.circuit.solvers.scattering.HierarchicalScatteringCircuitSolver([...])

Hierarchical S-parameter reduction solver.

pmrf.models.composite.interconnected.circuit.base.MNARepresentation(...)

Static topological representation for Modified Nodal Analysis (MNA) assembly and reduction.

pmrf.models.composite.interconnected.circuit.base.NodalRepresentation(...)

Static topological representation for nodal admittance assembly and reduction.

pmrf.models.composite.interconnected.circuit.base.PortRepresentation(...)

pmrf.models.composite.interconnected.circuit.base.ScatteringResult(s, z0)

Data container for the result of a scattering simulation.

pmrf.models.composite.interconnected.circuit.solvers.scattering.SequentialScatteringCircuitSolver([...])

Sequential S-parameter reduction solver (Matrix Contraction).

pmrf.models.composite.interconnected.terminated.Terminated(...)

Represents one network terminated in another.

pmrf.models.composite.nodal.CoupledOnePorts(...)

(experimental) Wraps N 1-port models (e.g. inductors) and couples them via a given K-matrix.

pmrf.models.composite.nodal.CoupledTwoPorts(...)

(experimental) Wraps N 2-port models (e.g., Inductors) and couples them via a given K-matrix.

pmrf.models.composite.nodal.FloatingTwoPort(...)

Lift a two-port model into a canonical floating four-terminal model.

pmrf.models.composite.nodal.GroundExposed(...)

A wrapper that converts an N-port grounded model into an (N+1)-port model by exposing the global ground as a single, accessible terminal.

pmrf.models.composite.nodal.GroundLifted(...)

A wrapper that converts an N-port grounded model into a 2N-port ungrounded model.

pmrf.models.composite.nodal.Series(series, *)

Connect a 1-port impedance in series along a 2-port line.

pmrf.models.composite.nodal.Shunt(shunt, *)

Represents a 1-port network connected in parallel (shunt) across a 2-port line.

pmrf.models.composite.topological.LTopology(M1, ...)

(experimental) A 2-port L-section network built from nested sub-models.

pmrf.models.composite.topological.PiTopology(M1, ...)

(experimental) A 2-port Pi-network built from nested sub-models.

pmrf.models.composite.topological.TTopology(M1, ...)

(experimental) A 2-port Tee-network built from nested sub-models.

pmrf.models.composite.transformed.Flipped(...)

A model container that flips the ports of a multi-port network.

pmrf.models.composite.transformed.Renumbered(...)

A container that re-numbers the ports of a given Model.

pmrf.models.line_discrepancy.AbstractLineDiscrepancy(*)

Real log corrections with shape (2, 2, nf) on a frequency grid.

pmrf.models.line_discrepancy.BasisLineDiscrepancy(...)

Four-channel Hilbert-space GP basis with standard-normal coefficients.

pmrf.models.line_discrepancy.GridLineDiscrepancy(...)

Dense line internal discrepancy on one frozen frequency grid.

pmrf.models.line_discrepancy.LineCorrected(...)

A lossy uniform line corrected on $Z_c$, $alpha$ and $beta$.

pmrf.models.line_discrepancy._CorrectedLine(...)

pmrf.models.port_discrepancy.AbstractPortDiscrepancy(*)

A port discrepancy returning a complex (nf, n, n) matrix.

pmrf.models.port_discrepancy.GridPortDiscrepancy(...)

Dense port discrepancy on one frozen frequency grid.

pmrf.models.port_discrepancy.PortCorrected(...)

A component or sub-circuit corrected at a reference impedance.

pmrf.models.port_discrepancy._CorrectedPorts(...)

pmrf.models.surrogates.rational.BarycentricRational([...])

(experimental) A highly numerically stable rational model defined by a barycentric expansion: H(s) = [ sum( w_i * f_i / (s - s_i) ) ] / [ sum( w_i / (s - s_i) ) ]

pmrf.models.surrogates.rational.PoleResidue(...)

(experimental) A general N-port model defined by a pole-residue expansion: H(s) = D + sum( R_i / (s - p_i) )

pmrf.models.surrogates.rational.PolynomialRatio(A, B, *)

(experimental) A general N-port model defined by a ratio of polynomials H(s) = A(s) / B(s) where s = j*w.

pmrf.models.surrogates.rational.StateSpace(A, ...)

(experimental) A general N-port model defined by continuous-time state-space matrices: H(s) = C * (sI - A)^-1 * B + D

pmrf.models.surrogates.expansion.VectorExpansion(...)

(experimental) A model where the output is a linear expansion of vector/matrix basis functions with an optional offset.