Set of common parameters to manage an iterative algorithm. More...
#include <cs_iter_algo.h>
Collaboration diagram for cs_iter_algo_t: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