DPsim
Loading...
Searching...
No Matches
DPsim::PFSolver Class Referenceabstract

Solver class using the nonlinear powerflow (PF) formulation. More...

#include <PFSolver.h>

Inheritance diagram for DPsim::PFSolver:
[legend]
Collaboration diagram for DPsim::PFSolver:
[legend]

Classes

class  SolveTask
 

Public Member Functions

 PFSolver (CPS::String name, CPS::SystemTopology system, Real timeStep, CPS::Logger::Level logLevel)
 Constructor to be used in simulation examples.
 
virtual ~PFSolver ()
 
void setVDNode (CPS::String name)
 Set a node to VD using its name.
 
void modifyPowerFlowBusComponent (CPS::String name, CPS::PowerflowBusType powerFlowBusType)
 Allows to modify the powerflow bus type of a specific component.
 
void setSolverAndComponentBehaviour (Solver::Behaviour behaviour) override
 set solver and component to initialization or simulation behaviour
 
void setKeepLastSolution (CPS::Bool keepLastSolution)
 
void setEnforceReactiveLimits (CPS::Bool value)
 Enable generator reactive-limit enforcement (PV<->PQ outer loop)
 
void setBaseVoltageLooseTolerance (CPS::Real tolerance)
 Raise for grids with legitimate large voltage drop (e.g. untapped feeders)
 
void setBaseVoltageStrictTolerance (CPS::Real tolerance)
 Override the tolerance between authoritative base-voltage sources within a zone.
 
CPS::Bool getKeepLastSolution () const
 
void setBaseApparentPowerFallback (CPS::Real baseApparentPowerFallback)
 
CPS::Real getBaseApparentPowerFallback () const
 
void setMaxIterations (CPS::UInt maxIterations)
 
CPS::UInt getMaxIterations () const
 
- Public Member Functions inherited from DPsim::Solver
 Solver (String name, CPS::Logger::Level logLevel)
 
virtual ~Solver ()
 
void setTimeStep (Real timeStep)
 
void doFrequencyParallelization (Bool freqParallel)
 
virtual void setSystem (const CPS::SystemTopology &system)
 
void setSystemMatrixRecomputationMode (SystemMatrixRecomputationMode mode)
 Set the system-matrix recomputation mode.
 
void doSystemMatrixRecomputation (Bool value)
 
void setLogSolveTimes (Bool value)
 
void doSteadyStateInit (Bool f)
 activate steady state initialization
 
void setSteadStIniTimeLimit (Real v)
 set steady state initialization time limit
 
void setSteadStIniAccLimit (Real v)
 set steady state initialization accuracy limit
 
void doInitFromNodesAndTerminals (Bool f)
 activate powerflow initialization
 
virtual void setDirectLinearSolverConfiguration (DirectLinearSolverConfiguration &)
 set direct linear solver configuration (only available in MNA for now)
 
virtual void logLUTimes ()
 log LU decomposition times, if applicable
 
virtual void log (Real time, Int timeStepCount)
 Log results.
 
void setMaxNumberOfIterations (int maxIterations)
 

Protected Member Functions

virtual void generateInitialSolution (Real time, bool keep_last_solution=false)=0
 Generate initial solution for current time step.
 
virtual void calculateMismatch ()=0
 Calculate mismatch.
 
virtual void calculateJacobian ()=0
 Calculate the Jacobian.
 
virtual void updateSolution ()=0
 Update solution in each iteration.
 
virtual void setSolution ()=0
 Set final solution.
 
void initialize () override
 Initialization of the solver.
 
void initializeComponents ()
 Initialization of individual components.
 
void assignMatrixNodeIndices ()
 Assignment of matrix indices for nodes.
 
void setBaseApparentPower ()
 Set apparent base power of per-unit system.
 
void determinePFBusType ()
 Determine bus type for all buses.
 
void rebuildBusIndexAggregates ()
 Rebuild index vectors + counts from the PQ/PV/VD node lists.
 
void reclassifyBuses ()
 Re-derive index vectors and resize the system after PV<->PQ switching.
 
void resetToOriginalClassification ()
 Restore the original PV/PQ classification before a fresh solve.
 
