DPsim
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
DPsim::Solver Class Referenceabstract

Base class for more specific solvers such as MNA, ODE or IDA. More...

#include <Solver.h>

Inheritance diagram for DPsim::Solver:
[legend]

Public Types

enum  Behaviour { Initialization , Simulation }
 
enum class  Type { MNA , DAE , NRP }
 
typedef std::shared_ptr< SolverPtr
 
typedef std::vector< Ptr > List
 

Public Member Functions

 Solver (String name, CPS::Logger::Level logLevel)
 
void setTimeStep (Real timeStep)
 
void doFrequencyParallelization (Bool freqParallel)
 
virtual void setSystem (const CPS::SystemTopology &system)
 
void doSystemMatrixRecomputation (Bool value)
 
virtual void initialize ()
 
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
 
virtual void setSolverAndComponentBehaviour (Solver::Behaviour behaviour)
 set solver and component to initialization or simulation behaviour
 
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 CPS::Task::List getTasks ()=0
 Get tasks for scheduler.
 
virtual void log (Real time, Int timeStepCount)
 Log results.
 
void setMaxNumberOfIterations (int maxIterations)
 

Public Attributes

int mMaxIterations = 10
 

Protected Attributes

String mName
 Name for logging.
 
CPS::Logger::Level mLogLevel
 Logging level.
 
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
 
Bool mSystemMatrixRecomputation = false
 Enable recomputation of system matrix during simulation.
 
Behaviour mBehaviour = Solver::Behaviour::Simulation
 Solver behaviour initialization or simulation.
 

Detailed Description

Base class for more specific solvers such as MNA, ODE or IDA.

Definition at line 30 of file Solver.h.

Member Enumeration Documentation

◆ Type

enum DPsim::Solver::Type
strong

Solver types: Modified Nodal Analysis, Differential Algebraic, Newton Raphson

Definition at line 78 of file Solver.h.

Member Data Documentation

◆ mInitFromNodesAndTerminals

Bool DPsim::Solver::mInitFromNodesAndTerminals = true
protected

Activates powerflow initialization If this is false, all voltages are initialized with zero

Definition at line 60 of file Solver.h.

◆ mMaxIterations

int DPsim::Solver::mMaxIterations = 10

SynGen Interface

Definition at line 122 of file Solver.h.


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