    

 ## On this page

  

 

 # fmu\_config

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1 

<a id="l00003" name="l00003"></a> 3 

<a id="l00004" name="l00004"></a> 4\#pragma once

<a id="l00005" name="l00005"></a> 5 

<a id="l00006" name="l00006"></a> 6\#include &lt;map&gt;

<a id="l00007" name="l00007"></a> 7\#include &lt;set&gt;

<a id="l00008" name="l00008"></a> 8\#include &lt;string&gt;

<a id="l00009" name="l00009"></a> 9\#include &lt;variant&gt;

<a id="l00010" name="l00010"></a> 10\#include &lt;vector&gt;

<a id="l00011" name="l00011"></a> 11 

<a id="l00016" name="l00016"></a> 16namespace [simulation\_framework](namespacesimulation__framework.xhtml)

<a id="l00017" name="l00017"></a> 17{

<a id="l00018" name="l00018"></a> 18namespace [core](namespacecore.xhtml)

<a id="l00019" name="l00019"></a> 19{

<a id="l00020" name="l00020"></a> 20namespace lifecycle

<a id="l00021" name="l00021"></a> 21{

<a id="l00022" name="l00022"></a> 22 

<a id="l00023" name="l00023"></a> 23using FmuInOutType = std::variant&lt;bool, int, double, std::string, std::vector&lt;uint8_t&gt;&gt;;

<a id="l00024" name="l00024"></a> 24using FmuInOutMap = std::map&lt;std::string, FmuInOutType&gt;;

<a id="l00025" name="l00025"></a> 25using FmuTopicToVarNames = std::map&lt;std::string, std::set&lt;std::string&gt;&gt;;

<a id="l00026" name="l00026"></a> 26using FmuTopicToVarMap = std::map&lt;std::string, FmuInOutMap&gt;;

<a id="l00027" name="l00027"></a> 27using FmuMessageToVarNames = std::map&lt;std::string, std::string&gt;;

<a id="l00028" name="l00028"></a> 28using FmuVarToMessageNames = std::map&lt;std::string, std::string&gt;;

<a id="l00029" name="l00029"></a> 29 

<a id="l00032" name="l00032"></a>[ 32](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml)struct [FmuConfig](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml)

<a id="l00033" name="l00033"></a> 33{

<a id="l00034" name="l00034"></a> 34 enum class MessageType

<a id="l00035" name="l00035"></a> 35 {

<a id="l00036" name="l00036"></a> 36 kFmuMessage,

<a id="l00037" name="l00037"></a> 37 kGenericBytesMessage

<a id="l00038" name="l00038"></a> 38 };

<a id="l00039" name="l00039"></a> 39 

<a id="l00041" name="l00041"></a>[ 41](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a3ce88d8094180550abc85335f25ef154) std::string [path](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a3ce88d8094180550abc85335f25ef154);

<a id="l00042" name="l00042"></a> 42 

<a id="l00044" name="l00044"></a>[ 44](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#ae9a0cf231b10adcf4c58faa184549895) FmuTopicToVarNames [topics\_to\_inputs](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#ae9a0cf231b10adcf4c58faa184549895){};

<a id="l00045" name="l00045"></a> 45 

<a id="l00047" name="l00047"></a>[ 47](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a939d9a485202244d144f22c4335d376d) FmuTopicToVarNames [topics\_to\_outputs](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a939d9a485202244d144f22c4335d376d){};

<a id="l00048" name="l00048"></a> 48 

<a id="l00052" name="l00052"></a>[ 52](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a4ef56beea7ad1e6fd2a4cd5ea946a5b4) FmuMessageToVarNames [message\_to\_var\_name](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a4ef56beea7ad1e6fd2a4cd5ea946a5b4){};

<a id="l00053" name="l00053"></a> 53 

<a id="l00057" name="l00057"></a>[ 57](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#ac92f7f1e13f5722988ddcba3a63dff28) FmuVarToMessageNames [var\_to\_message\_name](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#ac92f7f1e13f5722988ddcba3a63dff28){};

<a id="l00058" name="l00058"></a> 58 

<a id="l00060" name="l00060"></a>[ 60](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#aa9811f8dd43a6451679082273223883e) std::map&lt;std::string, MessageType&gt; [topic\_to\_message\_type](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#aa9811f8dd43a6451679082273223883e){};

<a id="l00061" name="l00061"></a> 61};



<a id="l00062" name="l00062"></a> 62 

<a id="l00063" name="l00063"></a> 63} // namespace lifecycle

<a id="l00064" name="l00064"></a> 64} // namespace core

<a id="l00065" name="l00065"></a> 65} // namespace simulation\_framework

[core](namespacecore.xhtml)

The namespace for all core functionalities under namespace simulation_framework.



[simulation\_framework](namespacesimulation__framework.xhtml)

The top namespace for simulation framework.



[simulation\_framework::core::lifecycle::FmuConfig](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml)

A helper struct to pass necessary information to create FmuBaseActivity.

**Definition** [fmu\_config.h:33](fmu__config_8h_source.xhtml#l00032)



[simulation\_framework::core::lifecycle::FmuConfig::path](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a3ce88d8094180550abc85335f25ef154)

std::string path

The path to the FMU file.

**Definition** [fmu\_config.h:41](fmu__config_8h_source.xhtml#l00041)



[simulation\_framework::core::lifecycle::FmuConfig::message\_to\_var\_name](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a4ef56beea7ad1e6fd2a4cd5ea946a5b4)

FmuMessageToVarNames message_to_var_name

A map used to coordinate variable names between the rtidds::FmuMessage and the FMU variable names.

**Definition** [fmu\_config.h:52](fmu__config_8h_source.xhtml#l00052)



[simulation\_framework::core::lifecycle::FmuConfig::topics\_to\_outputs](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#a939d9a485202244d144f22c4335d376d)

FmuTopicToVarNames topics_to_outputs

A map where the keys are output topics and the values are names of FMU variable are sent over that to...

**Definition** [fmu\_config.h:47](fmu__config_8h_source.xhtml#l00047)



[simulation\_framework::core::lifecycle::FmuConfig::topic\_to\_message\_type](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#aa9811f8dd43a6451679082273223883e)

std::map&lt; std::string, MessageType &gt; topic_to_message_type

A map used to store the message type for each topic.

**Definition** [fmu\_config.h:60](fmu__config_8h_source.xhtml#l00060)



[simulation\_framework::core::lifecycle::FmuConfig::var\_to\_message\_name](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#ac92f7f1e13f5722988ddcba3a63dff28)

FmuVarToMessageNames var_to_message_name

A map used to coordinate variable names between the FMU variable names and the rtidds::FmuMessage.

**Definition** [fmu\_config.h:57](fmu__config_8h_source.xhtml#l00057)



[simulation\_framework::core::lifecycle::FmuConfig::topics\_to\_inputs](structsimulation__framework_1_1core_1_1lifecycle_1_1FmuConfig.xhtml#ae9a0cf231b10adcf4c58faa184549895)

FmuTopicToVarNames topics_to_inputs

A map where the keys are input topics and the values are names of FMU variable are sent over that top...

**Definition** [fmu\_config.h:44](fmu__config_8h_source.xhtml#l00044)