Set of common parameters to manage an iterative algorithm. More...
#include <cs_iter_algo.h>
Data Fields | |
Generic parameters | |
cs_iter_algo_param_t | param |
void * | context |
Convergence indicators | |
cs_sles_convergence_state_t | cvg |
double | normalization |
double | tol |
double | prev_res |
double | res |
double | res0 |
int | n_algo_iter |
int | n_inner_iter |
int | last_inner_iter |
Set of common parameters to manage an iterative algorithm.
Structure to handle the convergence of an iterative algorithm.
Metadata to manage an iterative algorithm such as Picard or Uzawa for instance. This structure can handle embedded iterative algorithm since the notion of inner and outer iterations is defined. Nevertheless, only the outer iterative algorithm is managed (information about inner iterations are only for monitoring purposes).
context |
pointer to structure cast on the fly
cvg |
Converged, iterating or diverged status
last_inner_iter |
Last number of iterations for the inner solver
n_algo_iter |
Current number of iterations for the algorithm (outer iterations)
n_inner_iter |
Curent cumulated number of inner iterations (sum over the outer iterations)
normalization |
Value of the normalization for the relative tolerance.
The stopping criterion is such that res < rtol * normalization. By default, the normalization is set to 1.
param |
structure storing the main settings
prev_res |
Value of the previous residual achieved during the iterative process
res |
Value of the residual for the iterative algorithm
res0 |
Value of the first residual of the iterative process. This is used for detecting the divergence of the algorithm.
tol |
Tolerance computed as tol = max(atol, normalization*rtol) where atol and rtol are respectively the absolute and relative tolerance associated to the algorithm