OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
|
#include "OMSimulator.h"
#include "Component.h"
#include "ComRef.h"
#include "Element.h"
#include "ExternalModelInfo.h"
#include "Flags.h"
#include "FMUInfo.h"
#include "Logging.h"
#include "MatReader.h"
#include "Model.h"
#include "ResultReader.h"
#include "Scope.h"
#include "SignalDerivative.h"
#include "System.h"
#include "SystemWC.h"
#include "SystemTLM.h"
#include "TLMBusConnector.h"
#include "ExternalModel.h"
#include "Types.h"
#include "Version.h"
#include <miniunz.h>
#include <pugixml.hpp>
#include <string>
#include <iostream>
#include <chrono>
#include <thread>
#include <mutex>
#include <condition_variable>
Functions | |
const char * | oms_getVersion () |
void | oms_setLoggingCallback (void(*cb)(oms_message_type_enu_t type, const char *message)) |
oms_status_enu_t | oms_setLogFile (const char *filename) |
oms_status_enu_t | oms_setLoggingInterval (const char *cref_, double loggingInterval) |
oms_status_enu_t | oms_setLoggingLevel (int logLevel) |
void | oms_setMaxLogFileSize (const unsigned long size) |
oms_status_enu_t | oms_setTempDirectory (const char *newTempDir) |
oms_status_enu_t | oms_setWorkingDirectory (const char *newWorkingDir) |
oms_status_enu_t | oms_newModel (const char *cref) |
oms_status_enu_t | oms_rename (const char *cref_, const char *newCref_) |
int | oms_compareSimulationResults (const char *filenameA, const char *filenameB, const char *var, double relTol, double absTol) |
oms_status_enu_t | oms_delete (const char *cref) |
oms_status_enu_t | oms_export (const char *cref, const char *filename) |
oms_status_enu_t | oms_faultInjection (const char *signal, oms_fault_type_enu_t faultType, double faultValue) |
oms_status_enu_t | oms_importFile (const char *filename, char **cref) |
oms_status_enu_t | oms_list (const char *cref_, char **contents) |
oms_status_enu_t | oms_exportSnapshot (const char *cref_, char **contents) |
oms_status_enu_t | oms_exportSSVTemplate (const char *cref_, const char *filename) |
oms_status_enu_t | oms_exportSSMTemplate (const char *cref_, const char *filename) |
oms_status_enu_t | oms_listUnconnectedConnectors (const char *cref_, char **contents) |
oms_status_enu_t | oms_loadSnapshot (const char *cref_, const char *snapshot) |
oms_status_enu_t | oms_importSnapshot (const char *cref_, const char *snapshot) |
oms_status_enu_t | oms_parseModelName (const char *contents, char **cref) |
oms_status_enu_t | oms_addSystem (const char *cref_, oms_system_enu_t type) |
oms_status_enu_t | oms_copySystem (const char *source, const char *target) |
void | oms_freeMemory (void *obj) |
oms_status_enu_t | oms_getElement (const char *cref, oms_element_t **element) |
oms_status_enu_t | oms_getElements (const char *cref, oms_element_t ***elements) |
oms_status_enu_t | oms_getFixedStepSize (const char *cref, double *stepSize) |
oms_status_enu_t | oms_setElementGeometry (const char *cref, const ssd_element_geometry_t *geometry) |
oms_status_enu_t | oms_addConnector (const char *cref, oms_causality_enu_t causality, oms_signal_type_enu_t type) |
oms_status_enu_t | oms_getConnector (const char *cref, oms_connector_t **connector) |
oms_status_enu_t | oms_setCommandLineOption (const char *cmd) |
oms_status_enu_t | oms_getSystemType (const char *cref, oms_system_enu_t *type) |
oms_status_enu_t | oms_addConnection (const char *crefA, const char *crefB) |
oms_status_enu_t | oms_deleteConnection (const char *crefA, const char *crefB) |
oms_status_enu_t | oms_setConnectorGeometry (const char *cref, const ssd_connector_geometry_t *geometry) |
oms_status_enu_t | oms_setConnectionGeometry (const char *crefA, const char *crefB, const ssd_connection_geometry_t *geometry) |
oms_status_enu_t | oms_setTLMConnectionParameters (const char *crefA, const char *crefB, const oms_tlm_connection_parameters_t *parameters) |
oms_status_enu_t | oms_getConnections (const char *cref, oms_connection_t ***connections) |
oms_status_enu_t | oms_addBus (const char *cref) |
oms_status_enu_t | oms_getBus (const char *cref, oms_busconnector_t **busConnector) |
oms_status_enu_t | oms_setBusGeometry (const char *cref, const ssd_connector_geometry_t *geometry) |
oms_status_enu_t | oms_addTLMBus (const char *cref, oms_tlm_domain_t domain, const int dimensions, const oms_tlm_interpolation_t interpolation) |
oms_status_enu_t | oms_getTLMBus (const char *cref, oms_tlmbusconnector_t **tlmBusConnector) |
oms_status_enu_t | oms_addConnectorToBus (const char *busCref, const char *connectorCref) |
oms_status_enu_t | oms_deleteConnectorFromBus (const char *busCref, const char *connectorCref) |
oms_status_enu_t | oms_addConnectorToTLMBus (const char *busCref, const char *connectorCref, const char *type) |
oms_status_enu_t | oms_deleteConnectorFromTLMBus (const char *busCref, const char *connectorCref) |
oms_status_enu_t | oms_setTLMBusGeometry (const char *cref, const ssd_connector_geometry_t *geometry) |
oms_status_enu_t | oms_addTLMConnection (const char *crefA, const char *crefB, double delay, double alpha, double linearimpedance, double angularimpedance) |
oms_status_enu_t | oms_addExternalModel (const char *cref, const char *path, const char *startscript) |
oms_status_enu_t | oms_addSubModel (const char *cref, const char *fmuPath) |
oms_status_enu_t | oms_getComponentType (const char *cref, oms_component_enu_t *type) |
oms_status_enu_t | oms_getSubModelPath (const char *cref, char **path) |
oms_status_enu_t | oms_getExternalModelInfo (const char *cref, const oms_external_tlm_model_info_t **externalModelInfo) |
oms_status_enu_t | oms_getFMUInfo (const char *cref, const oms_fmu_info_t **fmuInfo) |
oms_status_enu_t | oms_instantiate (const char *cref_) |
oms_status_enu_t | oms_initialize (const char *cref_) |
oms_status_enu_t | oms_simulate_asynchronous (const char *cref_, void(*cb)(const char *cref, double time, oms_status_enu_t status)) |
oms_status_enu_t | oms_cancelSimulation_asynchronous (const char *cref_) |
oms_status_enu_t | oms_simulate (const char *cref_) |
oms_status_enu_t | oms_stepUntil (const char *cref_, double stopTime) |
oms_status_enu_t | oms_reset (const char *cref_) |
static int | do_simulation (std::string model, std::chrono::duration< double > timeout) |
oms_status_enu_t | oms_RunFile (const char *filename_) |
oms_status_enu_t | oms_terminate (const char *cref_) |
oms_status_enu_t | oms_setTLMSocketData (const char *cref, const char *address, int managerPort, int monitorPort) |
oms_status_enu_t | oms_setTLMPositionAndOrientation (const char *cref, double x1, double x2, double x3, double A11, double A12, double A13, double A21, double A22, double A23, double A31, double A32, double A33) |
oms_status_enu_t | oms_exportDependencyGraphs (const char *cref, const char *initialization, const char *event, const char *simulation) |
oms_status_enu_t | oms_getReal (const char *cref, double *value) |
oms_status_enu_t | oms_getResultFile (const char *cref_, char **filename, int *bufferSize) |
oms_status_enu_t | oms_getSignalFilter (const char *cref_, char **regex) |
oms_status_enu_t | oms_getSolver (const char *cref, oms_solver_enu_t *solver) |
oms_status_enu_t | oms_getInteger (const char *cref, int *value) |
oms_status_enu_t | oms_getBoolean (const char *cref, bool *value) |
oms_status_enu_t | oms_setReal (const char *cref, double value) |
oms_status_enu_t | oms_setRealInputDerivative (const char *cref, double value) |
oms_status_enu_t | oms_setInteger (const char *cref, int value) |
oms_status_enu_t | oms_setBoolean (const char *cref, bool value) |
oms_status_enu_t | oms_setResultFile (const char *cref_, const char *filename, int bufferSize) |
oms_status_enu_t | oms_setSignalFilter (const char *cref, const char *regex) |
oms_status_enu_t | oms_addSignalsToResults (const char *cref, const char *regex) |
oms_status_enu_t | oms_removeSignalsFromResults (const char *cref, const char *regex) |
oms_status_enu_t | oms_getStartTime (const char *cref, double *startTime) |
oms_status_enu_t | oms_setStartTime (const char *cref, double startTime) |
oms_status_enu_t | oms_getStopTime (const char *cref, double *stopTime) |
oms_status_enu_t | oms_setStopTime (const char *cref, double stopTime) |
oms_status_enu_t | oms_setFixedStepSize (const char *cref, double stepSize) |
oms_status_enu_t | oms_setVariableStepSize (const char *cref, double initialStepSize, double minimumStepSize, double maximumStepSize) |
oms_status_enu_t | oms_getModelState (const char *cref, oms_modelState_enu_t *modelState) |
oms_status_enu_t | oms_getTLMVariableTypes (oms_tlm_domain_t domain, const int dimensions, const oms_tlm_interpolation_t interpolation, char ***types, char ***descriptions) |
oms_status_enu_t | oms_getTolerance (const char *cref, double *absoluteTolerance, double *relativeTolerance) |
oms_status_enu_t | oms_getVariableStepSize (const char *cref, double *initialStepSize, double *minimumStepSize, double *maximumStepSize) |
oms_status_enu_t | oms_extractFMIKind (const char *filename, oms_fmi_kind_enu_t *kind) |
oms_status_enu_t | oms_fetchExternalModelInterfaces (const char *cref, char ***names, char ***domains, int **dimensions) |
oms_status_enu_t | oms_setSolver (const char *cref, oms_solver_enu_t solver) |
oms_status_enu_t | oms_setTolerance (const char *cref, double absoluteTolerance, double relativeTolerance) |
oms_status_enu_t | oms_addEventIndicator (const char *cref) |
oms_status_enu_t | oms_addTimeIndicator (const char *cref) |
oms_status_enu_t | oms_addStaticValueIndicator (const char *cref, double lower, double upper, double stepSize) |
oms_status_enu_t | oms_addDynamicValueIndicator (const char *cref, const char *lower, const char *upper, double stepSize) |
|
static |
oms_status_enu_t oms_addBus | ( | const char * | cref | ) |
oms_status_enu_t oms_addConnection | ( | const char * | crefA, |
const char * | crefB | ||
) |
oms_status_enu_t oms_addConnector | ( | const char * | cref, |
oms_causality_enu_t | causality, | ||
oms_signal_type_enu_t | type | ||
) |
oms_status_enu_t oms_addConnectorToBus | ( | const char * | busCref, |
const char * | connectorCref | ||
) |
oms_status_enu_t oms_addConnectorToTLMBus | ( | const char * | busCref, |
const char * | connectorCref, | ||
const char * | type | ||
) |
oms_status_enu_t oms_addDynamicValueIndicator | ( | const char * | cref, |
const char * | lower, | ||
const char * | upper, | ||
double | stepSize | ||
) |
oms_status_enu_t oms_addEventIndicator | ( | const char * | cref | ) |
oms_status_enu_t oms_addExternalModel | ( | const char * | cref, |
const char * | path, | ||
const char * | startscript | ||
) |
oms_status_enu_t oms_addSignalsToResults | ( | const char * | cref, |
const char * | regex | ||
) |
oms_status_enu_t oms_addStaticValueIndicator | ( | const char * | cref, |
double | lower, | ||
double | upper, | ||
double | stepSize | ||
) |
oms_status_enu_t oms_addSubModel | ( | const char * | cref, |
const char * | fmuPath | ||
) |
oms_status_enu_t oms_addSystem | ( | const char * | cref_, |
oms_system_enu_t | type | ||
) |
oms_status_enu_t oms_addTimeIndicator | ( | const char * | cref | ) |
oms_status_enu_t oms_addTLMBus | ( | const char * | cref, |
oms_tlm_domain_t | domain, | ||
const int | dimensions, | ||
const oms_tlm_interpolation_t | interpolation | ||
) |
oms_status_enu_t oms_addTLMConnection | ( | const char * | crefA, |
const char * | crefB, | ||
double | delay, | ||
double | alpha, | ||
double | linearimpedance, | ||
double | angularimpedance | ||
) |
oms_status_enu_t oms_cancelSimulation_asynchronous | ( | const char * | cref_ | ) |
int oms_compareSimulationResults | ( | const char * | filenameA, |
const char * | filenameB, | ||
const char * | var, | ||
double | relTol, | ||
double | absTol | ||
) |
oms_status_enu_t oms_copySystem | ( | const char * | source, |
const char * | target | ||
) |
oms_status_enu_t oms_delete | ( | const char * | cref | ) |
oms_status_enu_t oms_deleteConnection | ( | const char * | crefA, |
const char * | crefB | ||
) |
oms_status_enu_t oms_deleteConnectorFromBus | ( | const char * | busCref, |
const char * | connectorCref | ||
) |
oms_status_enu_t oms_deleteConnectorFromTLMBus | ( | const char * | busCref, |
const char * | connectorCref | ||
) |
oms_status_enu_t oms_export | ( | const char * | cref, |
const char * | filename | ||
) |
oms_status_enu_t oms_exportDependencyGraphs | ( | const char * | cref, |
const char * | initialization, | ||
const char * | event, | ||
const char * | simulation | ||
) |
oms_status_enu_t oms_exportSnapshot | ( | const char * | cref_, |
char ** | contents | ||
) |
oms_status_enu_t oms_exportSSMTemplate | ( | const char * | cref_, |
const char * | filename | ||
) |
oms_status_enu_t oms_exportSSVTemplate | ( | const char * | cref_, |
const char * | filename | ||
) |
oms_status_enu_t oms_extractFMIKind | ( | const char * | filename, |
oms_fmi_kind_enu_t * | kind | ||
) |
oms_status_enu_t oms_faultInjection | ( | const char * | signal, |
oms_fault_type_enu_t | faultType, | ||
double | faultValue | ||
) |
oms_status_enu_t oms_fetchExternalModelInterfaces | ( | const char * | cref, |
char *** | names, | ||
char *** | domains, | ||
int ** | dimensions | ||
) |
void oms_freeMemory | ( | void * | obj | ) |
oms_status_enu_t oms_getBoolean | ( | const char * | cref, |
bool * | value | ||
) |
oms_status_enu_t oms_getBus | ( | const char * | cref, |
oms_busconnector_t ** | busConnector | ||
) |
oms_status_enu_t oms_getComponentType | ( | const char * | cref, |
oms_component_enu_t * | type | ||
) |
oms_status_enu_t oms_getConnections | ( | const char * | cref, |
oms_connection_t *** | connections | ||
) |
oms_status_enu_t oms_getConnector | ( | const char * | cref, |
oms_connector_t ** | connector | ||
) |
oms_status_enu_t oms_getElement | ( | const char * | cref, |
oms_element_t ** | element | ||
) |
oms_status_enu_t oms_getElements | ( | const char * | cref, |
oms_element_t *** | elements | ||
) |
oms_status_enu_t oms_getExternalModelInfo | ( | const char * | cref, |
const oms_external_tlm_model_info_t ** | externalModelInfo | ||
) |
oms_status_enu_t oms_getFixedStepSize | ( | const char * | cref, |
double * | stepSize | ||
) |
oms_status_enu_t oms_getFMUInfo | ( | const char * | cref, |
const oms_fmu_info_t ** | fmuInfo | ||
) |
oms_status_enu_t oms_getInteger | ( | const char * | cref, |
int * | value | ||
) |
oms_status_enu_t oms_getModelState | ( | const char * | cref, |
oms_modelState_enu_t * | modelState | ||
) |
oms_status_enu_t oms_getReal | ( | const char * | cref, |
double * | value | ||
) |
oms_status_enu_t oms_getResultFile | ( | const char * | cref_, |
char ** | filename, | ||
int * | bufferSize | ||
) |
oms_status_enu_t oms_getSignalFilter | ( | const char * | cref_, |
char ** | regex | ||
) |
oms_status_enu_t oms_getSolver | ( | const char * | cref, |
oms_solver_enu_t * | solver | ||
) |
oms_status_enu_t oms_getStartTime | ( | const char * | cref, |
double * | startTime | ||
) |
oms_status_enu_t oms_getStopTime | ( | const char * | cref, |
double * | stopTime | ||
) |
oms_status_enu_t oms_getSubModelPath | ( | const char * | cref, |
char ** | path | ||
) |
oms_status_enu_t oms_getSystemType | ( | const char * | cref, |
oms_system_enu_t * | type | ||
) |
oms_status_enu_t oms_getTLMBus | ( | const char * | cref, |
oms_tlmbusconnector_t ** | tlmBusConnector | ||
) |
oms_status_enu_t oms_getTLMVariableTypes | ( | oms_tlm_domain_t | domain, |
const int | dimensions, | ||
const oms_tlm_interpolation_t | interpolation, | ||
char *** | types, | ||
char *** | descriptions | ||
) |
oms_status_enu_t oms_getTolerance | ( | const char * | cref, |
double * | absoluteTolerance, | ||
double * | relativeTolerance | ||
) |
oms_status_enu_t oms_getVariableStepSize | ( | const char * | cref, |
double * | initialStepSize, | ||
double * | minimumStepSize, | ||
double * | maximumStepSize | ||
) |
const char* oms_getVersion | ( | ) |
oms_status_enu_t oms_importFile | ( | const char * | filename, |
char ** | cref | ||
) |
oms_status_enu_t oms_importSnapshot | ( | const char * | cref_, |
const char * | snapshot | ||
) |
oms_status_enu_t oms_initialize | ( | const char * | cref_ | ) |
oms_status_enu_t oms_instantiate | ( | const char * | cref_ | ) |
oms_status_enu_t oms_list | ( | const char * | cref_, |
char ** | contents | ||
) |
oms_status_enu_t oms_listUnconnectedConnectors | ( | const char * | cref_, |
char ** | contents | ||
) |
oms_status_enu_t oms_loadSnapshot | ( | const char * | cref_, |
const char * | snapshot | ||
) |
oms_status_enu_t oms_newModel | ( | const char * | cref | ) |
oms_status_enu_t oms_parseModelName | ( | const char * | contents, |
char ** | cref | ||
) |
oms_status_enu_t oms_removeSignalsFromResults | ( | const char * | cref, |
const char * | regex | ||
) |
oms_status_enu_t oms_rename | ( | const char * | cref_, |
const char * | newCref_ | ||
) |
oms_status_enu_t oms_reset | ( | const char * | cref_ | ) |
oms_status_enu_t oms_RunFile | ( | const char * | filename_ | ) |
oms_status_enu_t oms_setBoolean | ( | const char * | cref, |
bool | value | ||
) |
oms_status_enu_t oms_setBusGeometry | ( | const char * | cref, |
const ssd_connector_geometry_t * | geometry | ||
) |
oms_status_enu_t oms_setCommandLineOption | ( | const char * | cmd | ) |
oms_status_enu_t oms_setConnectionGeometry | ( | const char * | crefA, |
const char * | crefB, | ||
const ssd_connection_geometry_t * | geometry | ||
) |
oms_status_enu_t oms_setConnectorGeometry | ( | const char * | cref, |
const ssd_connector_geometry_t * | geometry | ||
) |
oms_status_enu_t oms_setElementGeometry | ( | const char * | cref, |
const ssd_element_geometry_t * | geometry | ||
) |
oms_status_enu_t oms_setFixedStepSize | ( | const char * | cref, |
double | stepSize | ||
) |
oms_status_enu_t oms_setInteger | ( | const char * | cref, |
int | value | ||
) |
oms_status_enu_t oms_setLogFile | ( | const char * | filename | ) |
void oms_setLoggingCallback | ( | void(*)(oms_message_type_enu_t type, const char *message) | cb | ) |
oms_status_enu_t oms_setLoggingInterval | ( | const char * | cref_, |
double | loggingInterval | ||
) |
oms_status_enu_t oms_setLoggingLevel | ( | int | logLevel | ) |
void oms_setMaxLogFileSize | ( | const unsigned long | size | ) |
oms_status_enu_t oms_setReal | ( | const char * | cref, |
double | value | ||
) |
oms_status_enu_t oms_setRealInputDerivative | ( | const char * | cref, |
double | value | ||
) |
oms_status_enu_t oms_setResultFile | ( | const char * | cref_, |
const char * | filename, | ||
int | bufferSize | ||
) |
oms_status_enu_t oms_setSignalFilter | ( | const char * | cref, |
const char * | regex | ||
) |
oms_status_enu_t oms_setSolver | ( | const char * | cref, |
oms_solver_enu_t | solver | ||
) |
oms_status_enu_t oms_setStartTime | ( | const char * | cref, |
double | startTime | ||
) |
oms_status_enu_t oms_setStopTime | ( | const char * | cref, |
double | stopTime | ||
) |
oms_status_enu_t oms_setTempDirectory | ( | const char * | newTempDir | ) |
oms_status_enu_t oms_setTLMBusGeometry | ( | const char * | cref, |
const ssd_connector_geometry_t * | geometry | ||
) |
oms_status_enu_t oms_setTLMConnectionParameters | ( | const char * | crefA, |
const char * | crefB, | ||
const oms_tlm_connection_parameters_t * | parameters | ||
) |
oms_status_enu_t oms_setTLMPositionAndOrientation | ( | const char * | cref, |
double | x1, | ||
double | x2, | ||
double | x3, | ||
double | A11, | ||
double | A12, | ||
double | A13, | ||
double | A21, | ||
double | A22, | ||
double | A23, | ||
double | A31, | ||
double | A32, | ||
double | A33 | ||
) |
oms_status_enu_t oms_setTLMSocketData | ( | const char * | cref, |
const char * | address, | ||
int | managerPort, | ||
int | monitorPort | ||
) |
oms_status_enu_t oms_setTolerance | ( | const char * | cref, |
double | absoluteTolerance, | ||
double | relativeTolerance | ||
) |
oms_status_enu_t oms_setVariableStepSize | ( | const char * | cref, |
double | initialStepSize, | ||
double | minimumStepSize, | ||
double | maximumStepSize | ||
) |
oms_status_enu_t oms_setWorkingDirectory | ( | const char * | newWorkingDir | ) |
oms_status_enu_t oms_simulate | ( | const char * | cref_ | ) |
oms_status_enu_t oms_simulate_asynchronous | ( | const char * | cref_, |
void(*)(const char *cref, double time, oms_status_enu_t status) | cb | ||
) |
oms_status_enu_t oms_stepUntil | ( | const char * | cref_, |
double | stopTime | ||
) |
oms_status_enu_t oms_terminate | ( | const char * | cref_ | ) |