26 #include <boost/property_tree/ptree.hpp>
29 namespace TimeEvolver {
40 assert( cd.
Check() &&
"CoreData not ok.");
49 Stopclock chrono_hk(
"housekeeping",
true);
56 const unsigned int div_count = cell_divider.
DivideCells();
57 const bool is_stationary = (div_count == 0U);
64 cell_housekeeper.
Exec();
70 return make_tuple(timings, is_stationary);
Interface for CellHousekeeper.
Core data with mesh, parameters, random engine and time data.
Interface for CellDivider.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
unsigned int DivideCells()
Execute cell divisions.
Class for handling maintenance of cell mechanics (cell housekeeping).
std::string GetName() const
Return name of this stopwatch.
Time evolver for Housekeeping only.
Namespace for components of the Default model group.
Utility class to record durations in a cumulative manner.
void Initialize(const CoreData &cd)
Initializes.
Class for handling cell division.
Housekeep(const CoreData &cd)
Initializing constructor.
std::tuple< SimTimingTraits::CumulativeTimings, bool > operator()(double time_slice=0.0, SimPhase phase=SimPhase::NONE)
Take a time step.
T::duration Get() const
Returns the accumulated value without altering the stopwatch state.
boost::property_tree::ptree Exec() const
Housekeeping rules.
Provides a stopwatch interface to time: it accumulates time between start/stop pairs.
void Record(const std::string &name, const std::chrono::duration< R, P > &duration)
Record the duration for the given name.
bool Check() const
Verify all pointers non-null.