virtual void clearReactiveLimitState ()
 Clear Q-limit bookkeeping; overridden by PFSolverPowerPolar.
 
CPS::Real componentBaseVoltage (CPS::TopologicalPowerComp::Ptr comp, CPS::TopologicalNode::Ptr node)
 Base voltage a single component reports for node, or 0 if unknown.
 
void propagateAndVerifyBaseVoltage ()
 Determine, verify and propagate each node's base voltage per electrical zone.
 
void composeAdmittanceMatrix ()
 Compose admittance matrix.
 
CPS::Real G (int i, int j)
 Gets the real part of admittance matrix element.
 
CPS::Real B (int i, int j)
 Gets the imaginary part of admittance matrix element.
 
Bool solvePowerflow ()
 Solves the powerflow problem.
 
Bool runNewtonRaphson ()
 Run a single Newton-Raphson solve with the current bus classification.
 
virtual CPS::Bool enforceReactiveLimits ()
 Switch generators violating their Q limits between PV/PQ; base impl is a no-op.
 
virtual void setUpJacobianStorage ()
 Allocate Jacobian storage; dense by default, sparse subclass overrides.
 
virtual void solveJacobianSystem ()
 Solve the linearized system mJ*mX = mF into mX; sparse subclass overrides.
 
CPS::Bool checkConvergence ()
 Check whether below tolerance.
 
CPS::String logVector (std::vector< CPS::UInt > indexVector)
 Logging for integer vectors.
 
CPS::Task::List getTasks () override
 Get tasks for scheduler.
 

Protected Attributes

UInt mNumPQBuses = 0
 Number of PQ nodes.
 
UInt mNumPVBuses = 0
 Number of PV nodes.
 
UInt mNumVDBuses = 0
 Number of PV nodes.
 
UInt mNumUnknowns = 0
 Number of unknowns, defining system dimension.
 
CPS::TopologicalNode::List mPQBuses
 Vector of nodes characterized as PQ buses.
 
CPS::TopologicalNode::List mPVBuses
 Vector of nodes characterized as PV buses.
 
CPS::TopologicalNode::List mVDBuses
 Vector of nodes characterized as VD buses.
 
CPS::TopologicalNode::List mPQBusesOrig
 Original PQ/PV classification (snapshot before Q-limit switching)
 
CPS::TopologicalNode::List mPVBusesOrig
 
std::vector< CPS::UIntmPQBusIndices
 Vector with indices of PQ buses.
 
std::vector< CPS::UIntmPVBusIndices
 Vector with indices of PV buses.
 
std::vector< CPS::UIntmVDBusIndices
 Vector with indices of VD buses.
 
std::vector< CPS::UIntmPQPVBusIndices
 Vector with indices of both PQ and PV buses.
 
CPS::SparseMatrixCompRow mY
 Admittance matrix.
 
CPS::Matrix mJ
 Jacobian matrix.
 
CPS::Vector mX
 Solution vector.
 
CPS::Vector mF
 Vector of mismatch values.
 
CPS::SystemTopology mSystem
 System list.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::Transformer > > mTransformers
 Vector of transformer components.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::SolidStateTransformer > > mSolidStateTransformers
 Vector of solid state transformer components.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::SynchronGenerator > > mSynchronGenerators
 Vector of synchronous generator components.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::Load > > mLoads
 Vector of load components.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::PiLine > > mLines
 Vector of line components.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::Shunt > > mShunts
 Vector of shunt components.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::NetworkInjection > > mExternalGrids
 Vector of external grid components.
 
std::vector< std::shared_ptr< CPS::SP::Ph1::AvVoltageSourceInverterDQ > > mAverageVoltageSourceInverters
 Vector of average voltage source inverters.
 
std::map< CPS::TopologicalNode::Ptr, CPS::RealmBaseVoltageAtNode
 Map providing determined base voltages for each node.
 
Real mTolerance = 1e-8
 Solver tolerance.
 
CPS::UInt mMaxIterations = 20
 Maximum number of iterations.
 
CPS::UInt mIterations
 Actual number of iterations.
 
CPS::Bool mEnforceReactiveLimits = false
 Enforce generator reactive-power limits via PV<->PQ outer-loop switching.
 
CPS::UInt mMaxOuterIterations = 10
 Maximum number of Q-limit outer iterations.
 
CPS::UInt mMaxQLimitSwitchesPerBus = 2
 Maximum number of PV<->PQ switches per bus before it is frozen (anti-oscillation)
 
CPS::Real mBaseVoltageLooseTolerance = 0.1
 Relative tolerance for non-authoritative (e.g. Load) base-voltage candidates vs. the zone's rating.
 
CPS::Real mBaseVoltageStrictTolerance = 0.01
 Relative tolerance between authoritative base-voltage sources (generator/transformer/network-injection/VSI) within a zone.
 
CPS::Real mBaseApparentPower
 Base power of per-unit system.
 
CPS::Real mBaseApparentPowerFallback = 100e6
 Fallback base apparent power if no generator or transformer rating is found.
 
CPS::Bool isConverged = false
 Convergence flag.
 
CPS::Bool solutionInitialized = false
 Flag whether solution vectors are initialized.
 
CPS::Bool solutionComplexInitialized = false
 Flag whether complex solution vectors are initialized.
 
CPS::Bool mKeepLastSolution = false
 Use last converged solution as initial guess.
 
- Protected Attributes inherited from DPsim::Solver
String mName
 Name for logging.
 
CPS::Logger::Level mLogLevel
 Logging level.
 
Bool mLogSolveTimes = true
 Collect step time for logging.
 
CPS::Logger::Log mSLog
 Logger.
 
Real mTimeStep
 Time step for fixed step solvers.
 
Bool mFrequencyParallel = false
 Activates parallelized computation of frequencies.
 
Real mSteadStIniTimeLimit = 10
 steady state initialization time limit
 
Real mSteadStIniAccLimit = 0.0001
 steady state initialization accuracy limit
 
Bool mSteadyStateInit = false
 Activates steady state initialization.
 
Bool mIsInInitialization = false
 Determines if solver is in initialization phase, which requires different behavior.
 
Bool mInitFromNodesAndTerminals = true
 
SystemMatrixRecomputationMode mSystemMatrixRecomputationMode
 Requested system-matrix recomputation mode.
 
Bool mSystemMatrixRecomputationEnabled = false
 Effective system-matrix recomputation setting used by the solver.
 
Behaviour mBehaviour = Solver::Behaviour::Simulation
 Solver behaviour initialization or simulation.
 

Additional Inherited Members

- Public Types inherited from DPsim::Solver
enum  Behaviour { Initialization , Simulation }
 
enum class  SystemMatrixRecomputationMode { Auto , Enabled , Disabled }
 System-matrix recomputation mode for MNA solvers. More...
 
enum class  Type { MNA , DAE , NRP }
 
typedef std::shared_ptr< SolverPtr
 
typedef std::vector< PtrList
 
- Public Attributes inherited from DPsim::Solver
int mMaxIterations = 10
 

Detailed Description

Solver class using the nonlinear powerflow (PF) formulation.

Definition at line 21 of file PFSolver.h.

Constructor & Destructor Documentation

◆ PFSolver()

PFSolver::PFSolver ( CPS::String name,
CPS::SystemTopology system,
CPS::Real timeStep,
CPS::Logger::Level logLevel )

Constructor to be used in simulation examples.

Definition at line 17 of file PFSolver.cpp.

◆ ~PFSolver()

virtual DPsim::PFSolver::~PFSolver ( )
inlinevirtual

Definition at line 182 of file PFSolver.h.

Member Function Documentation

◆ assignMatrixNodeIndices()

void PFSolver::assignMatrixNodeIndices ( )
protected

Assignment of matrix indices for nodes.

Definition at line 79 of file PFSolver.cpp.

◆ B()

CPS::Real PFSolver::B ( int i,
int j )
protected

Gets the imaginary part of admittance matrix element.

Definition at line 561 of file PFSolver.cpp.

◆ calculateJacobian()

virtual void DPsim::PFSolver::calculateJacobian ( )
protectedpure virtual

Calculate the Jacobian.

Implemented in DPsim::PFSolverPowerPolar, and DPsim::PFSolverPowerPolarSparse.

◆ calculateMismatch()

virtual void DPsim::PFSolver::calculateMismatch ( )
protectedpure virtual

Calculate mismatch.

Implemented in DPsim::PFSolverPowerPolar.

◆ checkConvergence()

CPS::Bool PFSolver::checkConvergence ( )
protected

Check whether below tolerance.

Definition at line 563 of file PFSolver.cpp.

◆ clearReactiveLimitState()

virtual void DPsim::PFSolver::clearReactiveLimitState ( )
inlineprotectedvirtual

Clear Q-limit bookkeeping; overridden by PFSolverPowerPolar.

Reimplemented in DPsim::PFSolverPowerPolar.

Definition at line 142 of file PFSolver.h.

◆ componentBaseVoltage()

CPS::Real PFSolver::componentBaseVoltage ( CPS::TopologicalPowerComp::Ptr comp,
CPS::TopologicalNode::Ptr node )
protected

Base voltage a single component reports for node, or 0 if unknown.

Definition at line 302 of file PFSolver.cpp.

◆ composeAdmittanceMatrix()

void PFSolver::composeAdmittanceMatrix ( )
protected

Compose admittance matrix.

Definition at line 534 of file PFSolver.cpp.

◆ determinePFBusType()

void PFSolver::determinePFBusType ( )
protected

Determine bus type for all buses.

Definition at line 158 of file PFSolver.cpp.

◆ enforceReactiveLimits()

virtual CPS::Bool DPsim::PFSolver::enforceReactiveLimits ( )
inlineprotectedvirtual

Switch generators violating their Q limits between PV/PQ; base impl is a no-op.

Reimplemented in DPsim::PFSolverPowerPolar.

Definition at line 160 of file PFSolver.h.

◆ G()

CPS::Real PFSolver::G ( int i,
int j )
protected

Gets the real part of admittance matrix element.

Definition at line 559 of file PFSolver.cpp.

◆ generateInitialSolution()

virtual void DPsim::PFSolver::generateInitialSolution ( Real time,
bool keep_last_solution = false )
protectedpure virtual

Generate initial solution for current time step.

Implemented in DPsim::PFSolverPowerPolar.

◆ getBaseApparentPowerFallback()

CPS::Real DPsim::PFSolver::getBaseApparentPowerFallback ( ) const
inline

Definition at line 217 of file PFSolver.h.

◆ getKeepLastSolution()

CPS::Bool DPsim::PFSolver::getKeepLastSolution ( ) const
inline

Definition at line 211 of file PFSolver.h.

◆ getMaxIterations()

CPS::UInt DPsim::PFSolver::getMaxIterations ( ) const
inline

Definition at line 225 of file PFSolver.h.

◆ getTasks()

Task::List PFSolver::getTasks ( )
overrideprotectedvirtual

Get tasks for scheduler.

Implements DPsim::Solver.

Definition at line 650 of file PFSolver.cpp.

◆ initialize()

void PFSolver::initialize ( )
overrideprotectedvirtual

Initialization of the solver.

Reimplemented from DPsim::Solver.

Definition at line 24 of file PFSolver.cpp.

◆ initializeComponents()

void PFSolver::initializeComponents ( )
protected

Initialization of individual components.

Definition at line 93 of file PFSolver.cpp.

◆ logVector()

CPS::String DPsim::PFSolver::logVector ( std::vector< CPS::UInt > indexVector)
inlineprotected

Logging for integer vectors.

Definition at line 168 of file PFSolver.h.

◆ modifyPowerFlowBusComponent()

void PFSolver::modifyPowerFlowBusComponent ( CPS::String name,
CPS::PowerflowBusType powerFlowBusType )

Allows to modify the powerflow bus type of a specific component.

Definition at line 491 of file PFSolver.cpp.

◆ propagateAndVerifyBaseVoltage()

void PFSolver::propagateAndVerifyBaseVoltage ( )
protected

Determine, verify and propagate each node's base voltage per electrical zone.

Definition at line 333 of file PFSolver.cpp.

◆ rebuildBusIndexAggregates()

void PFSolver::rebuildBusIndexAggregates ( )
protected

Rebuild index vectors + counts from the PQ/PV/VD node lists.

Definition at line 260 of file PFSolver.cpp.

