77#ifndef NEWTONRAPHSON_H
78#define NEWTONRAPHSON_H
105 const char*
name()
const override {
return "Newton-Raphson"; }
126 const Eigen::MatrixXd& G,
127 const Eigen::MatrixXd& B,
128 const Eigen::VectorXd& Ps,
129 const Eigen::VectorXd& Qs,
131 Eigen::VectorXd& delta,
134 const std::vector<int>& pq_bus_id,
136 double tolerance = 1E-8,
137 std::vector<std::pair<int, double>>* iterHistory =
nullptr,
Abstraction over power-flow solvers (Open/Closed Principle).
Common interface for power-flow solvers.
Sink for solver progress/diagnostics (Dependency Inversion / SRP).
Newton-Raphson power flow solver implementing the ISolver interface.
const char * name() const override
Human-readable solver name (e.g.
static bool run(const Eigen::MatrixXd &G, const Eigen::MatrixXd &B, const Eigen::VectorXd &Ps, const Eigen::VectorXd &Qs, Eigen::VectorXd &V, Eigen::VectorXd &delta, int n_bus, int n_pq, const std::vector< int > &pq_bus_id, int maxIter=1024, double tolerance=1E-8, std::vector< std::pair< int, double > > *iterHistory=nullptr, ISolverObserver *observer=nullptr)
Solves the power flow equations using the Newton-Raphson iterative method.
bool solve(SolverContext &ctx) override
Run the Newton-Raphson solver using the given context.
Contains all relevant data for each transmission line or transformer branch.
Contains all relevant data for each bus in the power system.
Shared input/output parameters for power-flow solvers.