CoupledTwoPorts
- class pmrf.models.composite.nodal.CoupledTwoPorts(coupled: list[Model], coupling: Any, method: str = 'coefficients', *, name: str | None = None, metadata: Any = None)
Bases:
Model(experimental) Wraps N 2-port models (e.g., Inductors) and couples them via a given K-matrix.
Returns a 2N-port model where Model 1 occupies ports (0, 1), Model 2 occupies ports (2, 3), and so on.
- Parameters:
coupled (list[Model]) – The sequence of 2-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
---------
each (Uses Modified Nodal Analysis (MNA). Extracts the branch impedance (\(Z_b\)) for)
component
Z_{jj}}$ (creates a mutually coupled branch matrix $Z_{ij} = k_{ij} sqrt{Z_{ii})
:param : :param and translates it to a \(2N \times 2N\) nodal admittance matrix using an incidence matrix (\(A\)): :param $$ Y_{nodal} = A Z_b^{-1} A^T $$:
- 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.