deltaFlow
SolverContext Struct Reference

Shared input/output parameters for power-flow solvers. More...

#include <ISolver.H>

Collaboration diagram for SolverContext:

Public Attributes

const Eigen::MatrixXcd * Y = nullptr
 Bus admittance matrix (used by Gauss-Seidel).
 
const Eigen::MatrixXd * G = nullptr
 Conductance matrix (used by Newton-Raphson).
 
const Eigen::MatrixXd * B = nullptr
 Susceptance matrix (used by Newton-Raphson).
 
Eigen::VectorXd * V = nullptr
 Voltage magnitudes [p.u.].
 
Eigen::VectorXd * delta = nullptr
 Voltage angles [rad].
 
Eigen::VectorXi * type_bus = nullptr
 Bus type vector (1=Slack, 2=PV, 3=PQ).
 
const std::vector< int > * pq_bus_id = nullptr
 0-based PQ bus indices (Newton-Raphson).
 
const Eigen::VectorXd * P = nullptr
 Scheduled active power injections (Pg - Pl).
 
const Eigen::VectorXd * Q = nullptr
 Scheduled reactive power injections (Qg - Ql).
 
int N = 0
 Total number of buses.
 
int n_pq = 0
 Number of PQ buses (Newton-Raphson).
 
int maxIter = 1024
 Maximum number of iterations.
 
double tolerance = 1E-8
 Convergence tolerance.
 
double omega = 1.0
 Relaxation coefficient (Gauss-Seidel only).
 
std::vector< std::pair< int, double > > * iterHistory = nullptr
 Optional iteration history sink.
 
class ISolverObserverobserver = nullptr
 Optional injected progress/log observer (DIP); nullptr = silent.
 

Detailed Description

Shared input/output parameters for power-flow solvers.

Holds the union of parameters required by all concrete solvers. Solvers only read/write the subset of fields relevant to their algorithm.

Definition at line 49 of file ISolver.H.

Member Data Documentation

◆ B

const Eigen::MatrixXd* SolverContext::B = nullptr

Susceptance matrix (used by Newton-Raphson).

Definition at line 53 of file ISolver.H.

◆ delta

Eigen::VectorXd* SolverContext::delta = nullptr

Voltage angles [rad].

Definition at line 57 of file ISolver.H.

◆ G

const Eigen::MatrixXd* SolverContext::G = nullptr

Conductance matrix (used by Newton-Raphson).

Definition at line 52 of file ISolver.H.

◆ iterHistory

std::vector<std::pair<int, double> >* SolverContext::iterHistory = nullptr

Optional iteration history sink.

Definition at line 77 of file ISolver.H.

◆ maxIter

int SolverContext::maxIter = 1024

Maximum number of iterations.

Definition at line 72 of file ISolver.H.

◆ N

int SolverContext::N = 0

Total number of buses.

Definition at line 68 of file ISolver.H.

◆ n_pq

int SolverContext::n_pq = 0

Number of PQ buses (Newton-Raphson).

Definition at line 69 of file ISolver.H.

◆ observer

class ISolverObserver* SolverContext::observer = nullptr

Optional injected progress/log observer (DIP); nullptr = silent.

Definition at line 78 of file ISolver.H.

◆ omega

double SolverContext::omega = 1.0

Relaxation coefficient (Gauss-Seidel only).

Definition at line 74 of file ISolver.H.

◆ P

const Eigen::VectorXd* SolverContext::P = nullptr

Scheduled active power injections (Pg - Pl).

Definition at line 64 of file ISolver.H.

◆ pq_bus_id

const std::vector<int>* SolverContext::pq_bus_id = nullptr

0-based PQ bus indices (Newton-Raphson).

Definition at line 61 of file ISolver.H.

◆ Q

const Eigen::VectorXd* SolverContext::Q = nullptr

Scheduled reactive power injections (Qg - Ql).

Definition at line 65 of file ISolver.H.

◆ tolerance

double SolverContext::tolerance = 1E-8

Convergence tolerance.

Definition at line 73 of file ISolver.H.

◆ type_bus

Eigen::VectorXi* SolverContext::type_bus = nullptr

Bus type vector (1=Slack, 2=PV, 3=PQ).

Definition at line 60 of file ISolver.H.

◆ V

Eigen::VectorXd* SolverContext::V = nullptr

Voltage magnitudes [p.u.].

Definition at line 56 of file ISolver.H.

◆ Y

const Eigen::MatrixXcd* SolverContext::Y = nullptr

Bus admittance matrix (used by Gauss-Seidel).

Definition at line 51 of file ISolver.H.


The documentation for this struct was generated from the following file: