OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
oms::ComponentFMUME Class Reference

#include <ComponentFMUME.h>

Inheritance diagram for oms::ComponentFMUME:
oms::Component

Public Member Functions

 ~ComponentFMUME ()
 
const FMUInfogetFMUInfo () const
 
oms_status_enu_t exportToSSD (pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const
 
oms_status_enu_t exportToSSV (pugi::xml_node &ssvNode)
 
void getFilteredUnitDefinitionsToSSD (std::map< std::string, std::map< std::string, std::string >> &unitDefinitions)
 
void getFilteredEnumerationDefinitionsToSSD (std::map< std::string, std::map< std::string, std::string >> &enumerationDefinitions)
 
oms_status_enu_t exportToSSVTemplate (pugi::xml_node &ssvNode, Snapshot &snapshot)
 
oms_status_enu_t exportToSSMTemplate (pugi::xml_node &ssmNode)
 
oms_status_enu_t instantiate ()
 
oms_status_enu_t initialize ()
 
oms_status_enu_t terminate ()
 
oms_status_enu_t reset ()
 
oms_status_enu_t initializeDependencyGraph_initialUnknowns ()
 
oms_status_enu_t initializeDependencyGraph_outputs ()
 
VariablegetVariable (const ComRef &cref)
 
ValuesgetValues ()
 
oms_status_enu_t setValuesResources (Values &values)
 
oms_status_enu_t getBoolean (const ComRef &cref, bool &value)
 
oms_status_enu_t getBoolean (const fmi2ValueReference &vr, bool &value)
 
oms_status_enu_t getInteger (const ComRef &cref, int &value)
 
oms_status_enu_t getInteger (const fmi2ValueReference &vr, int &value)
 
oms_status_enu_t getReal (const ComRef &cref, double &value)
 
oms_status_enu_t getReal (const fmi2ValueReference &vr, double &value)
 
oms_status_enu_t getString (const ComRef &cref, std::string &value)
 
oms_status_enu_t getString (const fmi2ValueReference &vr, std::string &value)
 
oms_status_enu_t setBoolean (const ComRef &cref, bool value)
 
oms_status_enu_t setInteger (const ComRef &cref, int value)
 
oms_status_enu_t setReal (const ComRef &cref, double value)
 
oms_status_enu_t setString (const ComRef &cref, const std::string &value)
 
oms_status_enu_t setUnit (const ComRef &cref, const std::string &value)
 
oms_status_enu_t getDirectionalDerivative (const ComRef &unknownCref, const ComRef &knownCref, double &value)
 
oms_status_enu_t getDirectionalDerivativeHeper (const int unknownIndex, const int knownIndex, const std::vector< int > &dependencyList, double &value)
 
oms_status_enu_t deleteStartValue (const ComRef &cref)
 
oms_status_enu_t updateOrDeleteStartValueInReplacedComponent (std::vector< std::string > &warningList)
 
oms_status_enu_t registerSignalsForResultFile (ResultWriter &resultFile)
 
oms_status_enu_t updateSignals (ResultWriter &resultWriter)
 
oms_status_enu_t addSignalsToResults (const char *regex)
 
oms_status_enu_t removeSignalsFromResults (const char *regex)
 
oms_status_enu_t doEventIteration ()
 
size_t getNumberOfContinuousStates () const
 
size_t getNumberOfEventIndicators () const
 
oms_status_enu_t getContinuousStates (double *states)
 
oms_status_enu_t setContinuousStates (double *states)
 
oms_status_enu_t getDerivatives (double *derivatives)
 
oms_status_enu_t getNominalsOfContinuousStates (double *nominals)
 
oms_status_enu_t getEventindicators (double *eventindicators)
 
fmiHandle * getFMU ()
 
fmi2EventInfo * getEventInfo ()
 
bool getCanGetAndSetState ()
 
oms_status_enu_t setFaultInjection (const ComRef &signal, oms_fault_type_enu_t faultType, double faultValue)
 
void getFilteredSignals (std::vector< Connector > &filteredSignals) const
 
oms_status_enu_t newResources (const std::string &ssvFilename, const std::string &ssmFilename, bool externalResources)
 
oms_status_enu_t setResourcesHelper1 (Values value)
 
oms_status_enu_t setResourcesHelper2 (Values value)
 
oms_status_enu_t deleteReferencesInSSD (const std::string &filename)
 
oms_status_enu_t deleteResourcesInSSP (const std::string &filename)
 
- Public Member Functions inherited from oms::Component
virtual ~Component ()
 
virtual std::vector< ValuesgetValuesResources ()
 
virtual oms_status_enu_t freeState ()
 
virtual oms_status_enu_t getRealOutputDerivative (const ComRef &cref, SignalDerivative &der)
 
virtual oms_status_enu_t restoreState ()
 
virtual oms_status_enu_t saveState ()
 
virtual oms_status_enu_t setRealInputDerivative (const ComRef &cref, const SignalDerivative &der)
 
virtual oms_status_enu_t stepUntil (double stopTime)
 
virtual oms_status_enu_t addResources (std::string &filename)
 
const ComRefgetCref () const
 
ComRef getFullCref () const
 
ElementgetElement ()
 
ConnectorgetConnector (const ComRef &cref)
 
Connector ** getConnectors ()
 
oms_status_enu_t deleteConnector (const ComRef &cref)
 
void getAllResources (std::vector< std::string > &resources) const
 
const std::string & getPath () const
 
const std::string & getTempDir () const
 
void setPath (const std::string &newPath)
 
void setTempDir (const std::string &tempDir)
 
oms_component_enu_t getType () const
 
void fetchAllVars (bool enableOption)
 
SystemgetParentSystem () const
 
ModelgetModel () const
 
void setGeometry (const ssd::ElementGeometry &geometry)
 
oms_status_enu_t addTLMBus (const oms::ComRef &cref, oms_tlm_domain_t domain, const int dimensions, const oms_tlm_interpolation_t interpolation)
 
oms::TLMBusConnectorgetTLMBusConnector (const oms::ComRef &cref)
 
TLMBusConnector ** getTLMBusConnectors ()
 
oms_status_enu_t addConnectorToTLMBus (const ComRef &busCref, const ComRef &connectorCref, const std::string type)
 
oms_status_enu_t deleteConnectorFromTLMBus (const ComRef &busCref, const ComRef &connectorCref)
 
const DirectedGraphgetInitialUnknownsGraph ()
 
const DirectedGraphgetOutputsGraph ()
 
oms_status_enu_t rename (const ComRef &newCref)
 rename submodules, e.g., fmu:s More...
 

Static Public Member Functions

static ComponentNewComponent (const oms::ComRef &cref, System *parentSystem, const std::string &fmuPath, std::string replaceComponent="")
 
static ComponentNewComponent (const pugi::xml_node &node, System *parentSystem, const std::string &sspVersion, const Snapshot &snapshot, std::string variantName)
 

Protected Member Functions

 ComponentFMUME (const ComRef &cref, System *parentSystem, const std::string &fmuPath)
 
 ComponentFMUME (ComponentFMUME const &copy)
 not implemented More...
 
ComponentFMUMEoperator= (ComponentFMUME const &copy)
 not implemented More...
 
oms_status_enu_t renameValues (const ComRef &oldCref, const ComRef &newCref)
 
void dumpInitialUnknowns ()
 
- Protected Member Functions inherited from oms::Component
 Component (const ComRef &cref, oms_component_enu_t type, System *parentSystem, const std::string &path)
 
 Component (Component const &)
 not implemented More...
 
Componentoperator= (Component const &)
 not implemented More...
 

Private Member Functions

oms::ComRef getValidCref (ComRef cref)
 

Private Attributes

fmi2CallbackLogger omsfmi2logger
 
fmiHandle * fmu = NULL
 
fmi2EventInfo eventInfo
 
size_t nEventIndicators
 
FMUInfo fmuInfo
 
std::vector< VariableallVariables
 
std::vector< unsigned int > calculatedParameters
 
std::vector< unsigned int > derivatives
 
std::vector< unsigned int > inputs
 
std::vector< unsigned int > outputs
 
std::vector< unsigned int > parameters
 
std::vector< bool > exportVariables
 
Values values
 start values defined before instantiating the FMU and external inputs defined after initialization More...
 
std::unordered_map< unsigned int, unsigned int > resultFileMapping
 
std::map< fmi2ValueReference, oms_fault_type_t > fib
 fault injection blocks More...
 

Additional Inherited Members

- Protected Attributes inherited from oms::Component
DirectedGraph initialUnknownsGraph
 
DirectedGraph outputsGraph
 
Element element
 
std::vector< Connector * > connectors
 
std::vector< TLMBusConnector * > tlmbusconnectors
 
Clock clock
 
unsigned int clock_id
 
bool fetchAllVars_ = false
 

Constructor & Destructor Documentation

◆ ~ComponentFMUME()

oms::ComponentFMUME::~ComponentFMUME ( )

◆ ComponentFMUME() [1/2]

oms::ComponentFMUME::ComponentFMUME ( const ComRef cref,
System parentSystem,
const std::string &  fmuPath 
)
protected

◆ ComponentFMUME() [2/2]

oms::ComponentFMUME::ComponentFMUME ( ComponentFMUME const &  copy)
protected

not implemented

Member Function Documentation

◆ addSignalsToResults()

oms_status_enu_t oms::ComponentFMUME::addSignalsToResults ( const char *  regex)
virtual

Implements oms::Component.

◆ deleteReferencesInSSD()

oms_status_enu_t oms::ComponentFMUME::deleteReferencesInSSD ( const std::string &  filename)
virtual

Reimplemented from oms::Component.

◆ deleteResourcesInSSP()

oms_status_enu_t oms::ComponentFMUME::deleteResourcesInSSP ( const std::string &  filename)
virtual

Reimplemented from oms::Component.

◆ deleteStartValue()

oms_status_enu_t oms::ComponentFMUME::deleteStartValue ( const ComRef cref)
virtual

Reimplemented from oms::Component.

◆ doEventIteration()

oms_status_enu_t oms::ComponentFMUME::doEventIteration ( )

◆ dumpInitialUnknowns()

void oms::ComponentFMUME::dumpInitialUnknowns ( )
protected

◆ exportToSSD()

oms_status_enu_t oms::ComponentFMUME::exportToSSD ( pugi::xml_node &  node,
Snapshot snapshot,
std::string  variantName 
) const
virtual

Implements oms::Component.

◆ exportToSSMTemplate()

oms_status_enu_t oms::ComponentFMUME::exportToSSMTemplate ( pugi::xml_node &  ssmNode)
virtual

Reimplemented from oms::Component.

◆ exportToSSV()

oms_status_enu_t oms::ComponentFMUME::exportToSSV ( pugi::xml_node &  ssvNode)
virtual

Reimplemented from oms::Component.

◆ exportToSSVTemplate()

oms_status_enu_t oms::ComponentFMUME::exportToSSVTemplate ( pugi::xml_node &  ssvNode,
Snapshot snapshot 
)
virtual

Reimplemented from oms::Component.

◆ getBoolean() [1/2]

oms_status_enu_t oms::ComponentFMUME::getBoolean ( const ComRef cref,
bool &  value 
)
virtual

Reimplemented from oms::Component.

◆ getBoolean() [2/2]

oms_status_enu_t oms::ComponentFMUME::getBoolean ( const fmi2ValueReference &  vr,
bool &  value 
)

◆ getCanGetAndSetState()

bool oms::ComponentFMUME::getCanGetAndSetState ( )
inlinevirtual

Reimplemented from oms::Component.

◆ getContinuousStates()

oms_status_enu_t oms::ComponentFMUME::getContinuousStates ( double *  states)

◆ getDerivatives()

oms_status_enu_t oms::ComponentFMUME::getDerivatives ( double *  derivatives)

◆ getDirectionalDerivative()

oms_status_enu_t oms::ComponentFMUME::getDirectionalDerivative ( const ComRef unknownCref,
const ComRef knownCref,
double &  value 
)
virtual

Reimplemented from oms::Component.

◆ getDirectionalDerivativeHeper()

oms_status_enu_t oms::ComponentFMUME::getDirectionalDerivativeHeper ( const int  unknownIndex,
const int  knownIndex,
const std::vector< int > &  dependencyList,
double &  value 
)

◆ getEventindicators()

oms_status_enu_t oms::ComponentFMUME::getEventindicators ( double *  eventindicators)

◆ getEventInfo()

fmi2EventInfo* oms::ComponentFMUME::getEventInfo ( )
inline

◆ getFilteredEnumerationDefinitionsToSSD()

void oms::ComponentFMUME::getFilteredEnumerationDefinitionsToSSD ( std::map< std::string, std::map< std::string, std::string >> &  enumerationDefinitions)
virtual

Reimplemented from oms::Component.

◆ getFilteredSignals()

void oms::ComponentFMUME::getFilteredSignals ( std::vector< Connector > &  filteredSignals) const
virtual

Implements oms::Component.

◆ getFilteredUnitDefinitionsToSSD()

void oms::ComponentFMUME::getFilteredUnitDefinitionsToSSD ( std::map< std::string, std::map< std::string, std::string >> &  unitDefinitions)
virtual

Reimplemented from oms::Component.

◆ getFMU()

fmiHandle* oms::ComponentFMUME::getFMU ( )
inline

◆ getFMUInfo()

const FMUInfo* oms::ComponentFMUME::getFMUInfo ( ) const
inlinevirtual

Reimplemented from oms::Component.

◆ getInteger() [1/2]

oms_status_enu_t oms::ComponentFMUME::getInteger ( const ComRef cref,
int &  value 
)
virtual

Reimplemented from oms::Component.

◆ getInteger() [2/2]

oms_status_enu_t oms::ComponentFMUME::getInteger ( const fmi2ValueReference &  vr,
int &  value 
)

◆ getNominalsOfContinuousStates()

oms_status_enu_t oms::ComponentFMUME::getNominalsOfContinuousStates ( double *  nominals)

◆ getNumberOfContinuousStates()

size_t oms::ComponentFMUME::getNumberOfContinuousStates ( ) const
inline

◆ getNumberOfEventIndicators()

size_t oms::ComponentFMUME::getNumberOfEventIndicators ( ) const
inline

◆ getReal() [1/2]

oms_status_enu_t oms::ComponentFMUME::getReal ( const ComRef cref,
double &  value 
)
virtual

Reimplemented from oms::Component.

◆ getReal() [2/2]

oms_status_enu_t oms::ComponentFMUME::getReal ( const fmi2ValueReference &  vr,
double &  value 
)

◆ getString() [1/2]

oms_status_enu_t oms::ComponentFMUME::getString ( const ComRef cref,
std::string &  value 
)
virtual

Reimplemented from oms::Component.

◆ getString() [2/2]

oms_status_enu_t oms::ComponentFMUME::getString ( const fmi2ValueReference &  vr,
std::string &  value 
)

◆ getValidCref()

oms::ComRef oms::ComponentFMUME::getValidCref ( ComRef  cref)
private

◆ getValues()

Values& oms::ComponentFMUME::getValues ( )
inlinevirtual

Reimplemented from oms::Component.

◆ getVariable()

oms::Variable * oms::ComponentFMUME::getVariable ( const ComRef cref)
virtual

Implements oms::Component.

◆ initialize()

oms_status_enu_t oms::ComponentFMUME::initialize ( )
virtual

Implements oms::Component.

◆ initializeDependencyGraph_initialUnknowns()

oms_status_enu_t oms::ComponentFMUME::initializeDependencyGraph_initialUnknowns ( )

◆ initializeDependencyGraph_outputs()

oms_status_enu_t oms::ComponentFMUME::initializeDependencyGraph_outputs ( )

◆ instantiate()

oms_status_enu_t oms::ComponentFMUME::instantiate ( )
virtual

Implements oms::Component.

◆ NewComponent() [1/2]

oms::Component * oms::ComponentFMUME::NewComponent ( const oms::ComRef cref,
oms::System parentSystem,
const std::string &  fmuPath,
std::string  replaceComponent = "" 
)
static

◆ NewComponent() [2/2]

oms::Component * oms::ComponentFMUME::NewComponent ( const pugi::xml_node &  node,
oms::System parentSystem,
const std::string &  sspVersion,
const Snapshot snapshot,
std::string  variantName 
)
static

◆ newResources()

oms_status_enu_t oms::ComponentFMUME::newResources ( const std::string &  ssvFilename,
const std::string &  ssmFilename,
bool  externalResources 
)
virtual

Reimplemented from oms::Component.

◆ operator=()

ComponentFMUME& oms::ComponentFMUME::operator= ( ComponentFMUME const &  copy)
protected

not implemented

◆ registerSignalsForResultFile()

oms_status_enu_t oms::ComponentFMUME::registerSignalsForResultFile ( ResultWriter resultFile)
virtual

Implements oms::Component.

◆ removeSignalsFromResults()

oms_status_enu_t oms::ComponentFMUME::removeSignalsFromResults ( const char *  regex)
virtual

Implements oms::Component.

◆ renameValues()

oms_status_enu_t oms::ComponentFMUME::renameValues ( const ComRef oldCref,
const ComRef newCref 
)
protectedvirtual

Reimplemented from oms::Component.

◆ reset()

oms_status_enu_t oms::ComponentFMUME::reset ( )
virtual

Implements oms::Component.

◆ setBoolean()

oms_status_enu_t oms::ComponentFMUME::setBoolean ( const ComRef cref,
bool  value 
)
virtual

Reimplemented from oms::Component.

◆ setContinuousStates()

oms_status_enu_t oms::ComponentFMUME::setContinuousStates ( double *  states)

◆ setFaultInjection()

oms_status_enu_t oms::ComponentFMUME::setFaultInjection ( const ComRef signal,
oms_fault_type_enu_t  faultType,
double  faultValue 
)
virtual

Reimplemented from oms::Component.

◆ setInteger()

oms_status_enu_t oms::ComponentFMUME::setInteger ( const ComRef cref,
int  value 
)
virtual

Reimplemented from oms::Component.

◆ setReal()

oms_status_enu_t oms::ComponentFMUME::setReal ( const ComRef cref,
double  value 
)
virtual

Reimplemented from oms::Component.

◆ setResourcesHelper1()

oms_status_enu_t oms::ComponentFMUME::setResourcesHelper1 ( Values  value)

◆ setResourcesHelper2()

oms_status_enu_t oms::ComponentFMUME::setResourcesHelper2 ( Values  value)

◆ setString()

oms_status_enu_t oms::ComponentFMUME::setString ( const ComRef cref,
const std::string &  value 
)
virtual

Reimplemented from oms::Component.

◆ setUnit()

oms_status_enu_t oms::ComponentFMUME::setUnit ( const ComRef cref,
const std::string &  value 
)
virtual

Reimplemented from oms::Component.

◆ setValuesResources()

oms_status_enu_t oms::ComponentFMUME::setValuesResources ( Values values)
virtual

Reimplemented from oms::Component.

◆ terminate()

oms_status_enu_t oms::ComponentFMUME::terminate ( )
virtual

Implements oms::Component.

◆ updateOrDeleteStartValueInReplacedComponent()

oms_status_enu_t oms::ComponentFMUME::updateOrDeleteStartValueInReplacedComponent ( std::vector< std::string > &  warningList)
virtual

Reimplemented from oms::Component.

◆ updateSignals()

oms_status_enu_t oms::ComponentFMUME::updateSignals ( ResultWriter resultWriter)
virtual

Implements oms::Component.

Member Data Documentation

◆ allVariables

std::vector<Variable> oms::ComponentFMUME::allVariables
private

◆ calculatedParameters

std::vector<unsigned int> oms::ComponentFMUME::calculatedParameters
private

◆ derivatives

std::vector<unsigned int> oms::ComponentFMUME::derivatives
private

◆ eventInfo

fmi2EventInfo oms::ComponentFMUME::eventInfo
private

◆ exportVariables

std::vector<bool> oms::ComponentFMUME::exportVariables
private

◆ fib

std::map<fmi2ValueReference, oms_fault_type_t> oms::ComponentFMUME::fib
private

fault injection blocks

◆ fmu

fmiHandle* oms::ComponentFMUME::fmu = NULL
private

◆ fmuInfo

FMUInfo oms::ComponentFMUME::fmuInfo
private

◆ inputs

std::vector<unsigned int> oms::ComponentFMUME::inputs
private

◆ nEventIndicators

size_t oms::ComponentFMUME::nEventIndicators
private

◆ omsfmi2logger

fmi2CallbackLogger oms::ComponentFMUME::omsfmi2logger
private

◆ outputs

std::vector<unsigned int> oms::ComponentFMUME::outputs
private

◆ parameters

std::vector<unsigned int> oms::ComponentFMUME::parameters
private

◆ resultFileMapping

std::unordered_map<unsigned int , unsigned int > oms::ComponentFMUME::resultFileMapping
private

◆ values

Values oms::ComponentFMUME::values
private

start values defined before instantiating the FMU and external inputs defined after initialization


The documentation for this class was generated from the following files: