OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment.
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
oms::Component Class Referenceabstract

#include <Component.h>

Inheritance diagram for oms::Component:
[legend]
Collaboration diagram for oms::Component:
[legend]

Public Member Functions

virtual ~Component ()
 
virtual oms_status_enu_t addSignalsToResults (const char *regex)=0
 
virtual oms_status_enu_t exportToSSD (pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const =0
 
virtual oms_status_enu_t exportToSSV (pugi::xml_node &ssvNode)
 
virtual void getFilteredUnitDefinitionsToSSD (std::map< std::string, std::map< std::string, std::string > > &unitDefinitions)
 
virtual void getFilteredEnumerationDefinitionsToSSD (std::map< std::string, std::map< std::string, std::string > > &enumerationDefinitions)
 
virtual oms_status_enu_t initialize ()=0
 
virtual oms_status_enu_t instantiate ()=0
 
virtual oms_status_enu_t registerSignalsForResultFile (ResultWriter &resultFile)=0
 
virtual oms_status_enu_t removeSignalsFromResults (const char *regex)=0
 
virtual oms_status_enu_t reset ()=0
 
virtual oms_status_enu_t terminate ()=0
 
virtual oms_status_enu_t updateSignals (ResultWriter &resultWriter)=0
 
virtual Variable * getVariable (const ComRef &cref)=0
 
virtual oms_status_enu_t getVariableType (const ComRef &cref, oms_signal_type_enu_t &type)
 
virtual bool getCanGetAndSetState ()
 
virtual const FMUInfo * getFMUInfo () const
 
virtual oms_status_enu_t deleteStartValue (const ComRef &cref)
 
virtual std::vector< Values > getValuesResources ()
 
virtual Values & getValues ()
 
virtual oms_status_enu_t setValuesResources (Values &values)
 
virtual oms_status_enu_t updateOrDeleteStartValueInReplacedComponent (std::vector< std::string > &warningList)
 
virtual oms_status_enu_t exportToSSMTemplate (pugi::xml_node &ssmNode)
 
virtual oms_status_enu_t exportToSSVTemplate (pugi::xml_node &ssvNode, Snapshot &snapshot)
 
virtual oms_status_enu_t freeState ()
 
virtual oms_status_enu_t getBoolean (const ComRef &cref, bool &value)
 
virtual oms_status_enu_t getInteger (const ComRef &cref, int &value)
 
virtual oms_status_enu_t getReal (const ComRef &cref, double &value)
 
virtual oms_status_enu_t getString (const ComRef &cref, std::string &value)
 
virtual oms_status_enu_t getRealOutputDerivative (const ComRef &cref, SignalDerivative &der)
 
virtual oms_status_enu_t getDirectionalDerivative (const ComRef &unknownCref, const ComRef &knownCref, double &value)
 
virtual oms_status_enu_t restoreState ()
 
virtual oms_status_enu_t saveState ()
 
virtual oms_status_enu_t setBoolean (const ComRef &cref, bool value)
 
virtual oms_status_enu_t setInteger (const ComRef &cref, int value)
 
virtual oms_status_enu_t setReal (const ComRef &cref, double value)
 
virtual oms_status_enu_t setString (const ComRef &cref, const std::string &value)
 
virtual oms_status_enu_t setUnit (const ComRef &cref, const std::string &value)
 
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 setTime (double time)
 
virtual oms_status_enu_t setExportName (const std::string &exportName)
 
virtual oms_status_enu_t newResources (const std::string &ssvFileName, const std::string &ssmFileName, bool externalResources)
 
virtual oms_status_enu_t addResources (std::string &filename)
 
virtual oms_status_enu_t deleteReferencesInSSD (const std::string &filename)
 
virtual oms_status_enu_t deleteResourcesInSSP (const std::string &filename)
 
virtual size_t getNumberOfContinuousStates () const
 
virtual size_t getNumberOfEventIndicators () const
 
virtual oms_status_enu_t getContinuousStates (double *states)
 
virtual oms_status_enu_t setContinuousStates (double *states)
 
virtual oms_status_enu_t getDerivatives (double *derivatives)
 
virtual oms_status_enu_t getNominalsOfContinuousStates (double *nominals)
 
virtual oms_status_enu_t getEventindicators (double *eventindicators)
 
virtual oms_status_enu_t getEventindicators (double *eventindicators, size_t size)
 
virtual fmuHandle * getFMU ()
 
virtual fmi2EventInfo * getEventInfo ()
 
virtual oms_status_enu_t doEventIteration ()
 
virtual oms_status_enu_t completedIntegratorStep (bool noSetFMUStatePriorToCurrentPoint, bool &enterEventMode, bool &terminateSimulation)
 
virtual oms_status_enu_t enterEventMode ()
 
virtual oms_status_enu_t enterContinuousTimeMode ()
 
virtual bool getNewDiscreteStatesNeeded ()
 
virtual bool getTerminateSimulation ()
 
virtual bool getNominalsOfContinuousStatesChanged ()
 
virtual bool getValuesOfContinuousStatesChanged ()
 
virtual bool getNextEventTimeDefined ()
 
virtual double getNextEventTime ()
 
const ComRef & getCref () const
 
ComRef getFullCref () const
 
Element * getElement ()
 
Connector * getConnector (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
 
System * getParentSystem () const
 
Model & getModel () const
 
void setGeometry (const ssd::ElementGeometry &geometry)
 
const DirectedGraph & getInitialUnknownsGraph ()
 
const DirectedGraph & getOutputsGraph ()
 
oms_status_enu_t rename (const ComRef &newCref)
 rename submodules, e.g., fmu:s
 
virtual void getFilteredSignals (std::vector< Connector > &filteredSignals) const =0
 

Protected Member Functions

 Component (const ComRef &cref, oms_component_enu_t type, System *parentSystem, const std::string &path)
 
 Component (Component const &)
 not implemented
 
Component & operator= (Component const &)
 not implemented
 
virtual oms_status_enu_t renameValues (const ComRef &oldCref, const ComRef &newCref)
 

Protected Attributes

DirectedGraph initialUnknownsGraph
 
DirectedGraph outputsGraph
 
Element element
 
std::vector< Connector * > connectors
 
Clock clock
 
unsigned int clock_id
 

Private Attributes

System * parentSystem
 
ComRef cref
 
oms_component_enu_t type
 
std::string path
 resource file (fmu, mat)
 
std::string tempDir
 unzipped fmu
 
Values values
 

Constructor & Destructor Documentation

◆ ~Component()

oms::Component::~Component ( )
virtual

◆ Component() [1/2]

oms::Component::Component ( const ComRef &  cref,
oms_component_enu_t  type,
System *  parentSystem,
const std::string &  path 
)
protected
Here is the call graph for this function:

◆ Component() [2/2]

oms::Component::Component ( Component const &  )
protected

not implemented

Member Function Documentation

◆ addResources()

virtual oms_status_enu_t oms::Component::addResources ( std::string &  filename)
inlinevirtual

◆ addSignalsToResults()

virtual oms_status_enu_t oms::Component::addSignalsToResults ( const char *  regex)
pure virtual

◆ completedIntegratorStep()

virtual oms_status_enu_t oms::Component::completedIntegratorStep ( bool  noSetFMUStatePriorToCurrentPoint,
bool &  enterEventMode,
bool &  terminateSimulation 
)
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ deleteConnector()

oms_status_enu_t oms::Component::deleteConnector ( const ComRef &  cref)

◆ deleteReferencesInSSD()

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

◆ deleteResourcesInSSP()

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

◆ deleteStartValue()

virtual oms_status_enu_t oms::Component::deleteStartValue ( const ComRef &  cref)
inlinevirtual

◆ doEventIteration()

virtual oms_status_enu_t oms::Component::doEventIteration ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ enterContinuousTimeMode()

virtual oms_status_enu_t oms::Component::enterContinuousTimeMode ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ enterEventMode()

virtual oms_status_enu_t oms::Component::enterEventMode ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ exportToSSD()

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

◆ exportToSSMTemplate()

virtual oms_status_enu_t oms::Component::exportToSSMTemplate ( pugi::xml_node &  ssmNode)
inlinevirtual

◆ exportToSSV()

virtual oms_status_enu_t oms::Component::exportToSSV ( pugi::xml_node &  ssvNode)
inlinevirtual

◆ exportToSSVTemplate()

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

◆ freeState()

virtual oms_status_enu_t oms::Component::freeState ( )
inlinevirtual

◆ getAllResources()

void oms::Component::getAllResources ( std::vector< std::string > &  resources) const
inline

◆ getBoolean()

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

◆ getCanGetAndSetState()

virtual bool oms::Component::getCanGetAndSetState ( )
inlinevirtual

◆ getConnector()

oms::Connector * oms::Component::getConnector ( const ComRef &  cref)

◆ getConnectors()

Connector ** oms::Component::getConnectors ( )
inline

◆ getContinuousStates()

virtual oms_status_enu_t oms::Component::getContinuousStates ( double *  states)
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getCref()

const ComRef & oms::Component::getCref ( ) const
inline

◆ getDerivatives()

virtual oms_status_enu_t oms::Component::getDerivatives ( double *  derivatives)
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getDirectionalDerivative()

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

◆ getElement()

Element * oms::Component::getElement ( )
inline
Here is the caller graph for this function:

◆ getEventindicators() [1/2]

virtual oms_status_enu_t oms::Component::getEventindicators ( double *  eventindicators)
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getEventindicators() [2/2]

virtual oms_status_enu_t oms::Component::getEventindicators ( double *  eventindicators,
size_t  size 
)
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getEventInfo()

virtual fmi2EventInfo * oms::Component::getEventInfo ( )
inlinevirtual

Reimplemented in oms::ComponentFMUME.

◆ getFilteredEnumerationDefinitionsToSSD()

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

◆ getFilteredSignals()

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

◆ getFilteredUnitDefinitionsToSSD()

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

◆ getFMU()

virtual fmuHandle * oms::Component::getFMU ( )
inlinevirtual

◆ getFMUInfo()

virtual const FMUInfo * oms::Component::getFMUInfo ( ) const
inlinevirtual

◆ getFullCref()

oms::ComRef oms::Component::getFullCref ( ) const

◆ getInitialUnknownsGraph()

const DirectedGraph & oms::Component::getInitialUnknownsGraph ( )
inline

◆ getInteger()

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

◆ getModel()

oms::Model & oms::Component::getModel ( ) const

◆ getNewDiscreteStatesNeeded()

virtual bool oms::Component::getNewDiscreteStatesNeeded ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getNextEventTime()

virtual double oms::Component::getNextEventTime ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getNextEventTimeDefined()

virtual bool oms::Component::getNextEventTimeDefined ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getNominalsOfContinuousStates()

virtual oms_status_enu_t oms::Component::getNominalsOfContinuousStates ( double *  nominals)
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getNominalsOfContinuousStatesChanged()

virtual bool oms::Component::getNominalsOfContinuousStatesChanged ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getNumberOfContinuousStates()

virtual size_t oms::Component::getNumberOfContinuousStates ( ) const
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getNumberOfEventIndicators()

virtual size_t oms::Component::getNumberOfEventIndicators ( ) const
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getOutputsGraph()

const DirectedGraph & oms::Component::getOutputsGraph ( )
inline

◆ getParentSystem()

System * oms::Component::getParentSystem ( ) const
inline

◆ getPath()

const std::string & oms::Component::getPath ( ) const
inline

◆ getReal()

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

◆ getRealOutputDerivative()

virtual oms_status_enu_t oms::Component::getRealOutputDerivative ( const ComRef &  cref,
SignalDerivative &  der 
)
inlinevirtual

◆ getString()

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

◆ getTempDir()

const std::string & oms::Component::getTempDir ( ) const
inline

◆ getTerminateSimulation()

virtual bool oms::Component::getTerminateSimulation ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getType()

oms_component_enu_t oms::Component::getType ( ) const
inline
Here is the caller graph for this function:

◆ getValues()

virtual Values & oms::Component::getValues ( )
inlinevirtual

◆ getValuesOfContinuousStatesChanged()

virtual bool oms::Component::getValuesOfContinuousStatesChanged ( )
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ getValuesResources()

virtual std::vector< Values > oms::Component::getValuesResources ( )
inlinevirtual

◆ getVariable()

virtual Variable * oms::Component::getVariable ( const ComRef &  cref)
pure virtual

Implemented in oms::ComponentDCP, oms::ComponentFMU3CS, oms::ComponentFMU3ME, oms::ComponentFMUCS, oms::ComponentFMUME, and oms::ComponentTable.

Here is the caller graph for this function:

◆ getVariableType()

virtual oms_status_enu_t oms::Component::getVariableType ( const ComRef &  cref,
oms_signal_type_enu_t &  type 
)
inlinevirtual

Reimplemented in oms::ComponentTable.

Here is the call graph for this function:

◆ initialize()

virtual oms_status_enu_t oms::Component::initialize ( )
pure virtual

◆ instantiate()

virtual oms_status_enu_t oms::Component::instantiate ( )
pure virtual

◆ newResources()

virtual oms_status_enu_t oms::Component::newResources ( const std::string &  ssvFileName,
const std::string &  ssmFileName,
bool  externalResources 
)
inlinevirtual

◆ operator=()

Component & oms::Component::operator= ( Component const &  )
protected

not implemented

◆ registerSignalsForResultFile()

virtual oms_status_enu_t oms::Component::registerSignalsForResultFile ( ResultWriter &  resultFile)
pure virtual

◆ removeSignalsFromResults()

virtual oms_status_enu_t oms::Component::removeSignalsFromResults ( const char *  regex)
pure virtual

◆ rename()

oms_status_enu_t oms::Component::rename ( const ComRef &  newCref)

rename submodules, e.g., fmu:s

◆ renameValues()

virtual oms_status_enu_t oms::Component::renameValues ( const ComRef &  oldCref,
const ComRef &  newCref 
)
inlineprotectedvirtual

◆ reset()

virtual oms_status_enu_t oms::Component::reset ( )
pure virtual

◆ restoreState()

virtual oms_status_enu_t oms::Component::restoreState ( )
inlinevirtual

◆ saveState()

virtual oms_status_enu_t oms::Component::saveState ( )
inlinevirtual

◆ setBoolean()

virtual oms_status_enu_t oms::Component::setBoolean ( const ComRef &  cref,
bool  value 
)
inlinevirtual

◆ setContinuousStates()

virtual oms_status_enu_t oms::Component::setContinuousStates ( double *  states)
inlinevirtual

Reimplemented in oms::ComponentFMU3ME, and oms::ComponentFMUME.

◆ setExportName()

virtual oms_status_enu_t oms::Component::setExportName ( const std::string &  exportName)
inlinevirtual

◆ setGeometry()

void oms::Component::setGeometry ( const ssd::ElementGeometry &  geometry)
inline
Here is the call graph for this function:

◆ setInteger()

virtual oms_status_enu_t oms::Component::setInteger ( const ComRef &  cref,
int  value 
)
inlinevirtual

◆ setPath()

void oms::Component::setPath ( const std::string &  newPath)
inline

◆ setReal()

virtual oms_status_enu_t oms::Component::setReal ( const ComRef &  cref,
double  value 
)
inlinevirtual

◆ setRealInputDerivative()

virtual oms_status_enu_t oms::Component::setRealInputDerivative ( const ComRef &  cref,
const SignalDerivative &  der 
)
inlinevirtual

Reimplemented in oms::ComponentFMU3CS, and oms::ComponentFMUCS.

◆ setString()

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

◆ setTempDir()

void oms::Component::setTempDir ( const std::string &  tempDir)
inline

◆ setTime()

virtual oms_status_enu_t oms::Component::setTime ( double  time)
inlinevirtual

◆ setUnit()

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

◆ setValuesResources()

virtual oms_status_enu_t oms::Component::setValuesResources ( Values &  values)
inlinevirtual

Reimplemented in oms::ComponentFMU3CS, oms::ComponentFMU3ME, oms::ComponentFMUCS, and oms::ComponentFMUME.

Here is the caller graph for this function:

◆ stepUntil()

virtual oms_status_enu_t oms::Component::stepUntil ( double  stopTime)
inlinevirtual

◆ terminate()

virtual oms_status_enu_t oms::Component::terminate ( )
pure virtual

◆ updateOrDeleteStartValueInReplacedComponent()

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

Reimplemented in oms::ComponentFMU3CS, oms::ComponentFMU3ME, oms::ComponentFMUCS, and oms::ComponentFMUME.

Here is the caller graph for this function:

◆ updateSignals()

virtual oms_status_enu_t oms::Component::updateSignals ( ResultWriter &  resultWriter)
pure virtual

Member Data Documentation

◆ clock

Clock oms::Component::clock
protected

◆ clock_id

unsigned int oms::Component::clock_id
protected

◆ connectors

std::vector<Connector*> oms::Component::connectors
protected

◆ cref

ComRef oms::Component::cref
private

◆ element

Element oms::Component::element
protected

◆ initialUnknownsGraph

DirectedGraph oms::Component::initialUnknownsGraph
protected

◆ outputsGraph

DirectedGraph oms::Component::outputsGraph
protected

◆ parentSystem

System* oms::Component::parentSystem
private

◆ path

std::string oms::Component::path
private

resource file (fmu, mat)

◆ tempDir

std::string oms::Component::tempDir
private

unzipped fmu

◆ type

oms_component_enu_t oms::Component::type
private

◆ values

Values oms::Component::values
private

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