1#ifndef SIMULATION_CLASS_BASE_H
2#define SIMULATION_CLASS_BASE_H
61 const std::valarray<T>&
getField(
const std::string&
key)
const;
64 virtual int run() = 0;
69 std::string m_init_str{
"InitChain"};
70 std::string m_preTs_str{
"PreTimeStepChain"};
71 std::string m_postTs_str{
"PostTimeStepChain"};
72 std::string m_postNonLinIter_str{
"PostNonLinIterChain"};
73 std::string m_output_str{
"OutputChain"};
115 m_simulation_config.addBuildInfo();
118 m_simulation_config.parseCommandLineArguments(
119 argc,
argv, m_simulation_config.getStringParameters(
"ini_folder_path"));
126 m_simulation_config.addBuildInfo();
129 m_simulation_config.loadUserInput(m_simulation_config.getStringParameters(
"ini_folder_path")
136 return m_field_map.at(
key);
142 return m_field_map.at(
key)[
pos];
148 m_simulation_config.loadUserInput(m_simulation_config.getStringParameters(
"ini_folder_path")
155 std::cout <<
key <<
": ";
156 for (
const auto&
val : m_field_map[
key])
158 std::cout <<
val <<
' ';
Concrete implementation of a matrix class representing a Compressed Sparse Rows (CSR) matrix....
Definition CsrMatrix.h:37
CsrSparseMatrix()
Constructor for an empty CsrSparseMatrix object. Leaves all storage arrays empty but sets the flag to...
Definition CsrMatrix.h:94
Definition SimulationClassBase.h:19
virtual void setUserIni(const std::string &user_ini)
Definition SimulationClassBase.h:146
virtual ~SimulationClassBase()=default
void setPostNonLinIterChainStr()
Definition SimulationClassBase.h:56
SimulationClassBase()
Definition SimulationClassBase.h:77
std::map< std::string, std::valarray< T > > m_field_map
Definition SimulationClassBase.h:25
const std::valarray< T > & getField(const std::string &key) const
Definition SimulationClassBase.h:134
const T & getFieldValue(const std::string &key, int pos) const
Definition SimulationClassBase.h:140
void setInitChainStr()
Definition SimulationClassBase.h:53
InputManager m_simulation_config
Definition SimulationClassBase.h:29
int time_step
Definition SimulationClassBase.h:35
void setOutputChainStr()
Definition SimulationClassBase.h:57
T elapsed_time
Definition SimulationClassBase.h:32
T global_convergence_diff
Definition SimulationClassBase.h:31
int my_rank
Definition SimulationClassBase.h:37
void setPreTimeStepChainStr()
Definition SimulationClassBase.h:54
std::string_view m_current_position
Definition SimulationClassBase.h:27
int world_size
Definition SimulationClassBase.h:38
void printField(const std::string &key)
Definition SimulationClassBase.h:153
void setPostTimeStepChainStr()
Definition SimulationClassBase.h:55