Set of routines to handle the management of high-level iterative algorithms such as Uzawa, Golub-Kahan Bi-orthogonalization or Picard algorithms which incorporates inner solvers. More...
#include "cs_defs.h"
#include <float.h>
#include <assert.h>
#include <bft_mem.h>
#include "cs_evaluate.h"
#include "cs_iter_algo.h"
Functions | |
cs_iter_algo_info_t * | cs_iter_algo_define (int verbosity, int n_max_iter, double atol, double rtol, double dtol) |
Create and initialize a new cs_iter_algo_info_t structure. More... | |
void | cs_iter_algo_navsto_fb_picard_cvg (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *pre_iterate, const cs_real_t *cur_iterate, cs_real_t div_l2_norm, cs_iter_algo_info_t *a_info) |
Test if one has to do one more Picard iteration. Test if performed on the relative norm on the increment between two iterations but also on the divergence. More... | |
Set of routines to handle the management of high-level iterative algorithms such as Uzawa, Golub-Kahan Bi-orthogonalization or Picard algorithms which incorporates inner solvers.
cs_iter_algo_info_t* cs_iter_algo_define | ( | int | verbosity, |
int | n_max_iter, | ||
double | atol, | ||
double | rtol, | ||
double | dtol | ||
) |
Create and initialize a new cs_iter_algo_info_t structure.
[in] | verbosity | set the level of information printed |
[in] | n_max_iter | maximal number of iteration |
[in] | atol | absolute tolerance |
[in] | rtol | relative tolerance |
[in] | dtol | divergence tolerance |
void cs_iter_algo_navsto_fb_picard_cvg | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | pre_iterate, | ||
const cs_real_t * | cur_iterate, | ||
cs_real_t | div_l2_norm, | ||
cs_iter_algo_info_t * | a_info | ||
) |
Test if one has to do one more Picard iteration. Test if performed on the relative norm on the increment between two iterations but also on the divergence.
[in] | connect | set of additional connectivities for CDO |
[in] | quant | set of additional geometrical quantities |
[in] | pre_iterate | previous state of the mass flux iterate |
[in] | cur_iterate | current state of the mass flux iterate |
[in] | div_l2_norm | L2 norm of the velocity divergence |
[in,out] | a_info | pointer to a cs_iter_algo_info_t struct. |