CoupledOnePorts

class pmrf.models.composite.nodal.CoupledOnePorts(coupled: list[Model], coupling: Any, method: str = 'coefficients', *, name: str | None = None, metadata: Any = None)

Bases: Model

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

Parameters:
  • coupled (list[Model]) – The sequence of 1-port models to couple.

  • coupling (Any) – The coupling definition between the elements. Meaning depends on method. For fixed coupling, pass Python collections and numpy arrays. For variable coupling, pass parameters from pmrf.parameters.

  • method (str, default='coefficients') – The meaning of coupling. Options are (‘coefficients’, ‘matrix’). For ‘coefficients’, must be a list of tuples (model_i, model_j, k_factor). For ‘matrix’, must be an NxN coupling matrix which is symmetric, has 1.0 on the diagonals, and is positive semi-definite.

  • Reference

  • ---------

  • defined (Creates an N-port model where the off-diagonal interactions are)

  • relation (by the mutual admittance)

  • $$ ($$ Y_{ij} = k_{ij} sqrt{Y_{ii} Y_{jj}})

coupled: list[Model]

The sequence of 1-port models to couple.

coupling: Any

The coupling definition (list of tuples or array-like matrix).

property coupling_matrix: Array

Evaluates the coupling definition based on the method and returns the NxN coupling matrix.

Returns:

The full, symmetric NxN coupling matrix.

Return type:

jnp.ndarray

method: str = 'coefficients'

The method used to interpret the coupling definition.