Skip to main content

AVxcelerate Simulation Framework 2025 R1

fmu_config

Last update: 16.07.2025
1 
4 #pragma once
5 
6 #include <map>
7 #include <set>
8 #include <string>
9 #include <variant>
10 #include <vector>
11 
16 namespace simulation_framework
17 {
18 namespace core
19 {
20 namespace lifecycle
21 {
22 
23 using FmuInOutType = std::variant<bool, int, double, std::string, std::vector<uint8_t>>;
24 using FmuInOutMap = std::map<std::string, FmuInOutType>;
25 using FmuTopicToVarNames = std::map<std::string, std::set<std::string>>;
26 using FmuTopicToVarMap = std::map<std::string, FmuInOutMap>;
27 using FmuMessageToVarNames = std::map<std::string, std::string>;
28 using FmuVarToMessageNames = std::map<std::string, std::string>;
29 
32 struct FmuConfig
33 {
34  enum class MessageType
35  {
36  kFmuMessage,
37  kGenericBytesMessage
38  };
39 
41  std::string path;
42 
44  FmuTopicToVarNames topics_to_inputs{};
45 
47  FmuTopicToVarNames topics_to_outputs{};
48 
52  FmuMessageToVarNames message_to_var_name{};
53 
57  FmuVarToMessageNames var_to_message_name{};
58 
60  std::map<std::string, MessageType> topic_to_message_type{};
61 };
62 
63 } // namespace lifecycle
64 } // namespace core
65 } // namespace simulation_framework

Connect with Ansys