13#include "../../Constants.h"
15#include "../Helper_Functions/Helper_Functions.h"
89 void exportCSV(
const std::string& filename)
const;
127 MatrixXcd
DSSS(
DSSState&,
const MatrixXcd&,
const MatrixXcd&,
128 const MatrixXcd&,
const MatrixXcd&,
129 const VectorXd&,
const VectorXd&,
const VectorXi&,
const VectorXi&,
130 const MatrixXcd&,
const VectorXcd&,
double dt = 2e-5,
double f0 = 50.0);
148 const MatrixXcd&,
const MatrixXcd&,
149 const VectorXi&,
const VectorXi&,
const VectorXd&,
const VectorXd&,
150 MatrixXcd&, MatrixXcd&, MatrixXcd&, MatrixXcd&);
154 bool hasRun_ =
false;
157 std::vector<std::string> ac_grid_names, dc_grid_names;
158 std::unordered_map<std::string, SubNetwork*> ac_grids, dc_grids;
159 std::unordered_map<std::string, Element*> converters;
Orchestrates phasor-domain dynamic simulation of an AC/DC network.
Definition DQsym.h:64
void reset()
Resets internal DSSS state so a fresh run can be started.
Definition DQsym.h:83
void exportCSV(const std::string &filename) const
Writes simulation results to a CSV file.
Definition DQsym.cpp:429
bool hasRun() const
Returns whether at least one simulation has completed.
Definition DQsym.h:104
void initialize(Network *net)
Loads network topology and area metadata for simulation.
Definition DQsym.cpp:12
MatrixXcd DSSS(DSSState &, const MatrixXcd &, const MatrixXcd &, const MatrixXcd &, const MatrixXcd &, const VectorXd &, const VectorXd &, const VectorXi &, const VectorXi &, const MatrixXcd &, const VectorXcd &, double dt=2e-5, double f0=50.0)
Advances the discrete-time phasor-domain state-space system one step at a time.
Definition DQsym.cpp:62
DQsymResult run(Config &cfg)
Runs the full DQsym time-domain simulation.
Definition DQsym.cpp:192
void plot() const
Opens an interactive plot of the most recent simulation results.
Definition DQsym.cpp:446
DQsym()=default
Default constructor.
const DQsymResult & getResult() const
Returns the result of the last completed simulation.
Definition DQsym.cpp:455
void buildMatricesForState(const MatrixXcd &, const MatrixXcd &, const MatrixXcd &, const MatrixXcd &, const VectorXi &, const VectorXi &, const VectorXd &, const VectorXd &, MatrixXcd &, MatrixXcd &, MatrixXcd &, MatrixXcd &)
Builds switch-modified discrete-time matrices for the current breaker state.
Definition DQsym.cpp:131
Base class for multi-phase network elements with Y-parameters and MNA stamping hooks.
Definition Element.h:29
Root network model holding buses, elements, and AC/DC grid hierarchy.
Definition network.h:36
Named sub-network that inherits Network topology APIs but acts as a non-owning view.
Definition SubNetwork.h:20
Simulation configuration for a DQsym run.
Definition DQsym.h:37
double t_start
Definition DQsym.h:38
std::function< Eigen::VectorXi(int step, double t)> breakerFunction
Definition DQsym.h:43
double omega
Definition DQsym.h:39
double f
Definition DQsym.h:39
double dt
Definition DQsym.h:38
Eigen::VectorXd swOffRes
Definition DQsym.h:41
Eigen::VectorXi swType
Definition DQsym.h:42
Eigen::VectorXd swOnRes
Definition DQsym.h:41
double t_end
Definition DQsym.h:38
std::vector< Bus * > outputBuses
Definition DQsym.h:44
int nKeep
Definition DQsym.h:40
Time-domain results produced by a DQsym simulation.
Definition DQsym.h:50
std::vector< double > time
Definition DQsym.h:51
std::vector< MatrixXd > DSSabcHist
Definition DQsym.h:53
MatrixXi brkHistory
Definition DQsym.h:52
Persistent state for the DSSS phasor-domain integrator.
Definition DQsym.h:25
MatrixXcd Cds
Definition DQsym.h:26
MatrixXcd x_old
Definition DQsym.h:27
int nSwitches
Definition DQsym.h:30
MatrixXcd Dds
Definition DQsym.h:26
int nOutputs
Definition DQsym.h:30
VectorXi swVecOld
Definition DQsym.h:28
MatrixXcd Bds
Definition DQsym.h:26
MatrixXcd Ads
Definition DQsym.h:26
int nStates
Definition DQsym.h:30
int nInputs
Definition DQsym.h:30
VectorXi swVec
Definition DQsym.h:28
VectorXcd yswitch
Definition DQsym.h:29
bool initialized
Definition DQsym.h:31