OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment.
Loading...
Searching...
No Matches
System.h
Go to the documentation of this file.
1/*
2 * This file is part of OpenModelica.
3 *
4 * Copyright (c) 1998-CurrentYear, Open Source Modelica Consortium (OSMC),
5 * c/o Linköpings universitet, Department of Computer and Information Science,
6 * SE-58183 Linköping, Sweden.
7 *
8 * All rights reserved.
9 *
10 * THIS PROGRAM IS PROVIDED UNDER THE TERMS OF GPL VERSION 3 LICENSE OR
11 * THIS OSMC PUBLIC LICENSE (OSMC-PL) VERSION 1.2.
12 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES
13 * RECIPIENT'S ACCEPTANCE OF THE OSMC PUBLIC LICENSE OR THE GPL VERSION 3,
14 * ACCORDING TO RECIPIENTS CHOICE.
15 *
16 * The OpenModelica software and the Open Source Modelica
17 * Consortium (OSMC) Public License (OSMC-PL) are obtained
18 * from OSMC, either from the above address,
19 * from the URLs: http://www.ida.liu.se/projects/OpenModelica or
20 * http://www.openmodelica.org, and in the OpenModelica distribution.
21 * GNU version 3 is obtained from: http://www.gnu.org/copyleft/gpl.html.
22 *
23 * This program is distributed WITHOUT ANY WARRANTY; without
24 * even the implied warranty of MERCHANTABILITY or FITNESS
25 * FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH
26 * IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF OSMC-PL.
27 *
28 * See the full OSMC Public License conditions for more details.
29 *
30 */
31
32#ifndef _OMS_SYSTEM_H_
33#define _OMS_SYSTEM_H_
34
35#include "AlgLoop.h"
36#include "BusConnector.h"
37#include "Clock.h"
38#include "ComRef.h"
39#include "Connection.h"
40#include "DirectedGraph.h"
41#include "Element.h"
42#include "ResultWriter.h"
43#include "Snapshot.h"
45#include "OMSimulator/Types.h"
46#include "Values.h"
47
48#include <map>
49#include <pugixml.hpp>
50#include <unordered_map>
51
52#include <ctpl_stl.h>
53
54namespace oms
55{
56 class AlgLoop;
57 class Component;
58 class Model;
59 class Variable;
60
61 class System
62 {
63 public: // methods
64 virtual ~System();
65
66 virtual oms_status_enu_t exportToSSD_SimulationInformation(pugi::xml_node& node) const = 0;
67 virtual oms_status_enu_t importFromSSD_SimulationInformation(const pugi::xml_node& node, const std::string& sspVersion) = 0;
68 virtual oms_status_enu_t registerSignalsForResultFile(ResultWriter& resultFile);
69 virtual oms_status_enu_t updateSignals(ResultWriter& resultFile);
70 virtual oms_status_enu_t setSolver(oms_solver_enu_t solver) {return oms_status_error;}
71 virtual oms_status_enu_t instantiate() = 0;
72 virtual oms_status_enu_t initialize() = 0;
73 virtual oms_status_enu_t terminate() = 0;
74 virtual oms_status_enu_t reset() = 0;
75 virtual oms_status_enu_t doStep() = 0;
76 virtual oms_status_enu_t stepUntil(double stopTime) = 0;
77
78 static System* NewSystem(const ComRef& cref, oms_system_enu_t type, Model* parentModel, System* parentSystem);
79
80 const ComRef& getCref() const {return cref;}
81 ComRef getFullCref() const;
82 System* getSystem(const ComRef& cref);
86 oms_status_enu_t listUnconnectedConnectors(char** contents) const;
87 oms_system_enu_t getType() const {return type;}
88 oms_status_enu_t addSubSystem(const ComRef& cref, oms_system_enu_t type);
89 oms_status_enu_t addSubModel(const ComRef& cref, const std::string& fmuPath);
90 oms_status_enu_t setExportName(const ComRef& cref, const std::string& exportName);
91 oms_status_enu_t replaceSubModel(const ComRef& cref, const std::string& fmuPath, bool dryRun, int& warningCount);
92 bool isValidScalarVariable(Component* referenceComponent, Component* replacingComponent, Connection* connection, const ComRef& crefA, const ComRef& crefB, const ComRef& signalName, const std::string& path, std::vector<std::string>& warningList);
93 bool validCref(const ComRef& cref);
94 oms_status_enu_t exportToSSD(pugi::xml_node& node, Snapshot& snapshot, std::string variantName) const;
95 oms_status_enu_t exportToSSV(Snapshot& snapshot) const;
96 oms_status_enu_t importFromSnapshot(const pugi::xml_node& node, const std::string& sspVersion, const Snapshot& snapshot, std::string variantName);
97 void setGeometry(const ssd::ElementGeometry& geometry) {element.setGeometry(&geometry);}
98 oms_status_enu_t addConnector(const ComRef& cref, oms_causality_enu_t causality, oms_signal_type_enu_t type);
100 std::string getConnectorOwner(const ComRef& cref) const;
103 Connection* getConnection(const ComRef& crefA, const ComRef& crefB);
105 oms_status_enu_t addConnection(const ComRef& crefA, const ComRef& crefB, bool suppressUnitConversion = false);
106 oms_status_enu_t deleteConnection(const ComRef& crefA, const ComRef& crefB);
107 oms_status_enu_t setConnectorGeometry(const ComRef& cref, const oms::ssd::ConnectorGeometry* geometry);
108 oms_status_enu_t setConnectionGeometry(const ComRef &crefA, const ComRef &crefB, const oms::ssd::ConnectionGeometry* geometry);
109 oms_status_enu_t addBus(const ComRef& cref);
110 oms_status_enu_t newResources(const ComRef& cref, const std::string& ssvFilename, const std::string& ssmFilename = "", bool externalresources = false);
111 oms_status_enu_t addConnectorToBus(const ComRef& busCref, const ComRef& connectorCref);
112 oms_status_enu_t deleteConnectorFromBus(const ComRef& busCref, const ComRef& connectorCref);
113 oms_status_enu_t setBusGeometry(const ComRef& cref, const oms::ssd::ConnectorGeometry* geometry);
114 oms_status_enu_t delete_(const ComRef& cref);
115 oms_status_enu_t deleteAllConectionsTo(const ComRef& cref);
116 oms_status_enu_t deleteReferencesInSSD(const ComRef& cref, const std::string& filename);
117 oms_status_enu_t deleteResourcesInSSP(const std::string& filename);
118
119 bool isConnected(const ComRef& cref) const;
120 Model& getModel();
122 bool copyResources();
123 void getAllResources(std::vector<std::string>& resources) const;
124 std::map<ComRef, System*>& getSubSystems() {return subsystems;}
125 std::map<ComRef, Component*>& getComponents() {return components;}
126 std::vector<Connection*>& getConnections() {return connections;}
127 oms_status_enu_t updateDependencyGraphs();
130 oms_status_enu_t exportDependencyGraphs(const std::string& pathInitialization, const std::string& pathEvent, const std::string& pathSimulation);
131
132 double getTime() const {return time;}
133
134 oms_status_enu_t getBoolean(const ComRef& cref, bool& value);
135 oms_status_enu_t getInteger(const ComRef& cref, int& value);
136 oms_status_enu_t getReal(const ComRef& cref, double& value);
137 oms_status_enu_t getString(const ComRef& cref, std::string& value);
138 oms_status_enu_t setBoolean(const ComRef& cref, bool value);
139 oms_status_enu_t setInteger(const ComRef& cref, int value);
140 oms_status_enu_t setReal(const ComRef& cref, double value);
141 oms_status_enu_t setString(const ComRef& cref, const std::string& value);
142 oms_status_enu_t setUnit(const ComRef& cref, const std::string& value);
143 oms_status_enu_t getVariableType(const ComRef& cref, oms_signal_type_enu_t& type);
144
145 oms_status_enu_t getReals(const std::vector<ComRef> &crefs, std::vector<double> &values);
146 oms_status_enu_t setReals(const std::vector<ComRef> &crefs, std::vector<double> values);
147 oms_status_enu_t setRealInputDerivatives(const ComRef &cref, int order, double value);
148
149 oms_status_enu_t getDirectionalDerivative(const ComRef& unknownCref, const ComRef& knownCref, double& value);
150
151 oms_status_enu_t getState(const ComRef& cref);
152 oms_status_enu_t setState(const ComRef& cref);
153 oms_status_enu_t freeState(const ComRef& cref);
154
155 oms_status_enu_t rename(const ComRef& newCref);
156 oms_status_enu_t rename(const ComRef& cref, const ComRef& newCref);
157 oms_status_enu_t renameConnections(const ComRef& cref, const ComRef& newCref);
158 oms_status_enu_t renameConnectors();
159
160 bool isTopLevelSystem() const {return (parentSystem == NULL);}
161
162 oms_status_enu_t addSignalsToResults(const char* regex);
163 oms_status_enu_t removeSignalsFromResults(const char* regex);
164
166 void getStepSize(double* initialStepSize, double* minimumStepSize, double* maximumStepSize) const {if (initialStepSize) *initialStepSize=this->initialStepSize; if (minimumStepSize) *minimumStepSize=this->minimumStepSize; if (maximumStepSize) *maximumStepSize=this->maximumStepSize;}
167 oms_status_enu_t setTolerance(double relativeTolerance) {this->relativeTolerance=relativeTolerance; return oms_status_ok;}
168 oms_status_enu_t setFixedStepSize(double stepSize) {this->minimumStepSize=this->maximumStepSize=this->initialStepSize=stepSize; return oms_status_ok;}
169 oms_status_enu_t setVariableStepSize(double initialStepSize, double minimumStepSize, double maximumStepSize) {this->minimumStepSize=minimumStepSize; this->maximumStepSize=maximumStepSize; this->initialStepSize=initialStepSize; return oms_status_ok;}
171 oms_solver_enu_t getSolver() {return solverMethod;}
172
173 AlgLoop* getAlgLoop(const int systemNumber);
174 oms_status_enu_t addAlgLoop(scc_t SCC, const int algLoopNum, DirectedGraph& graph, bool supportsDirectionalDerivatives);
175 oms_status_enu_t updateAlgebraicLoops(const std::vector< scc_t >& sortedConnections, DirectedGraph& graph);
176 oms_status_enu_t solveAlgLoop(DirectedGraph& graph, int loopNumber);
177
178 bool useThreadPool();
179 ctpl::thread_pool& getThreadPool();
180
181 std::string getUniqueID() const;
182
184
185 void getFilteredSignals(std::vector<Connector>& filteredSignals) const;
186
188
189 Values& getValues() { return values; }
190 std::map<std::string, filesystem::path> fmuGuid;
191
192 protected: // methods
193 System(const ComRef& cref, oms_system_enu_t type, Model* parentModel, System* parentSystem, oms_solver_enu_t solverMethod);
194
195 // stop the compiler generating methods copying the object
196 System(System const& copy);
197 System& operator=(System const& copy);
198
199 private: // methods
200 oms_status_enu_t importFromSSD_ConnectionGeometry(const pugi::xml_node& node, const ComRef& crefA, const ComRef& crefB);
201 oms_status_enu_t importBusConnectorSignals(const pugi::xml_node& node);
202 oms_status_enu_t importBusConnectorGeometry(const pugi::xml_node& node);
203
204 protected: // attributes
205 double time;
206
210
212 unsigned int clock_id;
213
214 oms_solver_enu_t solverMethod = oms_solver_none;
215
216 double relativeTolerance = 1e-4;
220
221 std::unordered_map<unsigned int /*result file var ID*/, unsigned int /*allVariables ID*/> resultFileMapping;
222 std::unordered_map<ComRef, bool> exportConnectors;
223
224 private: // attributes
226 oms_system_enu_t type;
229 std::map<ComRef, System*> subsystems;
230 std::map<ComRef, Component*> components;
231 std::string exportName;
232
234
236 std::vector<Connector*> connectors;
237 std::vector<oms_element_t*> subelements;
238 std::vector<BusConnector*> busconnectors;
239 std::vector<Connection*> connections;
240
241 bool loopsNeedUpdate = true;
242 std::vector<AlgLoop> algLoops;
243 std::string getFmiVersion(const std::string& path);
244 };
245}
246
247#endif
Definition Clock.h:39
Definition AlgLoop.h:91
BusConnector.
Definition BusConnector.h:21
ComRef - component reference.
Definition ComRef.h:47
Definition Component.h:60
**
Definition Connection.h:48
Connector.
Definition Connector.h:50
Definition DirectedGraph.h:65
Element.
Definition Element.h:47
void setGeometry(const oms::ssd::ElementGeometry *newGeometry)
Definition Element.cpp:66
Definition Model.h:53
Definition ResultWriter.h:69
Definition Snapshot.h:47
Definition System.h:62
Connection * getConnection(const ComRef &crefA, const ComRef &crefB)
Definition System.cpp:1391
oms_status_enu_t setFixedStepSize(double stepSize)
Definition System.h:168
std::vector< AlgLoop > algLoops
vector of algebraic loop objects
Definition System.h:242
oms_status_enu_t solveAlgLoop(DirectedGraph &graph, int loopNumber)
Definition System.cpp:2609
Model & getModel()
Definition System.cpp:1399
oms_status_enu_t setExportName(const ComRef &cref, const std::string &exportName)
Definition System.cpp:338
oms_status_enu_t setTolerance(double relativeTolerance)
Definition System.h:167
double initialStepSize
Definition System.h:219
std::map< std::string, filesystem::path > fmuGuid
Definition System.h:190
DirectedGraph initializationGraph
dependency graph, with all connections, solved at initialization
Definition System.h:207
oms_status_enu_t addSubModel(const ComRef &cref, const std::string &fmuPath)
Definition System.cpp:284
virtual oms_status_enu_t setSolver(oms_solver_enu_t solver)
Definition System.h:70
void getFilteredSignals(std::vector< Connector > &filteredSignals) const
Definition System.cpp:1577
oms_status_enu_t setConnectorGeometry(const ComRef &cref, const oms::ssd::ConnectorGeometry *geometry)
Definition System.cpp:1316
oms_status_enu_t updateAlgebraicLoops(const std::vector< scc_t > &sortedConnections, DirectedGraph &graph)
Definition System.cpp:2588
oms_status_enu_t getReals(const std::vector< ComRef > &crefs, std::vector< double > &values)
Definition System.cpp:2267
virtual oms_status_enu_t reset()=0
oms_status_enu_t delete_(const ComRef &cref)
Definition System.cpp:1432
ComRef cref
Definition System.h:225
System(System const &copy)
not implemented
oms_status_enu_t deleteAllConectionsTo(const ComRef &cref)
Definition System.cpp:1406
Variable * getVariable(const ComRef &cref)
Definition System.cpp:211
oms_status_enu_t setRealInputDerivatives(const ComRef &cref, int order, double value)
Definition System.cpp:2289
oms_status_enu_t freeState(const ComRef &cref)
Definition System.cpp:2015
BusConnector * getBusConnector(const ComRef &cref)
Definition System.cpp:1092
System * getSystem(const ComRef &cref)
Definition System.cpp:151
std::unordered_map< unsigned int, unsigned int > resultFileMapping
Definition System.h:221
oms_status_enu_t renameConnectors()
Definition System.cpp:2689
oms_status_enu_t setBusGeometry(const ComRef &cref, const oms::ssd::ConnectorGeometry *geometry)
Definition System.cpp:1374
oms_status_enu_t renameConnections(const ComRef &cref, const ComRef &newCref)
Definition System.cpp:2679
oms_status_enu_t addSignalsToResults(const char *regex)
Definition System.cpp:2419
std::vector< Connection * > connections
last element is always NULL
Definition System.h:239
void getAllResources(std::vector< std::string > &resources) const
Definition System.cpp:1568
std::string getFmiVersion(const std::string &path)
Definition System.cpp:352
virtual oms_status_enu_t registerSignalsForResultFile(ResultWriter &resultFile)
Definition System.cpp:2314
oms_status_enu_t getReal(const ComRef &cref, double &value)
Definition System.cpp:1820
oms_status_enu_t removeSignalsFromResults(const char *regex)
Definition System.cpp:2452
void getTolerance(double *relativeTolerance) const
Definition System.h:165
oms_solver_enu_t solverMethod
Definition System.h:214
oms_status_enu_t setBoolean(const ComRef &cref, bool value)
Definition System.cpp:2039
oms_status_enu_t importFromSSD_ConnectionGeometry(const pugi::xml_node &node, const ComRef &crefA, const ComRef &crefB)
Definition System.cpp:2294
std::string getUniqueID() const
Definition System.cpp:2495
Values values
system level connectors, parameters and their start values defined before instantiating the FMU and e...
Definition System.h:233
oms_status_enu_t setInteger(const ComRef &cref, int value)
Definition System.cpp:2086
oms_status_enu_t importBusConnectorGeometry(const pugi::xml_node &node)
Definition System.cpp:2528
const DirectedGraph & getOutputsGraph()
Definition System.h:129
oms_status_enu_t rename(const ComRef &newCref)
rename the system itself
Definition System.cpp:2614
oms_status_enu_t exportToSSD(pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const
Definition System.cpp:699
unsigned int clock_id
Definition System.h:212
oms_status_enu_t getString(const ComRef &cref, std::string &value)
Definition System.cpp:1896
oms_status_enu_t deleteConnection(const ComRef &crefA, const ComRef &crefB)
Definition System.cpp:1210
DirectedGraph simulationGraph
filtered dependency graph, with connections of type Real, solved at continuous time mode;
Definition System.h:209
double maximumStepSize
Definition System.h:218
oms_status_enu_t addConnection(const ComRef &crefA, const ComRef &crefB, bool suppressUnitConversion=false)
Definition System.cpp:1127
bool isConnected(const ComRef &cref) const
Definition System.cpp:1423
bool supportsDirectionalDerivatives(int i, DirectedGraph &graph)
returns true if all FMUs support providesDirectionalDerivative
Definition System.cpp:2574
std::string exportName
export name for top system and subsystem-level connector, used in the result file
Definition System.h:231
oms_status_enu_t setState(const ComRef &cref)
Definition System.cpp:1991
const ComRef & getCref() const
Definition System.h:80
std::map< ComRef, Component * > components
Definition System.h:230
AlgLoop * getAlgLoop(const int systemNumber)
Definition System.cpp:2546
oms_status_enu_t setReals(const std::vector< ComRef > &crefs, std::vector< double > values)
Definition System.cpp:2278
virtual oms_status_enu_t instantiate()=0
oms_status_enu_t getDirectionalDerivative(const ComRef &unknownCref, const ComRef &knownCref, double &value)
Definition System.cpp:1948
std::map< ComRef, System * > subsystems
Definition System.h:229
oms_status_enu_t updateDependencyGraphs()
Definition System.cpp:1602
oms_status_enu_t importFromSnapshot(const pugi::xml_node &node, const std::string &sspVersion, const Snapshot &snapshot, std::string variantName)
Definition System.cpp:809
bool useThreadPool()
Definition System.cpp:2485
oms_status_enu_t setString(const ComRef &cref, const std::string &value)
Definition System.cpp:2183
oms_status_enu_t addBus(const ComRef &cref)
Definition System.cpp:1243
bool isValidScalarVariable(Component *referenceComponent, Component *replacingComponent, Connection *connection, const ComRef &crefA, const ComRef &crefB, const ComRef &signalName, const std::string &path, std::vector< std::string > &warningList)
Definition System.cpp:475
std::map< ComRef, Component * > & getComponents()
Definition System.h:125
oms_status_enu_t getVariableType(const ComRef &cref, oms_signal_type_enu_t &type)
Definition System.cpp:183
virtual oms_status_enu_t updateSignals(ResultWriter &resultFile)
Definition System.cpp:2374
double getTime() const
Definition System.h:132
System * getParentSystem() const
Definition System.h:121
virtual oms_status_enu_t doStep()=0
bool isTopLevelSystem() const
Definition System.h:160
double time
Definition System.h:205
Connector ** getConnectors()
Definition System.h:101
static System * NewSystem(const ComRef &cref, oms_system_enu_t type, Model *parentModel, System *parentSystem)
Definition System.cpp:91
oms_status_enu_t setUnit(const ComRef &cref, const std::string &value)
Definition System.cpp:2229
System * parentSystem
Definition System.h:228
double relativeTolerance
Definition System.h:216
Model * parentModel
Definition System.h:227
oms_status_enu_t listUnconnectedConnectors(char **contents) const
Definition System.cpp:629
oms_status_enu_t getState(const ComRef &cref)
Definition System.cpp:1967
oms_system_enu_t type
Definition System.h:226
Connector * getConnector(const ComRef &cref)
Definition System.cpp:1067
oms_solver_enu_t getSolver()
Definition System.h:171
double minimumStepSize
Definition System.h:217
oms_status_enu_t getInteger(const ComRef &cref, int &value)
Definition System.cpp:1750
oms_status_enu_t setReal(const ComRef &cref, double value)
Definition System.cpp:2133
Clock clock
Definition System.h:211
const DirectedGraph & getInitialUnknownsGraph()
Definition System.h:128
virtual oms_status_enu_t initialize()=0
ctpl::thread_pool & getThreadPool()
Definition System.cpp:2490
oms_status_enu_t getBoolean(const ComRef &cref, bool &value)
Definition System.cpp:1680
std::string getConnectorOwner(const ComRef &cref) const
Definition System.cpp:1087
void getStepSize(double *initialStepSize, double *minimumStepSize, double *maximumStepSize) const
Definition System.h:166
bool validCref(const ComRef &cref)
Definition System.cpp:232
double getMaximumStepSize()
Definition System.h:170
oms_status_enu_t addConnectorToBus(const ComRef &busCref, const ComRef &connectorCref)
Definition System.cpp:1268
oms_status_enu_t deleteReferencesInSSD(const ComRef &cref, const std::string &filename)
Definition System.cpp:577
virtual oms_status_enu_t terminate()=0
std::vector< Connector * > connectors
last element is always NULL
Definition System.h:236
Element * getElement()
Definition System.h:85
oms_status_enu_t exportToSSV(Snapshot &snapshot) const
Definition System.cpp:794
oms_status_enu_t addSubSystem(const ComRef &cref, oms_system_enu_t type)
Definition System.cpp:252
oms_status_enu_t newResources(const ComRef &cref, const std::string &ssvFilename, const std::string &ssmFilename="", bool externalresources=false)
Definition System.cpp:507
oms_status_enu_t replaceSubModel(const ComRef &cref, const std::string &fmuPath, bool dryRun, int &warningCount)
Definition System.cpp:366
std::vector< oms_element_t * > subelements
last element is always NULL; don't free it
Definition System.h:237
std::unordered_map< ComRef, bool > exportConnectors
Definition System.h:222
Component * getComponent(const ComRef &cref)
Definition System.cpp:166
void setGeometry(const ssd::ElementGeometry &geometry)
Definition System.h:97
virtual ~System()
Definition System.cpp:70
std::vector< BusConnector * > busconnectors
Definition System.h:238
DirectedGraph eventGraph
filtered dependency graph, without parameters, solved at event mode
Definition System.h:208
Element element
Definition System.h:235
oms_status_enu_t setVariableStepSize(double initialStepSize, double minimumStepSize, double maximumStepSize)
Definition System.h:169
virtual oms_status_enu_t stepUntil(double stopTime)=0
bool copyResources()
Definition System.cpp:1561
oms_status_enu_t deleteConnectorFromBus(const ComRef &busCref, const ComRef &connectorCref)
Definition System.cpp:1292
oms_status_enu_t addConnector(const ComRef &cref, oms_causality_enu_t causality, oms_signal_type_enu_t type)
Definition System.cpp:1046
System & operator=(System const &copy)
not implemented
oms_status_enu_t importBusConnectorSignals(const pugi::xml_node &node)
Definition System.cpp:2506
void forceLoopsToBeUpdated()
Definition System.h:183
oms_status_enu_t deleteResourcesInSSP(const std::string &filename)
Definition System.cpp:601
bool loopsNeedUpdate
Definition System.h:241
virtual oms_status_enu_t exportToSSD_SimulationInformation(pugi::xml_node &node) const =0
oms_status_enu_t setConnectionGeometry(const ComRef &crefA, const ComRef &crefB, const oms::ssd::ConnectionGeometry *geometry)
Definition System.cpp:1347
oms_system_enu_t getType() const
Definition System.h:87
oms_status_enu_t exportDependencyGraphs(const std::string &pathInitialization, const std::string &pathEvent, const std::string &pathSimulation)
Definition System.cpp:1592
std::vector< Connection * > & getConnections()
Definition System.h:126
virtual oms_status_enu_t importFromSSD_SimulationInformation(const pugi::xml_node &node, const std::string &sspVersion)=0
std::map< ComRef, System * > & getSubSystems()
Definition System.h:124
ComRef getFullCref() const
Definition System.cpp:140
Values & getValues()
Definition System.h:189
oms_status_enu_t addAlgLoop(scc_t SCC, const int algLoopNum, DirectedGraph &graph, bool supportsDirectionalDerivatives)
Definition System.cpp:2557
Definition Values.h:46
Definition Variable.h:46
Definition ConnectionGeometry.h:46
Definition ConnectorGeometry.h:46
Definition ElementGeometry.h:46
Definition AlgLoop.h:45
Strong connected components data type.
Definition DirectedGraph.h:54