◆ reclassifyBuses()

void PFSolver::reclassifyBuses ( )
protected

Re-derive index vectors and resize the system after PV<->PQ switching.

Definition at line 294 of file PFSolver.cpp.

◆ resetToOriginalClassification()

void PFSolver::resetToOriginalClassification ( )
protected

Restore the original PV/PQ classification before a fresh solve.

Definition at line 286 of file PFSolver.cpp.

◆ runNewtonRaphson()

Bool PFSolver::runNewtonRaphson ( )
protected

Run a single Newton-Raphson solve with the current bus classification.

Definition at line 576 of file PFSolver.cpp.

◆ setBaseApparentPower()

void PFSolver::setBaseApparentPower ( )
protected

Set apparent base power of per-unit system.

Definition at line 135 of file PFSolver.cpp.

◆ setBaseApparentPowerFallback()

void DPsim::PFSolver::setBaseApparentPowerFallback ( CPS::Real baseApparentPowerFallback)
inline

Definition at line 213 of file PFSolver.h.

◆ setBaseVoltageLooseTolerance()

void DPsim::PFSolver::setBaseVoltageLooseTolerance ( CPS::Real tolerance)
inline

Raise for grids with legitimate large voltage drop (e.g. untapped feeders)

Definition at line 202 of file PFSolver.h.

◆ setBaseVoltageStrictTolerance()

void DPsim::PFSolver::setBaseVoltageStrictTolerance ( CPS::Real tolerance)
inline

Override the tolerance between authoritative base-voltage sources within a zone.

Definition at line 207 of file PFSolver.h.

◆ setEnforceReactiveLimits()

void DPsim::PFSolver::setEnforceReactiveLimits ( CPS::Bool value)
inline

Enable generator reactive-limit enforcement (PV<->PQ outer loop)

Definition at line 197 of file PFSolver.h.

◆ setKeepLastSolution()

void DPsim::PFSolver::setKeepLastSolution ( CPS::Bool keepLastSolution)
inline

Definition at line 192 of file PFSolver.h.

◆ setMaxIterations()

void DPsim::PFSolver::setMaxIterations ( CPS::UInt maxIterations)
inline

Definition at line 221 of file PFSolver.h.

◆ setSolution()

virtual void DPsim::PFSolver::setSolution ( )
protectedpure virtual

Set final solution.

Implemented in DPsim::PFSolverPowerPolar.

◆ setSolverAndComponentBehaviour()

void PFSolver::setSolverAndComponentBehaviour ( Solver::Behaviour behaviour)
overridevirtual

set solver and component to initialization or simulation behaviour

Reimplemented from DPsim::Solver.

Definition at line 506 of file PFSolver.cpp.

◆ setUpJacobianStorage()

void PFSolver::setUpJacobianStorage ( )
protectedvirtual

Allocate Jacobian storage; dense by default, sparse subclass overrides.

Reimplemented in DPsim::PFSolverPowerPolarSparse.

Definition at line 69 of file PFSolver.cpp.

◆ setVDNode()

void PFSolver::setVDNode ( CPS::String name)

Set a node to VD using its name.

Definition at line 474 of file PFSolver.cpp.

◆ solveJacobianSystem()

void PFSolver::solveJacobianSystem ( )
protectedvirtual

Solve the linearized system mJ*mX = mF into mX; sparse subclass overrides.

Reimplemented in DPsim::PFSolverPowerPolarSparse.

Definition at line 73 of file PFSolver.cpp.

◆ solvePowerflow()

Bool PFSolver::solvePowerflow ( )
protected

Solves the powerflow problem.

Definition at line 613 of file PFSolver.cpp.

◆ updateSolution()

virtual void DPsim::PFSolver::updateSolution ( )
protectedpure virtual

Update solution in each iteration.

Implemented in DPsim::PFSolverPowerPolar.

Member Data Documentation

◆ isConverged

CPS::Bool DPsim::PFSolver::isConverged = false
protected

Convergence flag.

Definition at line 104 of file PFSolver.h.

◆ mAverageVoltageSourceInverters

std::vector<std::shared_ptr<CPS::SP::Ph1::AvVoltageSourceInverterDQ> > DPsim::PFSolver::mAverageVoltageSourceInverters
protected

