Template Numerical Library version\ main:bb09b17
|
Base class for ODE solvers and explicit solvers od PDEs. More...
#include <TNL/Solvers/ODE/StaticExplicitSolver.h>
Public Types | |
using | IndexType = Index |
Indexing type. | |
using | RealType = Real |
Type of the floating-point arithmetics or static vector. | |
Public Member Functions | |
__cuda_callable__ | StaticExplicitSolver ()=default |
Default constructor. | |
bool __cuda_callable__ | checkNextIteration () |
Checks if the solver is allowed to do the next iteration. | |
__cuda_callable__ const RealType & | getMaxTau () const |
Getter of maximal value of the time step. | |
__cuda_callable__ const RealType & | getStopTime () const |
Getter of the time where the evolution computation shall by stopped. | |
__cuda_callable__ const RealType & | getTau () const |
Getter of the time step used for the computation. | |
__cuda_callable__ const RealType & | getTime () const |
Getter of the current time of the evolution computed by the solver. | |
__cuda_callable__ void | setMaxTau (const RealType &maxTau) |
Setter of maximal value of the time step. | |
__cuda_callable__ void | setStopTime (const RealType &stopTime) |
Setter of the time where the evolution computation shall by stopped. | |
__cuda_callable__ void | setTau (const RealType &tau) |
Setter of the time step used for the computation. | |
__cuda_callable__ void | setTestingMode (bool testingMode) |
__cuda_callable__ void | setTime (const RealType &t) |
Settter of the current time of the evolution computed by the solver. | |
bool | setup (const Config::ParameterContainer ¶meters, const std::string &prefix="") |
Method for setup of the iterative solver based on configuration parameters. | |
Public Member Functions inherited from TNL::Solvers::StaticIterativeSolver< double, int > | |
__cuda_callable__ | StaticIterativeSolver ()=default |
Default constructor. | |
__cuda_callable__ bool | checkConvergence () |
Checks whether the convergence occurred already. | |
__cuda_callable__ bool | checkNextIteration () |
Checks if the solver is allowed to do the next iteration. | |
__cuda_callable__ const double & | getConvergenceResidue () const |
Gets the the convergence threshold. | |
__cuda_callable__ const double & | getDivergenceResidue () const |
Gets the limit for the divergence criterion. | |
__cuda_callable__ const int & | getIterations () const |
Gets the number of iterations performed by the solver so far. | |
__cuda_callable__ const int & | getMaxIterations () const |
Gets the maximal number of iterations the solver is allowed to perform. | |
__cuda_callable__ const int & | getMinIterations () const |
Gets the minimal number of iterations the solver is supposed to do. | |
__cuda_callable__ const double & | getResidue () const |
Gets the residue reached at the current iteration. | |
__cuda_callable__ bool | nextIteration () |
Proceeds to the next iteration. | |
__cuda_callable__ void | resetIterations () |
Sets the the number of the current iterations to zero. | |
__cuda_callable__ void | setConvergenceResidue (const double &convergenceResidue) |
Sets the threshold for the convergence. | |
__cuda_callable__ void | setDivergenceResidue (const double &divergenceResidue) |
Sets the residue limit for the divergence criterion. | |
__cuda_callable__ void | setMaxIterations (const int &maxIterations) |
Sets the maximal number of iterations the solver is allowed to perform. | |
__cuda_callable__ void | setMinIterations (const int &minIterations) |
Sets the minimal number of iterations the solver is supposed to do. | |
__cuda_callable__ void | setResidue (const double &residue) |
Sets the residue reached at the current iteration. | |
bool | setup (const Config::ParameterContainer ¶meters, const std::string &prefix="") |
Method for setup of the iterative solver based on configuration parameters. | |
Static Public Member Functions | |
static void | configSetup (Config::ConfigDescription &config, const std::string &prefix="") |
This method defines configuration entries for setup of the iterative solver. | |
Static Public Member Functions inherited from TNL::Solvers::StaticIterativeSolver< double, int > | |
static void | configSetup (Config::ConfigDescription &config, const std::string &prefix="") |
This method defines configuration entries for setup of the iterative solver. | |
Protected Attributes | |
RealType | maxTau = std::numeric_limits< RealType >::max() |
bool | stopOnSteadyState = false |
RealType | stopTime = 0.0 |
RealType | tau = 0.0 |
bool | testingMode = false |
RealType | time = 0.0 |
Protected Attributes inherited from TNL::Solvers::StaticIterativeSolver< double, int > | |
double | convergenceResidue |
int | currentIteration |
double | currentResidue |
double | divergenceResidue |
int | maxIterations |
int | minIterations |
int | refreshRate |
Base class for ODE solvers and explicit solvers od PDEs.
This is a specialization for static solvers, i.e. solvers which of scalar problem or small system of ODEs solution of which can be expressed by TNL::Containers::StaticVector. The static solvers can be created even in GPU kernels and can be combined with TNL::Algorithms::parallelFor.
Real | is type of the floating-point arithmetics or static vector ( TNL::Containers::StaticVector ). |
Index | is type for indexing. |
|
nodiscard |
Checks if the solver is allowed to do the next iteration.
__cuda_callable__ void TNL::Solvers::ODE::StaticExplicitSolver< Real, Index >::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.
__cuda_callable__ void TNL::Solvers::ODE::StaticExplicitSolver< Real, Index >::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.