1#ifndef SIMULATION_CLASS_BASE_H
2#define SIMULATION_CLASS_BASE_H
41 const std::valarray<T>&
getField(
const std::string&
key)
const;
44 virtual int run() = 0;
49 std::string m_init_str{
"InitChain"};
50 std::string m_preTs_str{
"PreTimeStepChain"};
51 std::string m_postTs_str{
"PostTimeStepChain"};
52 std::string m_postNonLinIter_str{
"PostNonLinIterChain"};
53 std::string m_output_str{
"OutputChain"};
95 m_simulation_config.addBuildInfo();
98 m_simulation_config.parseCommandLineArguments(
99 argc,
argv, m_simulation_config.getStringParameters(
"ini_folder_path"));
106 m_simulation_config.addBuildInfo();
109 m_simulation_config.loadUserInput(m_simulation_config.getStringParameters(
"ini_folder_path")
116 return m_field_map.at(
key);
122 return m_field_map.at(
key)[
pos];
128 m_simulation_config.loadUserInput(m_simulation_config.getStringParameters(
"ini_folder_path")
135 std::cout <<
key <<
": ";
136 for (
const auto&
val : m_field_map[
key])
138 std::cout <<
val <<
' ';
Error class to throw when a module chain has circular or missing dependencies. Inherits from std::exc...
Definition ChainManager.h:28
Definition SimulationClassBase.h:15
virtual void setUserIni(const std::string &user_ini)
Definition SimulationClassBase.h:126
virtual ~SimulationClassBase()=default
void setPostNonLinIterChainStr()
Definition SimulationClassBase.h:36
SimulationClassBase()
Definition SimulationClassBase.h:57
std::map< std::string, std::valarray< T > > m_field_map
Definition SimulationClassBase.h:21
const std::valarray< T > & getField(const std::string &key) const
Definition SimulationClassBase.h:114
const T & getFieldValue(const std::string &key, int pos) const
Definition SimulationClassBase.h:120
void setInitChainStr()
Definition SimulationClassBase.h:33
InputManager m_simulation_config
Definition SimulationClassBase.h:24
int time_step
Definition SimulationClassBase.h:29
void setOutputChainStr()
Definition SimulationClassBase.h:37
T elapsed_time
Definition SimulationClassBase.h:26
void setPreTimeStepChainStr()
Definition SimulationClassBase.h:34
std::string_view m_current_position
Definition SimulationClassBase.h:22
void printField(const std::string &key)
Definition SimulationClassBase.h:133
void setPostTimeStepChainStr()
Definition SimulationClassBase.h:35