1 #ifndef PARALUTION_ITER_CTRL_HPP_
2 #define PARALUTION_ITER_CTRL_HPP_
20 void Init(
const double abs,
27 void Init(
const double abs,
146 #endif // PARALUTION_ITER_CTRL_HPP_
int verb_
Verbose flag verb == 0 no output verb == 1 print info about the solver (start,end); verb == 2 print (...
Definition: iter_ctrl.hpp:99
int maximum_iter_
Maximum number of iteration.
Definition: iter_ctrl.hpp:119
int GetIterationCount(void)
Definition: iter_ctrl.cpp:150
Iteration control for iterative solvers, monitor the residual (L2 norm) behavior. ...
Definition: iter_ctrl.hpp:11
double current_res_
Current residual (obtained via CheckResidual())
Definition: iter_ctrl.hpp:133
void PrintStatus(void)
Print the current status (is the any criteria reached or not)
Definition: iter_ctrl.cpp:325
int current_index_
Current residual, index for the inf norm (obtained via CheckResidual())
Definition: iter_ctrl.hpp:136
int GetMaximumIterations(void) const
Get the maximal number of iterations.
Definition: iter_ctrl.cpp:144
bool CheckResidualNoCount(const double res) const
Check the residual (without counting the number of iterations)
Definition: iter_ctrl.cpp:238
double divergence_tol_
Divergence tolerance.
Definition: iter_ctrl.hpp:115
bool rec_
Flag == true then the residual is recorded in the residual_history_ vector.
Definition: iter_ctrl.hpp:139
void InitTolerance(const double abs, const double rel, const double div)
Initialize with absolute/relative/divergence tolerance.
Definition: iter_ctrl.cpp:94
void Verbose(const int verb=1)
Provide verbose output of the solver (iter, residual)
Definition: iter_ctrl.cpp:272
void Clear(void)
Clear (reset)
Definition: iter_ctrl.cpp:26
bool CheckResidual(const double res)
Check the residual (this count also the number of iterations)
Definition: iter_ctrl.cpp:174
int minimum_iter_
Minimum number of iteration.
Definition: iter_ctrl.hpp:117
double GetCurrentResidual(void)
Definition: iter_ctrl.cpp:156
void RecordHistory(void)
Record the history of the residual.
Definition: iter_ctrl.cpp:266
void WriteHistoryToFile(const std::string filename) const
Write the history of the residual to an ASCII file.
Definition: iter_ctrl.cpp:278
void Init(const double abs, const double rel, const double div, const int max)
Initialize with absolute/relative/divergence tolerance and maximum number of iterations.
Definition: iter_ctrl.cpp:47
int GetMinimumIterations(void) const
Get the minimum number of iterations.
Definition: iter_ctrl.cpp:138
int GetAmaxResidualIndex(void)
Return absolute maximum index of residual vector when using Linf norm.
Definition: iter_ctrl.cpp:162
Definition: backend_manager.cpp:43
void InitMaximumIterations(const int max)
Set the maximal number of iterations.
Definition: iter_ctrl.cpp:126
double initial_residual_
Initial residual.
Definition: iter_ctrl.hpp:108
~IterationControl()
Definition: iter_ctrl.cpp:20
double absolute_tol_
Absolute tolerance.
Definition: iter_ctrl.hpp:111
int reached_
Indicator for the reached criteria: 0 - not yet; 1 - abs tol is reached; 2 - rel tol is reached; 3 - ...
Definition: iter_ctrl.hpp:127
int GetSolverStatus(void)
Definition: iter_ctrl.cpp:168
IterationControl()
Definition: iter_ctrl.cpp:14
void InitMinimumIterations(const int min)
Set the minimum number of iterations.
Definition: iter_ctrl.cpp:114
void PrintInit(void)
Print the initialized information of the iteration control.
Definition: iter_ctrl.cpp:306
std::vector< double > residual_history_
STL vector keeping the residual history.
Definition: iter_ctrl.hpp:130
int iteration_
Iteration count.
Definition: iter_ctrl.hpp:102
bool init_res_
Flag == true after calling InitResidual()
Definition: iter_ctrl.hpp:105
double relative_tol_
Relative tolerance.
Definition: iter_ctrl.hpp:113
bool InitResidual(const double res)
Initialize the initial residual.
Definition: iter_ctrl.cpp:62