pmrf.models.utility

Classes

AModel(a_array, *[, name, separator, ...])

A general model defined by a constant ABCD matrix.

DictModel(models, *[, name, separator, ...])

A container model that holds a dictionary of sub-models.

ListModel(models, *[, name, separator, ...])

A container model that holds a list of sub-models.

Measured(network, *[, name, separator, ...])

A model wrapping a static Measured Network (e.g., from a Touchstone file).

SModel(s_array, *[, name, separator, ...])

A general model defined by a constant S-parameter matrix.

class pmrf.models.utility.Measured(network, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A model wrapping a static Measured Network (e.g., from a Touchstone file).

This model takes a skrf.Network and interpolates its S-parameters to the frequency grid requested during simulation.

Parameters:
  • network (Network)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

network

The static network data containing S-parameters and frequency information. Marked as static to avoid tracing overhead in JAX.

Type:

skrf.Network

network: Network
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__(network, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • network (Network)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.utility.SModel(s_array, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A general model defined by a constant S-parameter matrix.

Parameters:
  • s_array (array)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

s_array

The static S-parameter array.

Type:

jnp.array

s_array: array
s(_freq)[source]

Scattering parameter matrix.

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

Parameters:
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__(s_array, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • s_array (array)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

class pmrf.models.utility.AModel(a_array, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

A general model defined by a constant ABCD matrix.

Parameters:
  • a_array (array)

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

a_array

The static ABCD-parameter array.

Type:

jnp.array

a_array: array
a(_freq)[source]

Calculates the ABCD parameter matrix.

If only s() is implemented, this is calculated using the conversion pmrf.functions.conversions.s2a().

Parameters:
Returns:

ABCD matrix with shape (nf, 2, 2).

Return type:

jnp.ndarray

Raises:

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

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

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

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

Bases: Model

A container model that holds a list of sub-models.

Parameters:
  • models (list[Model])

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

models

The list of child models.

Type:

list[Model]

models: list[Model]
__init__(models, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • models (list[Model])

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None

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

Bases: Model

A container model that holds a dictionary of sub-models.

Parameters:
  • models (dict[str, Model])

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

models

A dictionary mapping names to child models.

Type:

dict[str, Model]

models: dict[str, Model]
__init__(models, *, name=None, separator='_', metadata=<factory>, _z0=(50+0j), _param_groups=<factory>)
Parameters:
  • models (dict[str, Model])

  • name (str | None)

  • separator (str)

  • metadata (dict)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

Return type:

None