8 #ifndef ADAPTIVETIMESCALECONTROLLER_HPP_ 9 #define ADAPTIVETIMESCALECONTROLLER_HPP_ 11 #include "checkpointing/CheckpointEntry.hpp" 12 #include "checkpointing/CheckpointerDataInterface.hpp" 13 #include "columns/Communicator.hpp" 14 #include "io/PrintStream.hpp" 15 #include "structures/MPIBlock.hpp" 23 std::vector<double> mTimeScale;
24 std::vector<double> mTimeScaleMax;
25 std::vector<double> mTimeScaleTrue;
35 bool writeTimeScaleFieldnames,
38 virtual Response::Status registerData(
Checkpointer *checkpointer)
override;
39 virtual std::vector<double>
40 calcTimesteps(
double timeValue, std::vector<double>
const &rawTimeScales);
41 void writeTimestepInfo(
double timeValue, std::vector<PrintStream *> &streams);
51 bool mWriteTimeScaleFieldnames;
55 std::vector<double> mOldTimeScale;
56 std::vector<double> mOldTimeScaleTrue;
62 std::string
const &name,
65 :
CheckpointEntry(name, mpiBlock), mTimeScaleInfoPtr(timeScaleInfoPtr) {}
67 std::string
const &objName,
68 std::string
const &dataName,
71 :
CheckpointEntry(objName, dataName, mpiBlock), mTimeScaleInfoPtr(timeScaleInfoPtr) {}
72 virtual void write(std::string
const &checkpointDirectory,
double simTime,
bool verifyWritesFlag)
74 virtual void read(std::string
const &checkpointDirectory,
double *simTimePtr)
const override;
75 virtual void remove(std::string
const &checkpointDirectory)
const override;