![]() |
deltaFlow
|
Gauss-Seidel power flow solver implementing the ISolver interface. More...
#include <GaussSeidel.H>


Public Member Functions | |
| bool | solve (SolverContext &ctx) override |
| Run the Gauss-Seidel solver using the given context. | |
| const char * | name () const override |
| Human-readable solver name (e.g. | |
Public Member Functions inherited from ISolver | |
| virtual | ~ISolver ()=default |
Static Public Member Functions | |
| static bool | run (const Eigen::MatrixXcd &Y, Eigen::VectorXd &V, Eigen::VectorXd &delta, const Eigen::VectorXi &type_bus, const Eigen::VectorXd &P, const Eigen::VectorXd &Q, int N, int maxIter=1024, double tolerance=1E-8, double omega=1.0, std::vector< std::pair< int, double > > *iterHistory=nullptr, ISolverObserver *observer=nullptr) |
| Solves the power flow equations using the Gauss-Seidel iterative method. | |
Gauss-Seidel power flow solver implementing the ISolver interface.
Pure solver: no Q-limit checking (handled by outer loop via checkQlimits). PV buses maintain their scheduled voltage magnitude; PQ buses are fully updated.
Definition at line 88 of file GaussSeidel.H.
|
inlineoverridevirtual |
Human-readable solver name (e.g.
for logging/output).
Implements ISolver.
Definition at line 97 of file GaussSeidel.H.
|
static |
Solves the power flow equations using the Gauss-Seidel iterative method.
| Y | The bus admittance matrix ($$ Y_{bus} $$). |
| V | (in/out) Voltage magnitudes [p.u.]. PV buses maintain scheduled value. |
| delta | (in/out) Voltage angles [rad]. |
| type_bus | Bus type vector (1=Slack, 2=PV, 3=PQ). |
| P | Scheduled net active power injections [p.u.] ($$ P_g - P_l $$). |
| Q | Scheduled net reactive power injections [p.u.] ($$ Q_g - Q_l $$). Used only for PQ buses. |
| N | Total number of buses. |
| maxIter | Maximum number of iterations (default: 1024). |
| tolerance | Convergence tolerance for bus voltage updates (default: $$ 1 \times 10^{-8} $$). |
| omega | Relaxation parameter for the Successive Over-Relaxation (SOR) method (default: 1.0; SOR not applied). |
| iterHistory | Optional pointer to store iteration number and error at each step. |
| observer | Optional injected progress/log observer (DIP); nullptr means silent (pure solve). |
Definition at line 50 of file GaussSeidel.C.
References ISolverObserver::onFinished(), ISolverObserver::onIteration(), and ISolverObserver::onMessage().


|
overridevirtual |
Run the Gauss-Seidel solver using the given context.
| ctx | Solver context (in/out parameters; see SolverContext). |
Implements ISolver.
Definition at line 33 of file GaussSeidel.C.
References SolverContext::delta, SolverContext::iterHistory, SolverContext::maxIter, SolverContext::N, SolverContext::observer, SolverContext::omega, SolverContext::P, SolverContext::Q, run(), SolverContext::tolerance, SolverContext::type_bus, SolverContext::V, and SolverContext::Y.
