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.
32 #ifndef _OMS_VALUES_H_
33 #define _OMS_VALUES_H_
38 #include "OMSimulator/Types.h"
41 #include <pugixml.hpp>
54 oms_status_enu_t
setString(
const ComRef& cref,
const std::string& value);
55 oms_status_enu_t
setUnit(
const ComRef& cref,
const std::string& value);
74 oms_status_enu_t
setRealResources(
const ComRef& cref,
double value,
const ComRef& fullCref,
bool externalInput, oms_modelState_enu_t modelState);
75 oms_status_enu_t
setStringResources(
const ComRef& cref,
const std::string& value,
const ComRef& fullCref,
bool externalInput, oms_modelState_enu_t modelState);
78 oms_status_enu_t
getBooleanResources(
const ComRef& cref,
bool& value,
bool externalInput, oms_modelState_enu_t modelState);
79 oms_status_enu_t
getIntegerResources(
const ComRef& cref,
int& value,
bool externalInput, oms_modelState_enu_t modelState);
80 oms_status_enu_t
getRealResources(
const ComRef& cref,
double& value,
bool externalInput, oms_modelState_enu_t modelState);
81 oms_status_enu_t
getStringResources(
const ComRef& cref, std::string& value,
bool externalInput, oms_modelState_enu_t modelState);
91 oms_status_enu_t
exportToSSD(pugi::xml_node& node)
const;
92 oms_status_enu_t
importFromSnapshot(
const pugi::xml_node& node,
const std::string& sspVersion,
const Snapshot& snapshot, std::string variantName);
101 oms_status_enu_t
exportToSSV(pugi::xml_node& ssvNode)
const;
std::map< int, std::vector< int > > modelStructureOutputs
output and its dependencies from <ModelStructure>
Definition: Values.h:150
oms_status_enu_t importStartValuesHelper(const pugi::xml_node ¶meters)
Definition: Values.cpp:1414
std::map< ComRef, std::string > modelDescriptionStringStartValues
start values read from modelDescription.xml
Definition: Values.h:148
void updateModelDescriptionVariableUnit(const ComRef &cref, const std::string &value)
Definition: Values.cpp:165
oms_status_enu_t validateSSP(const char *ssd, const std::string &filePath)
Definition: XercesValidator.cpp:126
void updateModelDescriptionRealStartValue(const ComRef &cref, double value)
Definition: Values.cpp:133
std::map< int, bool > modelStructureInitialUnknownsDependencyExist
Definition: Values.h:156
bool linkResources
Definition: Values.h:180
oms_status_enu_t setInteger(const ComRef &cref, int value)
Definition: Values.cpp:112
void exportReduceSSV(pugi::xml_node &ssvNode, const ComRef &cref)
reduced SSV file which contains only the referenced crefs in parametermapping
Definition: Values.cpp:1312
oms_status_enu_t exportToSSD(pugi::xml_node &node) const
Definition: Values.cpp:811
oms_status_enu_t setString(const ComRef &cref, const std::string &value)
Definition: Values.cpp:126
std::map< ComRef, double > realValues
input values defined after initialization
Definition: Values.h:141
void setUnitDefinitions(const ComRef &cref)
Definition: Values.cpp:66
oms_status_enu_t getRealFromModeldescription(const ComRef &cref, double &value)
Definition: Values.cpp:545
oms_status_enu_t exportUnitDefinitions(Snapshot &snapshot, std::string filename, std::string variantName) const
Definition: Values.cpp:957
ComRef - component reference.
Definition: ComRef.h:46
std::string unitValue
Definition: Values.h:164
oms_status_enu_t setUnitResources(const ComRef &cref, const std::string &value, const ComRef &fullCref)
Definition: Values.cpp:324
std::string unitName
Definition: Values.h:163
const char * parameter
Definition: Tags.cpp:81
Definition: XercesValidator.h:44
oms_status_enu_t getInteger(const ComRef &cref, int &value)
Definition: Values.cpp:228
oms_status_enu_t setRealResources(const ComRef &cref, double value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:252
const char * parameter_binding
Definition: Tags.cpp:75
bool isEntryReferencedInSSM(const ComRef &cref) const
Definition: Values.cpp:1223
const char * units
Definition: Tags.cpp:59
oms_status_enu_t updateOrDeleteStartValueInReplacedComponent(Values &value, const ComRef &owner, std::vector< std::string > &warningList)
Definition: Values.cpp:659
std::string ssmFile
mapped ssm files associated with ssv files;
Definition: Values.h:179
oms_status_enu_t parseModelDescription(const filesystem::path &root, std::string &guid_)
path without the filename, i.e. modelDescription.xml
Definition: Values.cpp:1535
oms::ComRef getMappedCrefEntry(const ComRef &cref) const
Definition: Values.cpp:1210
std::map< std::string, std::map< std::string, std::string > > modeldescriptionTypeDefinitions
<TypeDefinitions> list read from modeldescription.xml
Definition: Values.h:172
void exportParameterMappingToSSM(pugi::xml_node &node) const
Definition: Values.cpp:1254
#define logWarning_deprecated
Definition: Logging.h:157
std::map< std::string, std::map< std::string, std::string > > modeldescriptionUnitDefinitions
<UnitDefinitions> list read from modeldescription.xml
Definition: Values.h:170
std::map< std::string, std::string > baseUnit
Definition: Values.h:165
void importEnumerationDefinitions(const pugi::xml_node &node, std::string &enumTypeName)
Definition: Values.cpp:1512
const char * enumerations
Definition: Tags.cpp:55
oms_status_enu_t getReal(const ComRef &cref, double &value)
Definition: Values.cpp:204
const char * parameters
Definition: Tags.cpp:80
std::map< ComRef, std::string > variableUnits
variable units set by user
Definition: Values.h:159
const char * enumeration_type
Definition: Tags.cpp:89
pugi::xml_node getTemplateResourceNodeSSV(const filesystem::path &filename, const std::string &cref)
Definition: Snapshot.cpp:198
const char * parameter_bindings
Definition: Tags.cpp:74
void importUnitDefinitions(const pugi::xml_node &node)
Definition: Values.cpp:1494
oms_status_enu_t getStringResources(const ComRef &cref, std::string &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:516
void exportParameterMappingInline(pugi::xml_node &node) const
Definition: Values.cpp:1238
oms_status_enu_t deleteStartValue(const ComRef &cref)
Definition: Values.cpp:627
const char * integer_type
Definition: Tags.cpp:96
Values()
Definition: Values.cpp:47
std::map< std::string, Values > allresources
mapped resources either inline or ssv
Definition: Values.h:178
std::map< std::string, std::string > modeldescriptionEnumeration
enumeration declared type list list read from modeldescription.xml
Definition: Values.h:173
const char * boolean_type
Definition: Tags.cpp:97
void getFilteredUnitDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &unitDefinitions)
Definition: Values.cpp:86
oms_status_enu_t deleteResourcesInSSP(const std::string &filename)
Definition: Values.cpp:793
oms_status_enu_t getString(const ComRef &cref, std::string &value)
Definition: Values.cpp:216
std::map< int, bool > modelStructureDerivativesDependencyExist
Definition: Values.h:155
oms_status_enu_t setReal(const ComRef &cref, double value)
Definition: Values.cpp:55
oms_status_enu_t getIntegerResources(const ComRef &cref, int &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:458
std::map< ComRef, std::string > stringValues
input values defined after initialization
Definition: Values.h:143
oms_status_enu_t getBoolean(const ComRef &cref, bool &value)
Definition: Values.cpp:240
pugi::xml_node getResourceNode(const filesystem::path &filename) const
Definition: Snapshot.cpp:133
#define logWarning(msg)
Definition: Logging.h:101
oms_status_enu_t getIntegerFromModeldescription(const ComRef &cref, int &value)
Definition: Values.cpp:601
void importParameterMapping(const pugi::xml_node ¶meterMapping)
Definition: Values.cpp:1720
oms_status_enu_t setIntegerResources(const ComRef &cref, int value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:355
bool isEmpty() const
Definition: ComRef.cpp:99
oms_status_enu_t rename(const oms::ComRef &oldCref, const oms::ComRef &newCref)
Definition: Values.cpp:1737
void updateModelDescriptionStringStartValue(const ComRef &cref, std::string value)
Definition: Values.cpp:157
std::string getEnumerationTypeFromModeldescription(ComRef &cref) const
Definition: Values.cpp:591
oms_status_enu_t setUnit(const ComRef &cref, const std::string &value)
Definition: Values.cpp:186
oms_status_enu_t setBoolean(const ComRef &cref, bool value)
Definition: Values.cpp:119
Definition: Snapshot.h:46
oms_status_enu_t exportToSSMTemplate(pugi::xml_node &ssmNode, const ComRef &cref)
start values read from modelDescription.xml and creates a ssm template
Definition: Values.cpp:1381
const char * parameter_values
Definition: Tags.cpp:76
void exportToSSVTemplate(pugi::xml_node &ssvNode, const ComRef &cref)
start values read from modelDescription.xml and creates a ssv template
Definition: Values.cpp:1270
std::map< ComRef, std::string > modelDescriptionVariableUnits
variable units read from modeldescription.xml
Definition: Values.h:158
oms_status_enu_t renameInResources(const oms::ComRef &oldCref, const oms::ComRef &newCref)
Definition: Values.cpp:1799
std::map< ComRef, double > realStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:136
const char * base_unit
Definition: Tags.cpp:92
std::string getUnitFromModeldescription(ComRef &cref) const
Definition: Values.cpp:581
std::map< ComRef, int > integerStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:137
oms_status_enu_t getRealResources(const ComRef &cref, double &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:429
oms_status_enu_t exportUnitDefinitionsToSSVTemplate(Snapshot &snapshot, std::string filename)
Definition: Values.cpp:998
std::string getUnit(ComRef &cref) const
Definition: Values.cpp:571
const char * enum_item
Definition: Tags.cpp:93
oms_status_enu_t getBooleanResources(const ComRef &cref, bool &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:487
void getFilteredEnumerationDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &enumerationDefinitions)
Definition: Values.cpp:99
oms_status_enu_t exportToSSV(pugi::xml_node &ssvNode) const
Definition: Values.cpp:947
std::map< int, std::vector< int > > modelStructureDerivatives
derivatives and its dependencies from <ModelStructure>
Definition: Values.h:151
std::map< ComRef, std::string > stringStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:138
oms_status_enu_t validateFMU(const char *modeldescription, const std::string &filePath)
Definition: XercesValidator.cpp:230
bool empty() const
Definition: Values.cpp:942
const char * parameter_mapping
Definition: Tags.cpp:77
pugi::xml_node getTemplateResourceNodeSSM(const filesystem::path &filename)
Definition: Snapshot.cpp:211
oms_status_enu_t setBooleanResources(const ComRef &cref, bool value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:392
const char * c_str() const
Definition: ComRef.h:75
std::map< int, bool > modelStructureOutputDependencyExist
Definition: Values.h:154
#define logError(msg)
Definition: Logging.h:102
const char * parameter_set
Definition: Tags.cpp:79
oms_status_enu_t importFromSnapshot(const pugi::xml_node &node, const std::string &sspVersion, const Snapshot &snapshot, std::string variantName)
Definition: Values.cpp:858
bool exportUnit
Definition: Values.h:166
void parseModelStructureDependencies(std::string &dependencies, std::vector< int > &dependencyList)
Definition: Values.cpp:1709
void updateModelDescriptionBooleanStartValue(const ComRef &cref, bool value)
Definition: Values.cpp:149
std::vector< unitDefinitionsToExport > unitDefinitionsToExportInSSP
list of unitDefinitions to be exported in ssp
Definition: Values.h:168
oms_status_enu_t importResourceMemory(const filesystem::path &filename, const char *contents)
Definition: Snapshot.cpp:95
const char * units
Definition: Tags.cpp:83
void updateModelDescriptionIntegerStartValue(const ComRef &cref, int value)
Definition: Values.cpp:141
oms_status_enu_t getStringFromModeldescription(const ComRef &cref, std::string &value)
Definition: Values.cpp:558
bool hasResources()
returns if the system or subsystem or submodule have parameter resources either as ssv or inline
Definition: Values.cpp:1866
std::map< ComRef, int > integerValues
input values defined after initialization
Definition: Values.h:142
const char * parameter_mapping
Definition: Tags.cpp:104
ComRef pop_front()
returns the first part of the ComRef and removed it from the current object
Definition: ComRef.cpp:184
std::map< ComRef, bool > modelDescriptionBooleanStartValues
start values read from modelDescription.xml
Definition: Values.h:145
const char * unit
Definition: Tags.cpp:91
std::multimap< ComRef, ComRef > mappedEntry
parameter names and values provided in the parameter source are to be mapped to the parameters of the...
Definition: Values.h:175
std::map< ComRef, bool > booleanStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:135
oms_status_enu_t deleteStartValueInResources(const ComRef &cref)
Definition: Values.cpp:738
const char * signal
Definition: Tags.cpp:38
oms_status_enu_t getBooleanFromModeldescription(const ComRef &cref, bool &value)
Definition: Values.cpp:614
const char * real_type
Definition: Tags.cpp:95
std::map< int, std::vector< int > > modelStructureInitialUnknowns
initialUnknowns and its dependencies from <ModelStructure>
Definition: Values.h:152
void copyModelDescriptionUnitToResources(Values &value)
Definition: Values.cpp:174
std::map< ComRef, bool > booleanValues
input values defined after initialization
Definition: Values.h:140
std::vector< Values > parameterResources
list of parameter resources provided inline or .ssv files
Definition: Values.h:177
~Values()
Definition: Values.cpp:51
const char * parameter_mapping_entry
Definition: Tags.cpp:105
oms_status_enu_t deleteReferencesInSSD(const std::string &filename)
Definition: Values.cpp:776
oms_status_enu_t setStringResources(const ComRef &cref, const std::string &value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:290
std::map< ComRef, int > modelDescriptionIntegerStartValues
start values read from modelDescription.xml
Definition: Values.h:147
oms_status_enu_t exportStartValuesHelper(pugi::xml_node &node) const
Definition: Values.cpp:1043
std::map< ComRef, double > modelDescriptionRealStartValues
start values read from modelDescription.xml
Definition: Values.h:146
void exportParameterBindings(pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const
Definition: Values.cpp:1109