Holds adapt parameters and infos about the problem. More...
#include <AdaptInfo.hpp>
Classes | |
| class | ScalContent |
| Stores adapt infos for a scalar problem or for one component of a vector valued problem. More... | |
Public Types | |
| using | Key = std::string |
Public Member Functions | |
| AdaptInfo (std::string const &name) | |
| Constructor. | |
| virtual | ~AdaptInfo ()=default |
| Destructor. | |
| void | reset () |
| Resets all variables to zero (or something equivalent) | |
| virtual bool | spaceToleranceReached () const |
| Returns whether space tolerance is reached. | |
| virtual bool | spaceToleranceReached (Key key) const |
| Returns whether space tolerance of component associated with key is reached. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| bool | spaceToleranceReached (const TP &tp) const |
| virtual bool | timeToleranceReached () const |
| Returns whether time tolerance is reached. | |
| virtual bool | timeToleranceReached (Key key) const |
| Returns whether time tolerance of component associated with key is reached. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| bool | timeToleranceReached (const TP &tp) const |
| virtual bool | timeErrorLow () const |
| Returns whether time error is under its lower bound. | |
| double | timeEstCombined (Key key) const |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | timeEstCombined (const TP &tp) const |
| void | printTimeErrorLowInfo () const |
| Print debug information about time error and its bound. | |
| int | spaceIteration () const |
| Returns spaceIteration_. | |
| void | setSpaceIteration (int it) |
| Sets spaceIteration_. | |
| int | maxSpaceIteration () const |
| Returns maxSpaceIteration_. | |
| void | maxSpaceIteration (int it) |
| Sets maxSpaceIteration_. | |
| void | incSpaceIteration () |
| Increments spaceIteration_ by 1;. | |
| void | setTimestepIteration (int it) |
| Sets timestepIteration_. | |
| int | timestepIteration () const |
| Returns timestepIteration_. | |
| void | incTimestepIteration () |
| Increments timestepIteration_ by 1;. | |
| int | maxTimestepIteration () const |
| Returns maxTimestepIteration_. | |
| void | setMaxTimestepIteration (int it) |
| Sets maxTimestepIteration. | |
| void | setTimeIteration (int it) |
| Sets timeIteration_. | |
| int | timeIteration () const |
| Returns timeIteration_. | |
| void | incTimeIteration () |
| Increments timesIteration_ by 1;. | |
| int | maxTimeIteration () const |
| Returns maxTimeIteration_. | |
| void | setMaxTimeIteration (int it) |
| Sets maxTimeIteration_. | |
| int | timestepNumber () const |
| Returns timestepNumber_. | |
| void | setTimestepNumber (int num) |
| Sets timestepNumber. | |
| int | numberOfTimesteps () const |
| Returns nTimesteps_. | |
| void | setNumberOfTimesteps (int num) |
| Sets nTimesteps. | |
| void | incTimestepNumber () |
| Increments timestepNumber_ by 1;. | |
| void | setEstSum (double e, Key key) |
| Sets est_sum. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| void | setEstSum (double e, const TP &tp) |
| void | setEstMax (double e, Key key) |
| Sets est_max. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| void | setEstMax (double e, const TP &tp) |
| void | setTimeEstMax (double e, Key key) |
| Sets est_max. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| void | setTimeEstMax (double e, const TP &tp) |
| void | setTimeEstSum (double e, Key key) |
| Sets est_t_sum. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| void | setTimeEstSum (double e, const TP &tp) |
| double | estSum (Key key) const |
| Returns est_sum. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | estSum (const TP &tp) |
| double | estTSum (Key key) const |
| Returns est_t_sum. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | estTSum (const TP &tp) |
| double | estMax (Key key) const |
| Returns est_max. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | estMax (const TP &tp) |
| double | timeEstMax (Key key) const |
| Returns est_max. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | timeEstmax (const TP &tp) |
| double | timeEstSum (Key key) const |
| Returns est_t_sum. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | timeEstSum (const TP &tp) |
| double | timeEst () const |
| Returns timeEst_ the estimated overall time error. | |
| void | setTimeEst (double value) |
| double | spaceTolerance (Key key) const |
| Returns spaceTolerance. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | spaceTolerance (const TP &tp) |
| void | setSpaceTolerance (Key key, double tol) |
| Sets spaceTolerance. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| void | setSpaceTolerance (const TP &tp, double tol) |
| double | timeTolerance (Key key) const |
| Returns timeTolerance. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | timeTolerance (const TP &tp) |
| double | timeRelativeTolerance (Key key) const |
| Returns timeRelativeTolerance. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | timeRelativeTolerance (const TP &tp) |
| double | setTime (double t) |
| Sets time_. | |
| double const & | time () const |
| Gets time_. | |
| double | setTimestep (double t) |
| Sets timestep_. | |
| double const & | timestep () const |
| Gets timestep_. | |
| void | setLastProcessedTimestep (double t) |
| double | lastProcessedTimestep () const |
| bool | reachedEndTime () const |
| void | setMinTimestep (double t) |
| Sets minTimestep_. | |
| double | minTimestep () const |
| Gets minTimestep_. | |
| void | setMaxTimestep (double t) |
| Sets maxTimestep_. | |
| double | maxTimestep () const |
| Gets maxTimestep_. | |
| void | setStartTime (double time) |
| Sets startTime_ = time. | |
| void | setEndTime (double time) |
| Sets endTime_ = time. | |
| double | startTime () const |
| Returns startTime_. | |
| double | endTime () const |
| Returns endTime_. | |
| double | timeErrLow (Key key) const |
| Returns timeErrLow. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| double | timeErrLow (const TP &tp) |
| bool | isCoarseningAllowed (Key key) const |
| Returns whether coarsening is allowed or not. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| bool | isCoarseningAllowed (const TP &tp) |
| bool | isRefinementAllowed (Key key) const |
| Returns whether coarsening is allowed or not. | |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| bool | isRefinementAllowed (const TP &tp) |
| void | allowRefinement (bool allow, Key key) |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| void | allowRefinement (bool allow, const TP &tp) |
| void | allowCoarsening (bool allow, Key key) |
| template<class TP , REQUIRES(Concepts::PreTreePath< TP >) > | |
| void | allowCoarsening (bool allow, const TP &tp) |
| int | size () const |
| void | setSolverIterations (int it) |
| int | solverIterations () const |
| void | setMaxSolverIterations (int it) |
| int | maxSolverIterations () const |
| void | setSolverTolerance (double tol) |
| double | solverTolerance () const |
| void | setSolverResidual (double res) |
| double | solverResidual () const |
| void | setGlobalTimeTolerance (double tol) |
| double | globalTimeTolerance () const |
| void | resetTimeValues (double newTimeStep, double newStartTime, double newEndTime) |
| Resets timestep, current time and time boundaries without any check. Is used by the parareal algorithm. | |
Protected Attributes | |
| std::string | name_ |
| Name. | |
| int | spaceIteration_ = -1 |
| Current space iteration. | |
| int | maxSpaceIteration_ = -1 |
| maximal allowed number of iterations of the adaptive procedure; if maxIteration <= 0, no iteration bound is used | |
| int | timestepIteration_ = 0 |
| Current timestep iteration. | |
| int | maxTimestepIteration_ = 30 |
| Maximal number of iterations for choosing a timestep. | |
| int | timeIteration_ = 0 |
| Current time iteration. | |
| int | maxTimeIteration_ = 30 |
| Maximal number of time iterations. | |
| double | time_ = 0.0 |
| Actual time, end of time interval for current time step. | |
| double | startTime_ = 0.0 |
| Initial time. | |
| double | endTime_ = 1.0 |
| Final time. | |
| double | timestep_ = 0.0 |
| Time step size to be used. | |
| double | lastProcessedTimestep_ = 0.0 |
| Last processed time step size of finished iteration. | |
| double | minTimestep_ = std::sqrt(std::numeric_limits<double>::epsilon()) |
| Minimal step size. | |
| double | maxTimestep_ = std::sqrt(std::numeric_limits<double>::max()) |
| Maximal step size. | |
| int | timestepNumber_ = 0 |
| Number of current time step. | |
| int | nTimesteps_ = 0 |
| Per default this value is 0 and not used. If it is set to a non-zero value, the computation of the stationary problem is done nTimesteps times with a fixed timestep. | |
| int | solverIterations_ = 0 |
| number of iterations needed of linear or nonlinear solver | |
| int | maxSolverIterations_ = 0 |
| maximal number of iterations needed of linear or nonlinear solver | |
| double | solverTolerance_ = 1.e-8 |
| double | solverResidual_ = 0.0 |
| double | globalTimeTolerance_ = 1.0 |
| tolerance for the overall time error | |
| std::map< Key, ScalContent > | scalContents_ |
| Scalar adapt infos. | |
| double | timeEst_ = 0.0 |
| overall time error estimate | |
Holds adapt parameters and infos about the problem.
|
inline |
Returns true, if the end time is reached and no more timestep computations must be done.
References AdaptInfo::nTimesteps_, and AdaptInfo::timestepNumber_.
Referenced by AdaptInstationary::adapt().
|
inline |
Returns the time estimation as a combination of maximal and integral time error
References AdaptInfo::ScalContent::est_t_max, AdaptInfo::ScalContent::est_t_sum, and AdaptInfo::ScalContent::fac_max.
Referenced by AdaptInfo::printTimeErrorLowInfo(), AdaptInfo::timeErrorLow(), and AdaptInfo::timeToleranceReached().