GlobalMNACircuitSolver

class pmrf.models.composite.interconnected.circuit.solvers.nodal.GlobalMNACircuitSolver(eps: float = 1e-12, linear_solver: AbstractLinearSolver = AutoLinearSolver(well_posed=None))

Bases: AbstractMNACircuitSolver

Global Modified Nodal Analysis (MNA) circuit solver.

Generalizes standard Nodal Analysis to gracefully handle ideal components by augmenting the Y-matrix with auxiliary variables (currents/voltages). Eliminates all internal nodes and auxiliary variables simultaneously to yield the pure external Y-parameters of the reduced network.

run(y_flattened: Array, b_flattened: Array, c_flattened: Array, d_flattened: Array, topology: MNARepresentation) AdmittanceResult

Executes the Modified Nodal Analysis circuit solving algorithm.

Parameters:
  • y_flattened (jnp.ndarray) – A 1D array of flattened Y-block elements.

  • b_flattened (jnp.ndarray) – A 1D array of flattened B-block elements.

  • c_flattened (jnp.ndarray) – A 1D array of flattened C-block elements.

  • d_flattened (jnp.ndarray) – A 1D array of flattened D-block elements.

  • topology (MNARepresentation) – The static map dictating the MNA assembly and partition logic.

Returns:

The fully solved external Y-parameter matrix.

Return type:

AdmittanceResult

eps: float = 1e-12

Numerical regularization to prevent singular matrices on floating nodes/aux variables.

linear_solver: AbstractLinearSolver = AutoLinearSolver(well_posed=None)

The lineax solver to use for the global matrix inversion. Defaults to AutoLinearSolver.