pmrf.models.lumped

Classes

Capacitor([C, name, separator, metadata, ...])

A 2-port model of a series capacitor.

Inductor([L, name, separator, metadata, ...])

A 2-port model of a series inductor.

Load(gamma[, nports, name, separator, ...])

An abstract base class for N-port loads defined by their reflection coefficient.

Resistor([R, name, separator, metadata, ...])

Overview

ShuntCapacitor([C, name, separator, ...])

A 2-port model of a shunt capacitor.

ShuntInductor([L, name, separator, ...])

A 2-port model of a shunt inductor.

ShuntResistor([R, name, separator, ...])

A 2-port model of a shunt resistor.

class pmrf.models.lumped.Load(gamma, nports=1, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

An abstract base class for N-port loads defined by their reflection coefficient.

Parameters:
  • gamma (float)

  • nports (int)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

gamma: float
nports: int = 1
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

__init__(gamma, nports=1, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • gamma (float)

  • nports (int)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.lumped.Capacitor(C=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A 2-port model of a series capacitor.

Parameters:
  • C (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

C: Parameter = 1.0
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

__init__(C=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • C (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.lumped.Inductor(L=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A 2-port model of a series inductor.

Parameters:
  • L (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

L: Parameter = 1.0
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

__init__(L=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • L (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.lumped.Resistor(R=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

Overview

A 2-port model of a series resistor.

Parameters:
  • R (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

R: Parameter = 1.0
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

__init__(R=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • R (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.lumped.ShuntCapacitor(C=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A 2-port model of a shunt capacitor.

This model represents a capacitor connected from the signal path to the ground reference, placed between port 1 and port 2.

Parameters:
  • C (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

C: Parameter = 1.0
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

__init__(C=1.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • C (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.lumped.ShuntResistor(R=50.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A 2-port model of a shunt resistor.

This model represents a resistor connected from the signal path to the ground reference, placed between port 1 and port 2.

Parameters:
  • R (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

nports = 2
R: Parameter = 50.0
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

__init__(R=50.0, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • R (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.lumped.ShuntInductor(L=1e-09, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A 2-port model of a shunt inductor.

Parameters:
  • L (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

nports = 2
L: Parameter = 1e-09
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

__init__(L=1e-09, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • L (Any)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None