OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
ComponentFMUCS.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_COMPONENT_FMU_CS_H_
33 #define _OMS_COMPONENT_FMU_CS_H_
34 
35 #include "Component.h"
36 #include "ComRef.h"
37 #include "ResultWriter.h"
38 #include "Snapshot.h"
39 #include "Values.h"
40 #include "Variable.h"
41 
42 #include <fmi4c.h>
43 #include <map>
44 #include <pugixml.hpp>
45 #include <string>
46 #include <unordered_map>
47 #include <vector>
48 #include <cmath>
49 
50 namespace oms
51 {
52  class System;
53 
54  class ComponentFMUCS : public Component
55  {
56  public:
58 
59  static Component* NewComponent(const ComRef& cref, System* parentSystem, const std::string& fmuPath, std::string replaceComponent = "");
60  static Component* NewComponent(const pugi::xml_node& node, System* parentSystem, const std::string& sspVersion, const Snapshot& snapshot, std::string variantName);
61  const FMUInfo* getFMUInfo() const {return &(this->fmuInfo);}
62 
63  oms_status_enu_t exportToSSD(pugi::xml_node& node, Snapshot& snapshot, std::string variantName) const;
64  oms_status_enu_t exportToSSV(pugi::xml_node& ssvNode);
65  void getFilteredUnitDefinitionsToSSD(std::map<std::string, std::map<std::string, std::string>>& unitDefinitions);
66  void getFilteredEnumerationDefinitionsToSSD(std::map<std::string, std::map<std::string, std::string>>& enumerationDefinitions);
67  oms_status_enu_t exportToSSVTemplate(pugi::xml_node& ssvNode, Snapshot& snapshot);
68  oms_status_enu_t exportToSSMTemplate(pugi::xml_node& ssmNode);
69  oms_status_enu_t instantiate();
70  oms_status_enu_t initialize();
71  oms_status_enu_t terminate();
72  oms_status_enu_t reset();
73 
74  oms_status_enu_t stepUntil(double stopTime);
75 
77  oms_status_enu_t initializeDependencyGraph_outputs();
78 
80 
81  Values& getValues() { return values; }
82  oms_status_enu_t setValuesResources(Values& values);
83 
84  oms_status_enu_t getBoolean(const ComRef& cref, bool& value);
85  oms_status_enu_t getBoolean(const fmi2ValueReference& vr, bool& value);
86  oms_status_enu_t getInteger(const ComRef& cref, int& value);
87  oms_status_enu_t getInteger(const fmi2ValueReference& vr, int& value);
88  oms_status_enu_t getReal(const ComRef& cref, double& value);
89  oms_status_enu_t getReal(const fmi2ValueReference& vr, double& value);
90  oms_status_enu_t getString(const ComRef& cref, std::string& value);
91  oms_status_enu_t getString(const fmi2ValueReference& vr, std::string& value);
92  oms_status_enu_t setBoolean(const ComRef& cref, bool value);
93  oms_status_enu_t setInteger(const ComRef& cref, int value);
94  oms_status_enu_t setReal(const ComRef& cref, double value);
95  oms_status_enu_t setString(const ComRef& cref, const std::string& value);
96  oms_status_enu_t setUnit(const ComRef& cref, const std::string& value);
97 
98  oms_status_enu_t getDirectionalDerivative(const ComRef& unknownCref, const ComRef& knownCref, double& value);
99  oms_status_enu_t getDirectionalDerivativeHeper(const int unknownIndex, const int knownindex, const std::vector<int>& dependencyList, double& value);
100 
101  oms_status_enu_t deleteStartValue(const ComRef& cref);
102  oms_status_enu_t updateOrDeleteStartValueInReplacedComponent(std::vector<std::string>& warningList);
103 
104  oms_status_enu_t setFmuTime(double time) {this->time = time; return oms_status_ok;}
105  fmiHandle* getFMU() {return fmu;}
106  std::vector<Variable> getAllVariables() {return allVariables;}
107 
108  oms_status_enu_t getRealOutputDerivative(const ComRef& cref, SignalDerivative& der);
109  oms_status_enu_t setRealInputDerivative(const ComRef& cref, const SignalDerivative& der);
110 
111  oms_status_enu_t registerSignalsForResultFile(ResultWriter& resultFile);
112  oms_status_enu_t updateSignals(ResultWriter& resultWriter);
113  oms_status_enu_t addSignalsToResults(const char* regex);
114  oms_status_enu_t removeSignalsFromResults(const char* regex);
115 
117  oms_status_enu_t saveState();
118  oms_status_enu_t freeState();
119  oms_status_enu_t restoreState();
120 
121  oms_status_enu_t setFaultInjection(const ComRef& signal, oms_fault_type_enu_t faultType, double faultValue);
122 
123  void getFilteredSignals(std::vector<Connector>& filteredSignals) const;
124 
125  oms_status_enu_t newResources(const std::string& ssvFilename, const std::string& ssmFilename, bool externalResources);
126  oms_status_enu_t setResourcesHelper1(Values value);
127  oms_status_enu_t setResourcesHelper2(Values value);
128 
129  oms_status_enu_t deleteReferencesInSSD(const std::string& filename);
130  oms_status_enu_t deleteResourcesInSSP(const std::string& filename);
131  void copyModelDescriptionUnit(Values& value);
132 
133  protected:
134  ComponentFMUCS(const ComRef& cref, System* parentSystem, const std::string& fmuPath);
135 
136  // stop the compiler generating methods copying the object
137  ComponentFMUCS(ComponentFMUCS const& copy);
138  ComponentFMUCS& operator=(ComponentFMUCS const& copy);
139 
140  oms_status_enu_t renameValues(const ComRef& oldCref, const ComRef& newCref);
141 
142  void dumpInitialUnknowns();
143 
144  private:
145  fmi2CallbackLogger omsfmi2logger;
146  fmiHandle *fmu = NULL;
148 
149  std::vector<Variable> allVariables;
150  std::vector<unsigned int> calculatedParameters;
151  std::vector<unsigned int> derivatives;
152  std::vector<unsigned int> inputs;
153  std::vector<unsigned int> outputs;
154  std::vector<unsigned int> parameters;
155  std::vector<bool> exportVariables;
156 
158 
159  std::unordered_map<unsigned int /*result file var ID*/, unsigned int /*allVariables ID*/> resultFileMapping;
160 
161  double time;
162 
163  fmi2FMUstate fmuState = NULL;
164  double fmuStateTime;
165 
166  std::map<fmi2ValueReference, oms_fault_type_t> fib;
168  };
169 }
170 
171 #endif
oms
Definition: AlgLoop.h:44
System.h
oms::Component::cref
ComRef cref
Definition: Component.h:166
oms::ComponentFMUCS::getValidCref
oms::ComRef getValidCref(ComRef cref)
Definition: ComponentFMUCS.cpp:732
oms::ComponentFMUCS::omsfmi2logger
fmi2CallbackLogger omsfmi2logger
Definition: ComponentFMUCS.h:145
oms::ComponentFMUCS::deleteReferencesInSSD
oms_status_enu_t deleteReferencesInSSD(const std::string &filename)
Definition: ComponentFMUCS.cpp:784
oms::ComponentFMUCS::initializeDependencyGraph_initialUnknowns
oms_status_enu_t initializeDependencyGraph_initialUnknowns()
Definition: ComponentFMUCS.cpp:447
oms::ComponentFMUCS::initializeDependencyGraph_outputs
oms_status_enu_t initializeDependencyGraph_outputs()
Definition: ComponentFMUCS.cpp:550
oms::ComponentFMUCS::values
Values values
start values defined before instantiating the FMU and external inputs defined after initialization
Definition: ComponentFMUCS.h:157
oms::ssp::Draft20180219::annotation_type
const char * annotation_type
Definition: Tags.cpp:34
oms::ComponentFMUCS::fib
std::map< fmi2ValueReference, oms_fault_type_t > fib
fault injection blocks
Definition: ComponentFMUCS.h:166
oms::SignalDerivative
Definition: SignalDerivative.h:41
ComRef.h
oms::ComponentFMUCS::restoreState
oms_status_enu_t restoreState()
Definition: ComponentFMUCS.cpp:1940
logError_OnlyForRealInputs
#define logError_OnlyForRealInputs(cref)
Definition: Logging.h:144
oms::ComponentFMUCS::updateOrDeleteStartValueInReplacedComponent
oms_status_enu_t updateOrDeleteStartValueInReplacedComponent(std::vector< std::string > &warningList)
Definition: ComponentFMUCS.cpp:1752
oms::System::getUniqueID
std::string getUniqueID() const
Definition: System.cpp:2902
oms::ComponentFMUCS::setValuesResources
oms_status_enu_t setValuesResources(Values &values)
Definition: ComponentFMUCS.cpp:1739
oms::SystemWC
Definition: SystemWC.h:48
Model.h
oms::ComponentFMUCS::getBoolean
oms_status_enu_t getBoolean(const ComRef &cref, bool &value)
Definition: ComponentFMUCS.cpp:899
oms::SystemTLM::readFromSockets
void readFromSockets(SystemWC *system, double time, Component *component)
Definition: SystemTLM.cpp:691
oms::Variable::isTypeInteger
bool isTypeInteger() const
Definition: Variable.h:90
oms::ComponentFMUCS
Definition: ComponentFMUCS.h:54
oms::SignalDerivative::setRealInputDerivatives
oms_status_enu_t setRealInputDerivatives(fmiHandle *fmu, fmi2ValueReference vr) const
Definition: SignalDerivative.cpp:122
oms::ComponentFMUCS::exportToSSD
oms_status_enu_t exportToSSD(pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const
Definition: ComponentFMUCS.cpp:352
oms::ComRef
ComRef - component reference.
Definition: ComRef.h:46
SystemWC.h
oms::Variable::getValueReference
fmi2ValueReference getValueReference() const
Definition: Variable.h:85
oms::ComponentFMUCS::deleteResourcesInSSP
oms_status_enu_t deleteResourcesInSSP(const std::string &filename)
Definition: ComponentFMUCS.cpp:792
oms::ssp::Draft20180219::ssd::component
const char * component
Definition: Tags.cpp:45
oms::ComponentFMUCS::newResources
oms_status_enu_t newResources(const std::string &ssvFilename, const std::string &ssmFilename, bool externalResources)
Definition: ComponentFMUCS.cpp:742
oms::ComponentFMUCS::reset
oms_status_enu_t reset()
Definition: ComponentFMUCS.cpp:827
oms::Component::parentSystem
System * parentSystem
Definition: Component.h:165
oms::ComponentFMUCS::setUnit
oms_status_enu_t setUnit(const ComRef &cref, const std::string &value)
Definition: ComponentFMUCS.cpp:1673
oms::ComponentFMUCS::fmuStateTime
double fmuStateTime
Definition: ComponentFMUCS.h:164
oms::ComponentFMUCS::getInteger
oms_status_enu_t getInteger(const ComRef &cref, int &value)
Definition: ComponentFMUCS.cpp:989
oms::SignalType_INT
@ SignalType_INT
Definition: ResultWriter.h:44
oms::Values::ssmFile
std::string ssmFile
mapped ssm files associated with ssv files;
Definition: Values.h:179
oms::Variable::isContinuousTimeDer
bool isContinuousTimeDer() const
Definition: Variable.h:68
oms::ssp::Version1_0::ssc::real_type
const char * real_type
Definition: Tags.cpp:85
oms::ComponentFMUCS::outputs
std::vector< unsigned int > outputs
Definition: ComponentFMUCS.h:153
oms::ComponentFMUCS::fmuState
fmi2FMUstate fmuState
Definition: ComponentFMUCS.h:163
oms::System::fmuGuid
std::map< std::string, filesystem::path > fmuGuid
Definition: System.h:204
oms::ComponentFMUCS::getRealOutputDerivative
oms_status_enu_t getRealOutputDerivative(const ComRef &cref, SignalDerivative &der)
Definition: ComponentFMUCS.cpp:1408
oms::ComponentFMUCS::operator=
ComponentFMUCS & operator=(ComponentFMUCS const &copy)
not implemented
oms::Values::modeldescriptionUnitDefinitions
std::map< std::string, std::map< std::string, std::string > > modeldescriptionUnitDefinitions
<UnitDefinitions> list read from modeldescription.xml
Definition: Values.h:170
Snapshot.h
logError_InternalError
#define logError_InternalError
Definition: Logging.h:132
oms::ComponentFMUCS::copyModelDescriptionUnit
void copyModelDescriptionUnit(Values &value)
oms::SignalType_REAL
@ SignalType_REAL
Definition: ResultWriter.h:43
logError_ModelInWrongState
#define logError_ModelInWrongState(cref)
Definition: Logging.h:135
oms::ComponentFMUCS::stepUntil
oms_status_enu_t stepUntil(double stopTime)
Definition: ComponentFMUCS.cpp:846
oms::ComponentFMUCS::terminate
oms_status_enu_t terminate()
Definition: ComponentFMUCS.cpp:813
oms::ComRef::isValidIdent
static bool isValidIdent(const std::string &ident)
Definition: ComRef.cpp:89
oms::ssp::Version1_0::ssc::enumeration_type
const char * enumeration_type
Definition: Tags.cpp:89
Tags.h
oms::SignalValue_t::realValue
double realValue
Definition: ResultWriter.h:50
logError_FMUCall
#define logError_FMUCall(call, fmu)
Definition: Logging.h:130
oms::ssp::Version1_0::ssd::parameter_bindings
const char * parameter_bindings
Definition: Tags.cpp:74
logInfo
#define logInfo(msg)
Definition: Logging.h:100
oms::Variable::isTypeReal
bool isTypeReal() const
Definition: Variable.h:91
oms::ComponentFMUCS::getFMU
fmiHandle * getFMU()
Definition: ComponentFMUCS.h:105
oms::ComponentFMUCS::getCanGetAndSetState
bool getCanGetAndSetState()
Definition: ComponentFMUCS.h:116
oms::System::copyResources
bool copyResources()
Definition: System.cpp:1984
oms::FMUInfo::getCanGetAndSetFMUstate
bool getCanGetAndSetFMUstate() const
Definition: FMUInfo.h:56
oms::ComponentFMUCS::setReal
oms_status_enu_t setReal(const ComRef &cref, double value)
Definition: ComponentFMUCS.cpp:1560
oms::ComponentFMUCS::calculatedParameters
std::vector< unsigned int > calculatedParameters
Definition: ComponentFMUCS.h:150
oms::FMUInfo
FMU info.
Definition: FMUInfo.h:44
oms::ComponentFMUCS::exportToSSMTemplate
oms_status_enu_t exportToSSMTemplate(pugi::xml_node &ssmNode)
Definition: ComponentFMUCS.cpp:424
oms::SignalType_BOOL
@ SignalType_BOOL
Definition: ResultWriter.h:45
oms::Values::allresources
std::map< std::string, Values > allresources
mapped resources either inline or ssv
Definition: Values.h:178
oms::Flags::IgnoreInitialUnknowns
static bool IgnoreInitialUnknowns()
Definition: Flags.h:68
oms::Variable::isTypeBoolean
bool isTypeBoolean() const
Definition: Variable.h:89
oms::ssp::Draft20180219::ssd::connector
const char * connector
Definition: Tags.cpp:49
oms::System::getType
oms_system_enu_t getType() const
Definition: System.h:91
oms::ComponentFMUCS::parameters
std::vector< unsigned int > parameters
Definition: ComponentFMUCS.h:154
oms::ComponentFMUCS::setInteger
oms_status_enu_t setInteger(const ComRef &cref, int value)
Definition: ComponentFMUCS.cpp:1509
oms_copy_file
void oms_copy_file(const filesystem::path &from, const filesystem::path &to)
Definition: OMSFileSystem.cpp:89
oms::ComponentFMUCS::exportToSSVTemplate
oms_status_enu_t exportToSSVTemplate(pugi::xml_node &ssvNode, Snapshot &snapshot)
Definition: ComponentFMUCS.cpp:417
logError_ResetFailed
#define logError_ResetFailed(system)
Definition: Logging.h:147
oms::Model::getTempDirectory
std::string getTempDirectory() const
Definition: Model.h:68
oms::Connector::NewConnector
static Connector * NewConnector(const pugi::xml_node &node, const std::string &sspVersion, const oms::ComRef &owner)
Definition: Connector.cpp:124
logDebug
#define logDebug(msg)
Definition: Logging.h:109
oms::ComponentFMUCS::updateSignals
oms_status_enu_t updateSignals(ResultWriter &resultWriter)
Definition: ComponentFMUCS.cpp:1841
oms::ComponentFMUCS::setResourcesHelper2
oms_status_enu_t setResourcesHelper2(Values value)
Definition: ComponentFMUCS.cpp:675
oms::ComponentFMUCS::saveState
oms_status_enu_t saveState()
Definition: ComponentFMUCS.cpp:1919
oms::Values
Definition: Values.h:45
oms::ComponentFMUCS::fmu
fmiHandle * fmu
Definition: ComponentFMUCS.h:146
oms::SignalValue_t
Definition: ResultWriter.h:48
oms::Component
Definition: Component.h:59
oms::Snapshot::getResourceNode
pugi::xml_node getResourceNode(const filesystem::path &filename) const
Definition: Snapshot.cpp:133
logWarning
#define logWarning(msg)
Definition: Logging.h:101
oms::ComRef::isEmpty
bool isEmpty() const
Definition: ComRef.cpp:99
oms::ssd::ElementGeometry
Definition: ElementGeometry.h:45
ResultWriter.h
oms::ComponentFMUCS::addSignalsToResults
oms_status_enu_t addSignalsToResults(const char *regex)
Definition: ComponentFMUCS.cpp:1881
oms::Flags::WallTime
static bool WallTime()
Definition: Flags.h:76
oms::Snapshot
Definition: Snapshot.h:46
oms::ComponentFMUCS::derivatives
std::vector< unsigned int > derivatives
Definition: ComponentFMUCS.h:151
oms::ComponentFMUCS::dumpInitialUnknowns
void dumpInitialUnknowns()
Definition: ComponentFMUCS.cpp:430
logError_Termination
#define logError_Termination(system)
Definition: Logging.h:150
oms::Variable::isOutput
bool isOutput() const
Definition: Variable.h:61
oms::ComponentFMUCS::deleteStartValue
oms_status_enu_t deleteStartValue(const ComRef &cref)
Definition: ComponentFMUCS.cpp:1714
oms::ComponentFMUCS::ComponentFMUCS
ComponentFMUCS(const ComRef &cref, System *parentSystem, const std::string &fmuPath)
Definition: ComponentFMUCS.cpp:50
oms::ComponentFMUCS::setResourcesHelper1
oms_status_enu_t setResourcesHelper1(Values value)
Definition: ComponentFMUCS.cpp:651
Component.h
oms::ResultWriter
Definition: ResultWriter.h:68
oms::ComponentFMUCS::freeState
oms_status_enu_t freeState()
Definition: ComponentFMUCS.cpp:1928
oms::Values::modelDescriptionVariableUnits
std::map< ComRef, std::string > modelDescriptionVariableUnits
variable units read from modeldescription.xml
Definition: Values.h:158
oms::System::getModel
Model & getModel()
Definition: System.cpp:1796
oms::ComponentFMUCS::getDirectionalDerivative
oms_status_enu_t getDirectionalDerivative(const ComRef &unknownCref, const ComRef &knownCref, double &value)
Definition: ComponentFMUCS.cpp:1291
oms::ssp::Draft20180219::ssd::connectors
const char * connectors
Definition: Tags.cpp:51
logError_WrongSchema
#define logError_WrongSchema(name)
Definition: Logging.h:156
oms::ComponentFMUCS::registerSignalsForResultFile
oms_status_enu_t registerSignalsForResultFile(ResultWriter &resultFile)
Definition: ComponentFMUCS.cpp:1778
logError_UnknownSignal
#define logError_UnknownSignal(cref)
Definition: Logging.h:153
oms::Variable::isInitialUnknown
bool isInitialUnknown() const
Definition: Variable.h:75
oms::Values::realStartValues
std::map< ComRef, double > realStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:136
oms::ComponentFMUCS::exportVariables
std::vector< bool > exportVariables
Definition: ComponentFMUCS.h:155
oms::ComponentFMUCS::setFaultInjection
oms_status_enu_t setFaultInjection(const ComRef &signal, oms_fault_type_enu_t faultType, double faultValue)
Definition: ComponentFMUCS.cpp:1949
oms::Values::integerStartValues
std::map< ComRef, int > integerStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:137
oms::ssp::Draft20180219::ssd::annotations
const char * annotations
Definition: Tags.cpp:44
oms::ComponentFMUCS::getValues
Values & getValues()
Definition: ComponentFMUCS.h:81
oms::ComponentFMUCS::renameValues
oms_status_enu_t renameValues(const ComRef &oldCref, const ComRef &newCref)
Definition: ComponentFMUCS.cpp:1981
oms::ComponentFMUCS::getFilteredEnumerationDefinitionsToSSD
void getFilteredEnumerationDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &enumerationDefinitions)
Definition: ComponentFMUCS.cpp:407
oms::ComponentFMUCS::initialize
oms_status_enu_t initialize()
Definition: ComponentFMUCS.cpp:800
oms::ComponentFMUCS::setString
oms_status_enu_t setString(const ComRef &cref, const std::string &value)
Definition: ComponentFMUCS.cpp:1618
oms::Variable::getCref
const ComRef & getCref() const
Definition: Variable.h:82
oms::ComponentFMUCS::setRealInputDerivative
oms_status_enu_t setRealInputDerivative(const ComRef &cref, const SignalDerivative &der)
Definition: ComponentFMUCS.cpp:1429
oms::Snapshot::importResourceFile
oms_status_enu_t importResourceFile(const filesystem::path &filename, const filesystem::path &root)
Definition: Snapshot.cpp:83
oms::ComponentFMUCS::time
double time
Definition: ComponentFMUCS.h:161
oms::ComponentFMUCS::getVariable
Variable * getVariable(const ComRef &cref)
Definition: ComponentFMUCS.cpp:1069
oms::System
Definition: System.h:65
oms::ComponentFMUCS::~ComponentFMUCS
~ComponentFMUCS()
Definition: ComponentFMUCS.cpp:55
oms::ComponentFMUCS::setFmuTime
oms_status_enu_t setFmuTime(double time)
Definition: ComponentFMUCS.h:104
oms::ResultWriter::updateSignal
void updateSignal(unsigned int id, SignalValue_t value)
Definition: ResultWriter.cpp:120
oms::ssd::ElementGeometry::importFromSSD
oms_status_enu_t importFromSSD(const pugi::xml_node &node)
Definition: ElementGeometry.cpp:166
oms::ComponentFMUCS::instantiate
oms_status_enu_t instantiate()
Definition: ComponentFMUCS.cpp:600
logError
#define logError(msg)
Definition: Logging.h:102
oms::ComponentFMUCS::setBoolean
oms_status_enu_t setBoolean(const ComRef &cref, bool value)
Definition: ComponentFMUCS.cpp:1458
oms::Values::importFromSnapshot
oms_status_enu_t importFromSnapshot(const pugi::xml_node &node, const std::string &sspVersion, const Snapshot &snapshot, std::string variantName)
Definition: Values.cpp:858
oms::ComponentFMUCS::getFilteredUnitDefinitionsToSSD
void getFilteredUnitDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &unitDefinitions)
Definition: ComponentFMUCS.cpp:385
oms::ComponentFMUCS::getDirectionalDerivativeHeper
oms_status_enu_t getDirectionalDerivativeHeper(const int unknownIndex, const int knownindex, const std::vector< int > &dependencyList, double &value)
Definition: ComponentFMUCS.cpp:1380
oms::ssp::Version1_0::ssc::annotation
const char * annotation
Definition: Tags.cpp:102
oms::ResultWriter::addSignal
unsigned int addSignal(const ComRef &name, const std::string &description, SignalType_t type)
Definition: ResultWriter.cpp:50
ComponentFMUCS.h
oms::SignalValue_t::intValue
int intValue
Definition: ResultWriter.h:51
oms::Values::integerValues
std::map< ComRef, int > integerValues
input values defined after initialization
Definition: Values.h:142
oms::ComponentFMUCS::allVariables
std::vector< Variable > allVariables
Definition: ComponentFMUCS.h:149
oms::ComponentFMUCS::getFMUInfo
const FMUInfo * getFMUInfo() const
Definition: ComponentFMUCS.h:61
oms::ComRef::pop_front
ComRef pop_front()
returns the first part of the ComRef and removed it from the current object
Definition: ComRef.cpp:184
oms::Variable::makeConnector
oms::Connector makeConnector(const oms::ComRef &owner) const
Definition: Variable.h:98
oms::Variable
Definition: Variable.h:45
oms::ComponentFMUCS::resultFileMapping
std::unordered_map< unsigned int, unsigned int > resultFileMapping
Definition: ComponentFMUCS.h:159
oms::ComponentFMUCS::fmuInfo
FMUInfo fmuInfo
Definition: ComponentFMUCS.h:147
Flags.h
oms::Connector
Connector.
Definition: Connector.h:49
oms::ComponentFMUCS::NewComponent
static Component * NewComponent(const ComRef &cref, System *parentSystem, const std::string &fmuPath, std::string replaceComponent="")
Definition: ComponentFMUCS.cpp:65
Logging.h
oms::ComponentFMUCS::inputs
std::vector< unsigned int > inputs
Definition: ComponentFMUCS.h:152
OMSFileSystem.h
oms::Values::booleanStartValues
std::map< ComRef, bool > booleanStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:135
oms::SystemTLM
Definition: SystemTLM.h:45
oms::ComponentFMUCS::exportToSSV
oms_status_enu_t exportToSSV(pugi::xml_node &ssvNode)
Definition: ComponentFMUCS.cpp:412
logError_InvalidIdent
#define logError_InvalidIdent(cref)
Definition: Logging.h:134
oms::ssp::Draft20180219::signal
const char * signal
Definition: Tags.cpp:38
Variable.h
oms::Variable::getIndex
unsigned int getIndex() const
Definition: Variable.h:97
oms::ComponentFMUCS::getString
oms_status_enu_t getString(const ComRef &cref, std::string &value)
Definition: ComponentFMUCS.cpp:1211
oms::fmi2logger
void fmi2logger(fmi2ComponentEnvironment env, fmi2String instanceName, fmi2Status status, fmi2String category, fmi2String message,...)
Definition: Component.cpp:42
oms::Values::parameterResources
std::vector< Values > parameterResources
list of parameter resources provided inline or .ssv files
Definition: Values.h:177
oms::ComponentFMUCS::getFilteredSignals
void getFilteredSignals(std::vector< Connector > &filteredSignals) const
Definition: ComponentFMUCS.cpp:1972
Values.h
oms::SignalValue_t::boolValue
bool boolValue
Definition: ResultWriter.h:52
oms::ComponentFMUCS::getReal
oms_status_enu_t getReal(const ComRef &cref, double &value)
Definition: ComponentFMUCS.cpp:1118
oms::ComponentFMUCS::removeSignalsFromResults
oms_status_enu_t removeSignalsFromResults(const char *regex)
Definition: ComponentFMUCS.cpp:1900
oms::ResultWriter::addParameter
void addParameter(const ComRef &name, const std::string &description, SignalType_t type, SignalValue_t value)
Definition: ResultWriter.cpp:73
oms::ssp::Draft20180219::ssd::element_geometry
const char * element_geometry
Definition: Tags.cpp:53
oms::ComponentFMUCS::getAllVariables
std::vector< Variable > getAllVariables()
Definition: ComponentFMUCS.h:106
CallClock
Definition: Clock.h:61