Template Numerical Library version\ main:161afe73
|
Base class for ODE solvers and explicit solvers od PDEs. More...
#include <TNL/Solvers/ODE/ExplicitSolver.h>
Public Types | |
using | IndexType = Index |
Indexing type. | |
using | RealType = Real |
Type of the floating-point arithmetics. | |
using | SolverMonitorType = SolverMonitor |
Type of the monitor of the convergence of the solver. | |
![]() | |
using | SolverMonitorType = SolverMonitor |
Type of an object used for monitoring of the convergence. | |
Public Member Functions | |
ExplicitSolver ()=default | |
Default constructor. | |
bool | checkNextIteration () |
Checks if the solver is allowed to do the next iteration. More... | |
const RealType & | getMaxTau () const |
Getter of maximal value of the time step. | |
const RealType & | getStopTime () const |
Getter of the time where the evolution computation shall by stopped. | |
const RealType & | getTau () const |
Getter of the time step used for the computation. | |
const RealType & | getTime () const |
Getter of the current time of the evolution computed by the solver. | |
void | refreshSolverMonitor (bool force=false) |
This method refreshes the solver monitor. More... | |
void | setMaxTau (const RealType &maxTau) |
Setter of maximal value of the time step. More... | |
void | setStopTime (const RealType &stopTime) |
Setter of the time where the evolution computation shall by stopped. | |
void | setTau (const RealType &tau) |
Setter of the time step used for the computation. More... | |
void | setTestingMode (bool testingMode) |
void | setTime (const RealType &t) |
Settter of the current time of the evolution computed by the solver. | |
bool | setup (const Config::ParameterContainer ¶meters, const String &prefix="") |
Method for setup of the iterative solver based on configuration parameters. More... | |
![]() | |
IterativeSolver ()=default | |
Default constructor. | |
bool | checkConvergence () |
Checks whether the convergence occurred already. More... | |
bool | checkNextIteration () |
Checks if the solver is allowed to do the next iteration. More... | |
const Real & | getConvergenceResidue () const |
Gets the the convergence threshold. More... | |
const Real & | getDivergenceResidue () const |
Gets the limit for the divergence criterion. More... | |
const Index & | getIterations () const |
Gets the number of iterations performed by the solver so far. More... | |
const Index & | getMaxIterations () const |
Gets the maximal number of iterations the solver is allowed to perform. More... | |
const Index & | getMinIterations () const |
Gets the minimal number of iterations the solver is supposed to do. More... | |
const Real & | getResidue () const |
Gets the residue reached at the current iteration. More... | |
bool | nextIteration () |
Proceeds to the next iteration. More... | |
void | resetIterations () |
Sets the the number of the current iterations to zero. | |
void | setConvergenceResidue (const Real &convergenceResidue) |
Sets the threshold for the convergence. More... | |
void | setDivergenceResidue (const Real &divergenceResidue) |
Sets the residue limit for the divergence criterion. More... | |
void | setMaxIterations (const Index &maxIterations) |
Sets the maximal number of iterations the solver is allowed to perform. More... | |
void | setMinIterations (const Index &minIterations) |
Sets the minimal number of iterations the solver is supposed to do. More... | |
void | setRefreshRate (const Index &refreshRate) |
Sets the refresh rate (in milliseconds) for the solver monitor. More... | |
void | setResidue (const Real &residue) |
Sets the residue reached at the current iteration. More... | |
void | setSolverMonitor (SolverMonitorType &solverMonitor) |
Sets the solver monitor object. More... | |
bool | setup (const Config::ParameterContainer ¶meters, const String &prefix="") |
Method for setup of the iterative solver based on configuration parameters. More... | |
Static Public Member Functions | |
static void | configSetup (Config::ConfigDescription &config, const String &prefix="") |
This method defines configuration entries for setup of the iterative solver. More... | |
![]() | |
static void | configSetup (Config::ConfigDescription &config, const String &prefix="") |
This method defines configuration entries for setup of the iterative solver. More... | |
Protected Attributes | |
RealType | maxTau = std::numeric_limits< RealType >::max() |
bool | stopOnSteadyState = false |
RealType | stopTime |
RealType | tau = 0.0 |
bool | testingMode = false |
RealType | time = 0.0 |
![]() | |
Real | convergenceResidue = 1e-6 |
Index | currentIteration = 0 |
Real | currentResidue = 0 |
Real | divergenceResidue = std::numeric_limits< Real >::max() |
Index | maxIterations = 1000000000 |
Index | minIterations = 0 |
Index | refreshRate = 1 |
std::ofstream | residualHistoryFile |
String | residualHistoryFileName = "" |
SolverMonitor * | solverMonitor = nullptr |
Base class for ODE solvers and explicit solvers od PDEs.
See also: TNL::Solvers::ODE::Euler, TNL::Solvers::ODE::Merson.
Real | is type of the floating-point arithmetics. |
Index | is type for indexing. |
IterativeSolverMonitor< | Real, Index > is |
bool TNL::Solvers::ODE::ExplicitSolver< Real, Index, SolverMonitor >::checkNextIteration |
Checks if the solver is allowed to do the next iteration.
|
static |
This method defines configuration entries for setup of the iterative solver.
config | is the config description. |
prefix | is the prefix of the configuration parameters for this solver. |
void TNL::Solvers::ODE::ExplicitSolver< Real, Index, SolverMonitor >::refreshSolverMonitor | ( | bool | force = false | ) |
This method refreshes the solver monitor.
The method propagates values of time, time step and others to the solver monitor.
void TNL::Solvers::ODE::ExplicitSolver< Real, Index, SolverMonitor >::setMaxTau | ( | const RealType & | maxTau | ) |
Setter of maximal value of the time step.
If methods uses adaptive choice of the time step, this sets the upper limit.
void TNL::Solvers::ODE::ExplicitSolver< Real, Index, SolverMonitor >::setTau | ( | const RealType & | tau | ) |
Setter of the time step used for the computation.
The time step can be changed by methods using adaptive choice of the time step.
bool TNL::Solvers::ODE::ExplicitSolver< Real, Index, SolverMonitor >::setup | ( | const Config::ParameterContainer & | parameters, |
const String & | prefix = "" |
||
) |
Method for setup of the iterative solver based on configuration parameters.
parameters | is the container for configuration parameters. |
prefix | is the prefix of the configuration parameters for this solver. |