Vector of average voltage source inverters.

Definition at line 79 of file PFSolver.h.

◆ mBaseApparentPower

CPS::Real DPsim::PFSolver::mBaseApparentPower
protected

Base power of per-unit system.

Definition at line 100 of file PFSolver.h.

◆ mBaseApparentPowerFallback

CPS::Real DPsim::PFSolver::mBaseApparentPowerFallback = 100e6
protected

Fallback base apparent power if no generator or transformer rating is found.

Definition at line 102 of file PFSolver.h.

◆ mBaseVoltageAtNode

std::map<CPS::TopologicalNode::Ptr, CPS::Real> DPsim::PFSolver::mBaseVoltageAtNode
protected

Map providing determined base voltages for each node.

Definition at line 81 of file PFSolver.h.

◆ mBaseVoltageLooseTolerance

CPS::Real DPsim::PFSolver::mBaseVoltageLooseTolerance = 0.1
protected

Relative tolerance for non-authoritative (e.g. Load) base-voltage candidates vs. the zone's rating.

Definition at line 96 of file PFSolver.h.

◆ mBaseVoltageStrictTolerance

CPS::Real DPsim::PFSolver::mBaseVoltageStrictTolerance = 0.01
protected

Relative tolerance between authoritative base-voltage sources (generator/transformer/network-injection/VSI) within a zone.

Definition at line 98 of file PFSolver.h.

◆ mEnforceReactiveLimits

CPS::Bool DPsim::PFSolver::mEnforceReactiveLimits = false
protected

Enforce generator reactive-power limits via PV<->PQ outer-loop switching.

Definition at line 90 of file PFSolver.h.

◆ mExternalGrids

std::vector<std::shared_ptr<CPS::SP::Ph1::NetworkInjection> > DPsim::PFSolver::mExternalGrids
protected

Vector of external grid components.

Definition at line 76 of file PFSolver.h.

◆ mF

CPS::Vector DPsim::PFSolver::mF
protected

Vector of mismatch values.

Definition at line 57 of file PFSolver.h.

◆ mIterations

CPS::UInt DPsim::PFSolver::mIterations
protected

Actual number of iterations.

Definition at line 88 of file PFSolver.h.

◆ mJ

CPS::Matrix DPsim::PFSolver::mJ
protected

Jacobian matrix.

Definition at line 53 of file PFSolver.h.

◆ mKeepLastSolution

CPS::Bool DPsim::PFSolver::mKeepLastSolution = false
protected

Use last converged solution as initial guess.

Definition at line 111 of file PFSolver.h.

◆ mLines

std::vector<std::shared_ptr<CPS::SP::Ph1::PiLine> > DPsim::PFSolver::mLines
protected

Vector of line components.

Definition at line 72 of file PFSolver.h.

◆ mLoads

std::vector<std::shared_ptr<CPS::SP::Ph1::Load> > DPsim::PFSolver::mLoads
protected

Vector of load components.

Definition at line 70 of file PFSolver.h.

◆ mMaxIterations

CPS::UInt DPsim::PFSolver::mMaxIterations = 20
protected

Maximum number of iterations.

Definition at line 86 of file PFSolver.h.

◆ mMaxOuterIterations

CPS::UInt DPsim::PFSolver::mMaxOuterIterations = 10
protected

Maximum number of Q-limit outer iterations.

Definition at line 92 of file PFSolver.h.

◆ mMaxQLimitSwitchesPerBus

CPS::UInt DPsim::PFSolver::mMaxQLimitSwitchesPerBus = 2
protected

Maximum number of PV<->PQ switches per bus before it is frozen (anti-oscillation)

Definition at line 94 of file PFSolver.h.

◆ mNumPQBuses

UInt DPsim::PFSolver::mNumPQBuses = 0
protected

Number of PQ nodes.

Definition at line 24 of file PFSolver.h.

◆ mNumPVBuses

UInt DPsim::PFSolver::mNumPVBuses = 0
protected

Number of PV nodes.

Definition at line 26 of file PFSolver.h.

◆ mNumUnknowns

UInt DPsim::PFSolver::mNumUnknowns = 0
protected

