18#include <dpsim/Config.h>
32 typedef std::shared_ptr<Solver>
Ptr;
33 typedef std::vector<Ptr>
List;
spdlog::level::level_enum Level
std::shared_ptr< spdlog::logger > Log
String mName
Name for logging.
Real mSteadStIniAccLimit
steady state initialization accuracy limit
Bool mSystemMatrixRecomputationEnabled
Effective system-matrix recomputation setting used by the solver.
void setSteadStIniAccLimit(Real v)
set steady state initialization accuracy limit
Real mTimeStep
Time step for fixed step solvers.
Behaviour mBehaviour
Solver behaviour initialization or simulation.
CPS::Logger::Log mSLog
Logger.
CPS::Logger::Level mLogLevel
Logging level.
Bool mIsInInitialization
Determines if solver is in initialization phase, which requires different behavior.
Solver(String name, CPS::Logger::Level logLevel)
Real mSteadStIniTimeLimit
steady state initialization time limit
virtual void setSystem(const CPS::SystemTopology &system)
Bool mInitFromNodesAndTerminals
void doSteadyStateInit(Bool f)
activate steady state initialization
Bool mLogSolveTimes
Collect step time for logging.
void setTimeStep(Real timeStep)
std::shared_ptr< Solver > Ptr
Bool mFrequencyParallel
Activates parallelized computation of frequencies.
void setMaxNumberOfIterations(int maxIterations)
virtual void initialize()
virtual void setDirectLinearSolverConfiguration(DirectLinearSolverConfiguration &)
set direct linear solver configuration (only available in MNA for now)
virtual void logLUTimes()
log LU decomposition times, if applicable
void doFrequencyParallelization(Bool freqParallel)
virtual void setSolverAndComponentBehaviour(Solver::Behaviour behaviour)
set solver and component to initialization or simulation behaviour
void setLogSolveTimes(Bool value)
virtual void log(Real time, Int timeStepCount)
Log results.
Bool mSteadyStateInit
Activates steady state initialization.
void doSystemMatrixRecomputation(Bool value)
SystemMatrixRecomputationMode mSystemMatrixRecomputationMode
Requested system-matrix recomputation mode.
void setSteadStIniTimeLimit(Real v)
set steady state initialization time limit
SystemMatrixRecomputationMode
System-matrix recomputation mode for MNA solvers.
@ Enabled
Always enable system-matrix recomputation.
@ Auto
Select the mode automatically based on the system topology.
@ Disabled
Always disable system-matrix recomputation.
virtual CPS::Task::List getTasks()=0
Get tasks for scheduler.
void doInitFromNodesAndTerminals(Bool f)
activate powerflow initialization
void setSystemMatrixRecomputationMode(SystemMatrixRecomputationMode mode)
Set the system-matrix recomputation mode.
Holds switching time and which system should be activated.