OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
|
Go to the documentation of this file.
39 #include "OMSimulator/Types.h"
43 #include <pugixml.hpp>
81 oms_status_enu_t
reduceSSV(
const std::string& ssvfile,
const std::string& ssmfile,
const std::string& filepath);
90 oms_status_enu_t
importSnapshot(
const char* snapshot,
char** newCref);
92 oms_status_enu_t
exportToFile(
const std::string& filename)
const;
93 oms_system_enu_t
getSystemType(
const pugi::xml_node& node,
const std::string& sspVersion);
94 oms_system_enu_t
getSystemTypeHelper(
const pugi::xml_node& node,
const std::string& sspVersion);
105 oms_status_enu_t
doStep();
108 oms_status_enu_t
reset();
122 oms_status_enu_t
emit(
double time,
bool force=
false,
bool* emitted=NULL);
134 oms_status_enu_t
loadSnapshot(
const pugi::xml_node& node);
182 ctpl::thread_pool*
pool =
nullptr;
void exportSignalFilter(Snapshot &snapshot) const
Definition: Model.cpp:1477
oms_status_enu_t renameModel(const ComRef &cref, const ComRef &newCref)
Definition: Scope.cpp:109
const char * simulation_information
Definition: Tags.cpp:56
~Model()
Definition: Model.cpp:57
const char * annotation_type
Definition: Tags.cpp:34
oms_status_enu_t writeResourceNode(const filesystem::path &filename, const filesystem::path &path) const
Definition: Snapshot.cpp:439
oms_status_enu_t emit(double time, bool force=false, bool *emitted=NULL)
Definition: Model.cpp:1383
double getLoggingInterval() const
Definition: Model.h:119
static bool DeleteTempFiles()
Definition: Flags.h:64
System * getTopLevelSystem() const
Definition: Model.h:67
oms::ComRef getSSDFilename() const
Definition: Snapshot.cpp:240
oms_status_enu_t newResources(const ComRef &cref)
Definition: Model.cpp:631
std::string signalFilterFilename
Definition: Model.h:174
oms_status_enu_t addSignalsToResults(const char *regex)
Definition: Model.cpp:1461
bool isolatedFMU
Definition: Model.h:180
System * system
Definition: Model.h:153
const char * system
Definition: Tags.cpp:57
double getStopTime() const
Definition: Model.h:115
oms_status_enu_t writeDocument(char **contents)
Definition: Snapshot.cpp:412
pugi::xml_node getTemplateResourceNodeSSD(const filesystem::path &filename, const ComRef &cref)
Definition: Snapshot.cpp:182
oms_modelState_enu_t getModelState() const
Definition: Model.h:110
ComRef - component reference.
Definition: ComRef.h:46
oms::ComRef getRootCref() const
Definition: Snapshot.cpp:260
oms_status_enu_t exportSSVTemplate(const ComRef &cref, const std::string &filename)
Definition: Model.cpp:490
oms_status_enu_t addResources(const ComRef &cref, const std::string &path)
Definition: Model.cpp:652
const char * component
Definition: Tags.cpp:45
double getTime() const
Definition: Model.cpp:1141
oms_status_enu_t referenceResources(const ComRef &cref, const std::string &ssmFile)
Definition: Model.cpp:680
const char * parameter_binding
Definition: Tags.cpp:75
Clock clock
Definition: Model.h:169
const char * units
Definition: Tags.cpp:59
oms_status_enu_t updateParameterBindingsToSSD(pugi::xml_node &node, bool isTopSystemOrModel) const
Definition: Model.cpp:609
Model(const ComRef &cref, const std::string &tempDir)
Definition: Model.cpp:47
std::string getVariantName()
Definition: Model.h:140
Definition: MATWriter.h:42
oms_status_enu_t initialize()
Definition: Model.cpp:1175
#define logWarning_deprecated
Definition: Logging.h:157
pugi::xml_node getTemplateResourceNodeSignalFilter(const filesystem::path &filename)
Definition: Snapshot.cpp:222
const char * enumerations
Definition: Tags.cpp:55
oms_status_enu_t exportToFile(const std::string &filename) const
Definition: Model.cpp:1020
Values values
Definition: Model.h:171
void exportUnitDefinitionsToSSD(pugi::xml_node &node) const
Definition: Model.cpp:1496
std::vector< oms::Element * > elements
Definition: Model.h:156
#define logError_ModelInWrongState(cref)
Definition: Logging.h:135
static bool isValidIdent(const std::string &ident)
Definition: ComRef.cpp:89
const char * enumeration_type
Definition: Tags.cpp:89
void exportEnumerationDefinitionsToSSD(pugi::xml_node &node) const
Definition: Model.cpp:1527
double stopTime
Definition: Model.h:163
pugi::xml_node getTemplateResourceNodeSSV(const filesystem::path &filename, const std::string &cref)
Definition: Snapshot.cpp:198
const char * parameter_bindings
Definition: Tags.cpp:74
#define logInfo(msg)
Definition: Logging.h:100
bool isIsolatedFMUModel() const
Definition: Model.h:128
bool validState(int validStates) const
Definition: Model.h:126
oms::ComRef getSignalFilterFilename() const
Definition: Snapshot.cpp:250
Element.
Definition: Element.h:49
filesystem::path oms_unique_path(const std::string &prefix)
Definition: OMSFileSystem.cpp:77
static unsigned int NumProcs()
Definition: Flags.h:92
const char * elements
Definition: Tags.cpp:54
oms_status_enu_t exportSnapshot(const ComRef &cref, char **contents)
Definition: Model.cpp:474
oms_status_enu_t addSystem(const ComRef &cref, oms_system_enu_t type)
Definition: Model.cpp:792
std::string tempDir
Definition: Model.h:154
std::string getWorkingDirectory()
Definition: Scope.cpp:341
ctpl::thread_pool & getThreadPool()
Definition: Model.h:132
const char * oms_signalFilter
Definition: Tags.cpp:68
oms_status_enu_t doStep()
Definition: Model.cpp:1269
oms_status_enu_t list(const ComRef &cref, char **contents)
Definition: Model.cpp:407
filesystem::path oms_canonical(const filesystem::path &p)
Definition: OMSFileSystem.cpp:103
const char * VariableStepSolver
Definition: Tags.cpp:65
oms_status_enu_t registerSignalsForResultFile()
Definition: Model.cpp:1372
static Scope & GetInstance()
Definition: Scope.cpp:63
void oms_copy_file(const filesystem::path &from, const filesystem::path &to)
Definition: OMSFileSystem.cpp:89
const char * oms_annotations
Definition: Tags.cpp:66
oms_status_enu_t exportPartialSnapshot(const ComRef &cref, Snapshot &partialSnapshot)
Definition: Snapshot.cpp:271
std::string pop_suffix()
returns the suffix as string and removes it from the current object
Definition: ComRef.cpp:118
#define logError_ResetFailed(system)
Definition: Logging.h:147
double startTime
Definition: Model.h:162
std::string getTempDirectory() const
Definition: Model.h:68
oms_status_enu_t reset()
Definition: Model.cpp:1343
#define logDebug(msg)
Definition: Logging.h:109
oms_status_enu_t deleteResourcesInSSP(const std::string &filename)
Definition: Model.cpp:774
oms_status_enu_t rename(const ComRef &cref)
Definition: Model.cpp:116
oms_status_enu_t importResourceNode(const filesystem::path &filename, const pugi::xml_node &node)
Definition: Snapshot.cpp:105
std::vector< std::string > externalResources
list of external ssv or ssm resources from filesystem
Definition: Model.h:178
static System * NewSystem(const ComRef &cref, oms_system_enu_t type, Model *parentModel, System *parentSystem)
Definition: System.cpp:101
Definition: CSVWriter.h:42
Definition: Component.h:59
void getResources(std::vector< std::string > &resources) const
Definition: Snapshot.cpp:126
oms_status_enu_t setResultFile(const std::string &filename, int bufferSize)
Definition: Model.cpp:1410
oms_system_enu_t getSystemType(const pugi::xml_node &node, const std::string &sspVersion)
Definition: Model.cpp:946
pugi::xml_node getResourceNode(const filesystem::path &filename) const
Definition: Snapshot.cpp:133
#define logWarning(msg)
Definition: Logging.h:101
void writeAllResourcesToFilesystem(std::vector< std::string > &resources, Snapshot &snapshot) const
Definition: Model.cpp:1074
std::map< ComRef, char * > ssdVariants
list of all variants copied when user create a new variant using oms_duplicateVariant()
Definition: Model.h:138
int bufferSize
Definition: Model.h:168
bool isEmpty() const
Definition: ComRef.cpp:99
double lastEmit
Definition: Model.h:166
oms_status_enu_t stepUntil(double stopTime)
Definition: Model.cpp:1289
std::vector< std::string > importedResources
list of imported resources from ssp
Definition: Model.h:136
void copyResources(bool copy_resources)
Definition: Model.h:96
oms_status_enu_t setLoggingInterval(double loggingInterval)
Definition: Model.cpp:1364
Definition: Snapshot.h:46
#define logError_Termination(system)
Definition: Logging.h:150
const ComRef & getCref() const
Definition: Model.h:63
static Model * NewModel(const ComRef &cref)
Definition: Model.cpp:82
Definition: ResultWriter.h:68
ComRef new_root_cref
Definition: Model.h:184
pugi::xml_node getTemplateResourceNodeSSDVariants()
Definition: Snapshot.cpp:231
static bool EmitEvents()
Definition: Flags.h:67
const char * base_unit
Definition: Tags.cpp:92
oms_status_enu_t simulate()
Definition: Model.cpp:1248
oms_status_enu_t removeSignalsFromResults(const char *regex)
Definition: Model.cpp:1469
const char * annotations
Definition: Tags.cpp:44
oms_status_enu_t importSnapshot(const char *snapshot, char **newCref)
Definition: Model.cpp:292
const char * enum_item
Definition: Tags.cpp:93
double getStartTime() const
Definition: Model.h:113
oms_status_enu_t setStartTime(double value)
Definition: Model.cpp:1126
oms_status_enu_t importResourceFile(const filesystem::path &filename, const filesystem::path &root)
Definition: Snapshot.cpp:83
void setIsolatedFMUModel()
Definition: Model.h:129
oms_status_enu_t reduceSSV(const std::string &ssvfile, const std::string &ssmfile, const std::string &filepath)
Definition: Model.cpp:710
oms_status_enu_t exportToSSD(pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const
Definition: System.cpp:667
oms_status_enu_t listVariants(const ComRef &cref, char **contents)
Definition: Model.cpp:263
#define logError_Initialization(system)
Definition: Logging.h:131
const char * simulation_information
Definition: Tags.cpp:62
oms::Element ** getElements()
Definition: Model.h:99
std::string variantName
default name
Definition: Model.h:176
oms_status_enu_t import(const char *snapshot)
Definition: Snapshot.cpp:68
const char * FixedStepMaster
Definition: Tags.cpp:63
ComRef cref
Definition: Model.h:152
oms_system_enu_t getSystemTypeHelper(const pugi::xml_node &node, const std::string &sspVersion)
Definition: Model.cpp:997
double loggingInterval
Definition: Model.h:167
const char * oms_Variable
Definition: Tags.cpp:69
bool copy_resources
Definition: Model.h:157
pugi::xml_node getTemplateResourceNodeSSM(const filesystem::path &filename)
Definition: Snapshot.cpp:211
const char * c_str() const
Definition: ComRef.h:75
#define logError(msg)
Definition: Logging.h:102
oms_modelState_enu_t modelState
Definition: Model.h:159
oms_status_enu_t setWorkingDirectory(const std::string &newWorkingDir)
Definition: Scope.cpp:311
oms_status_enu_t getResultFile(char **filename, int *bufferSize)
Definition: Model.cpp:1453
oms_status_enu_t importPartialSnapshot(const char *fullsnapshot)
Definition: Snapshot.cpp:332
oms_status_enu_t duplicateVariant(const ComRef &crefA, const ComRef &crefB)
Definition: Model.cpp:190
oms_status_enu_t setStopTime(double value)
Definition: Model.cpp:1135
ctpl::thread_pool * pool
Definition: Model.h:182
const char * annotation
Definition: Tags.cpp:102
Component * getComponent(const ComRef &cref)
Definition: Model.cpp:375
oms_status_enu_t loadSnapshot(const pugi::xml_node &node)
Definition: Model.cpp:155
System * getSystem(const ComRef &cref)
Definition: Model.cpp:358
ResultWriter * resultFile
Definition: Model.h:165
oms_status_enu_t importSignalFilter(const std::string &filename, const Snapshot &snapshot)
Definition: Model.cpp:1555
bool useThreadPool()
Definition: Model.h:131
ComRef pop_front()
returns the first part of the ComRef and removed it from the current object
Definition: ComRef.cpp:184
oms_status_enu_t delete_(const ComRef &cref)
Definition: Model.cpp:389
oms_status_enu_t instantiate()
Definition: Model.cpp:1148
oms_status_enu_t importFromSnapshot(const Snapshot &snapshot)
Definition: Model.cpp:856
const char * default_experiment
Definition: Tags.cpp:52
oms_status_enu_t exportSSMTemplate(const ComRef &cref, const std::string &filename)
Definition: Model.cpp:562
const char * unit
Definition: Tags.cpp:91
#define logError_InvalidIdent(cref)
Definition: Logging.h:134
Model & operator=(Model const ©)
not implemented
const char * signal
Definition: Tags.cpp:38
std::string resultFilename
default <name>_res.mat
Definition: Model.h:173
oms_status_enu_t terminate()
Definition: Model.cpp:1313
oms_status_enu_t activateVariant(const ComRef &crefA, const ComRef &crefB)
Definition: Model.cpp:229
static bool SuppressPath()
Definition: Flags.h:75
bool copyResources()
Definition: Model.h:97
oms_status_enu_t deleteReferencesInSSD(const ComRef &cref)
Definition: Model.cpp:753
const char * VariableStepMaster
Definition: Tags.cpp:64
const char * annotation
Definition: Tags.cpp:43
char * mallocAndCopyString(const char *source)
Definition: OMSString.cpp:67
oms_status_enu_t exportToSSD(Snapshot &snapshot) const
Definition: Model.cpp:818
bool isPartialSnapshot() const
Definition: Snapshot.cpp:77