Number of unknowns, defining system dimension.

Definition at line 30 of file PFSolver.h.

◆ mNumVDBuses

UInt DPsim::PFSolver::mNumVDBuses = 0
protected

Number of PV nodes.

Definition at line 28 of file PFSolver.h.

◆ mPQBuses

CPS::TopologicalNode::List DPsim::PFSolver::mPQBuses
protected

Vector of nodes characterized as PQ buses.

Definition at line 32 of file PFSolver.h.

◆ mPQBusesOrig

CPS::TopologicalNode::List DPsim::PFSolver::mPQBusesOrig
protected

Original PQ/PV classification (snapshot before Q-limit switching)

Definition at line 38 of file PFSolver.h.

◆ mPQBusIndices

std::vector<CPS::UInt> DPsim::PFSolver::mPQBusIndices
protected

Vector with indices of PQ buses.

Definition at line 41 of file PFSolver.h.

◆ mPQPVBusIndices

std::vector<CPS::UInt> DPsim::PFSolver::mPQPVBusIndices
protected

Vector with indices of both PQ and PV buses.

Definition at line 47 of file PFSolver.h.

◆ mPVBuses

CPS::TopologicalNode::List DPsim::PFSolver::mPVBuses
protected

Vector of nodes characterized as PV buses.

Definition at line 34 of file PFSolver.h.

◆ mPVBusesOrig

CPS::TopologicalNode::List DPsim::PFSolver::mPVBusesOrig
protected

Definition at line 39 of file PFSolver.h.

◆ mPVBusIndices

std::vector<CPS::UInt> DPsim::PFSolver::mPVBusIndices
protected

Vector with indices of PV buses.

Definition at line 43 of file PFSolver.h.

◆ mShunts

std::vector<std::shared_ptr<CPS::SP::Ph1::Shunt> > DPsim::PFSolver::mShunts
protected

Vector of shunt components.

Definition at line 74 of file PFSolver.h.

◆ mSolidStateTransformers

std::vector<std::shared_ptr<CPS::SP::Ph1::SolidStateTransformer> > DPsim::PFSolver::mSolidStateTransformers
protected

Vector of solid state transformer components.

Definition at line 65 of file PFSolver.h.

◆ mSynchronGenerators

std::vector<std::shared_ptr<CPS::SP::Ph1::SynchronGenerator> > DPsim::PFSolver::mSynchronGenerators
protected

Vector of synchronous generator components.

Definition at line 68 of file PFSolver.h.

◆ mSystem

CPS::SystemTopology DPsim::PFSolver::mSystem
protected

System list.

Definition at line 60 of file PFSolver.h.

◆ mTolerance

Real DPsim::PFSolver::mTolerance = 1e-8
protected

Solver tolerance.

Definition at line 84 of file PFSolver.h.

◆ mTransformers

std::vector<std::shared_ptr<CPS::SP::Ph1::Transformer> > DPsim::PFSolver::mTransformers
protected

Vector of transformer components.

Definition at line 62 of file PFSolver.h.

◆ mVDBuses

CPS::TopologicalNode::List DPsim::PFSolver::mVDBuses
protected

Vector of nodes characterized as VD buses.

Definition at line 36 of file PFSolver.h.

◆ mVDBusIndices

std::vector<CPS::UInt> DPsim::PFSolver::mVDBusIndices
protected

Vector with indices of VD buses.

Definition at line 45 of file PFSolver.h.

◆ mX

CPS::Vector DPsim::PFSolver::mX
protected

Solution vector.

Definition at line 55 of file PFSolver.h.

◆ mY

CPS::SparseMatrixCompRow DPsim::PFSolver::mY
protected

Admittance matrix.

Definition at line 50 of file PFSolver.h.

◆ solutionComplexInitialized

CPS::Bool DPsim::PFSolver::solutionComplexInitialized = false
protected

Flag whether complex solution vectors are initialized.

Definition at line 108 of file PFSolver.h.

◆ solutionInitialized

CPS::Bool DPsim::PFSolver::solutionInitialized = false
protected

Flag whether solution vectors are initialized.

Definition at line 106 of file PFSolver.h.


The documentation for this class was generated from the following files: