1 #ifndef COUPLED_SIM_H_INCLUDED
2 #define COUPLED_SIM_H_INCLUDED
30 #include <boost/property_tree/ptree.hpp>
32 #include <unordered_map>
75 void Initialize(
const boost::property_tree::ptree& pt,
76 const std::vector<std::shared_ptr<Sim>>& simulators);
85 void Reinitialize(
const boost::property_tree::ptree& parameters);
91 std::unordered_map<std::string, std::shared_ptr<Sim>> m_simulators;
92 std::vector<std::shared_ptr<ICoupler>> m_couplers;
94 std::string m_project_name;
95 std::string m_run_date;
96 unsigned int m_sim_step;
97 unsigned int m_sim_ODE_steps;
103 #endif // end_of_include_guard
CoreData & GetCoreData() override final
Core data with mesh, parameters, random engine and time data.
std::string GetRunDate() const
Core data used during model execution.
void Initialize(const boost::property_tree::ptree &pt, const std::vector< std::shared_ptr< Sim >> &simulators)
Initialize with full configuration (complete setup prior to first use).
void IncrementStepCount()
Increase the current time step counter by one.
std::string GetProjectName() const
bool IsStationary() const
const boost::property_tree::ptree & GetParameters() const
void Reinitialize(const boost::property_tree::ptree ¶meters)
Namespace for the core simulator.
bool IsAtTermination() const
Interface/Implementation of Subject.
virtual ~CoupledSim()
Destructor is virtual.
Sim, the actual simulator.
Definition for CoupledSimEvent.
Subject in Observer pattern.
Timings GetTimings() const
Coupled Simulator: multiple simulators and couplers.
CoupledSim()
Constructor does almost no initialization work (.
see the online C++11 documentation