73 double globalMinTimeStamp,
74 double globalMaxTimeStamp,
75 double globalMinTimeStepSize,
76 double globalMaxTimeStepSize
96 double globalMinTimeStamp,
97 double globalMaxTimeStamp,
98 double globalMinTimeStepSize,
99 double globalMaxTimeStepSize
virtual double getMaxTimeStamp() const
virtual double getMinTimeStepSize() const
double _minVolumeHUpdatedThisTimeStep
virtual void finishTimeStep()
Default implementation: MPI-all-reduces the UpdatedThisTimeStep accumulators (min via MPI_MIN,...
virtual double getMinMeshSize() const
void enforceTimeStepSize(double timeStepSize)
Thread-safely overwrite the current minimum and maximum time step size (protected by _semaphore),...
double _minTimeStepSizeUpdatedThisTimeStep
double _maxTimeStampUpdatedThisTimeStep
double _minTimeStampUpdatedThisTimeStep
virtual void startTimeStep(double globalMinTimeStamp, double globalMaxTimeStamp, double globalMinTimeStepSize, double globalMaxTimeStepSize)
Default implementation: rolls the previous sweep's accumulated _minTimeStampUpdatedThisTimeStep/_maxT...
static bool getCheckpointMetaDataEntry(const std::string &metaData, const std::string &key, double &value)
Find one entry of a checkpoint's meta data.
double _maxVolumeHUpdatedThisTimeStep
Solver()
The min and max time stamp and the time step size all start at 0, so the very first time step does no...
void updateCell(double timeStepSize, double timeStamp)
Thread-safely fold one cell's contribution into this time step's running time stamp and time step siz...
virtual std::string toCheckpointMetaData() const
Solver state for the header of a checkpoint.
virtual void fromCheckpointMetaData(const std::string &metaData)
Restore the solver state from the header of a checkpoint.
virtual void finishPlottingStep()
Not pure virtual -.
virtual void startPlottingStep(double globalMinTimeStamp, double globalMaxTimeStamp, double globalMinTimeStepSize, double globalMaxTimeStepSize)
Not pure virtual, unlike the other lifecycle hooks above: overriding it is optional.
double _maxTimeStepSizeUpdatedThisTimeStep
void resetTimeStepSize()
Restart the time stepping with a time step size of zero.
Offloadable
This is a "fake" enum, i.e.
virtual double getMaxTimeStepSize() const
virtual bool cellCanUseStatelessPDETerms(const tarch::la::Vector< Dimensions, double > &cellCentre, const tarch::la::Vector< Dimensions, double > &cellH, double t, double dt) const
Default implementation: always returns true, i.e.
tarch::multicore::BooleanSemaphore _semaphore
virtual double getMaxMeshSize() const
virtual double getAdmissibleTimeStepSize() const
The time step size the solver would use if enforceTimeStepSize() had not been called,...
static std::string toCheckpointMetaDataEntry(const std::string &key, double value)
One line of toCheckpointMetaData()
double _admissibleTimeStepSize
virtual double getMinTimeStamp() const
This file is part of the ExaHyPE 2 project within Peano 4.