CoupledTwoPorts
- class pmrf.models.composite.nodal.CoupledTwoPorts(coupled: list[Model], k_matrix: Array | ndarray | bool | number | bool | int | float | complex, *, z0: complex = 50 + 0j, 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 series models to couple.
k_matrix (ArrayLike) – The NxN coupling coefficient matrix. Must be symmetric, have 1.0 on the diagonals, and be 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 $$:
- classmethod from_couplings(models: list[Model], couplings: list[tuple[int, int, float]], **kwargs) Self
Builds of model of coupled two-ports from a list of couplings coefficients between them.
Parameters: - models: The models to be coupled. - defined_couplings: A list of tuples (model_i, model_j, k_factor).
- k_matrix: Array | ndarray | bool | number | bool | int | float | complex
The NxN coupling coefficient matrix (k).