1 #ifndef __CS_ITER_ALGO_H__ 2 #define __CS_ITER_ALGO_H__ 273 const char *algo_name,
cs_param_dotprod_type_t
Definition: cs_param_types.h:956
double dtol
Definition: cs_iter_algo.h:87
void cs_iter_algo_reset_nl(cs_param_nl_algo_t nl_algo_type, cs_iter_algo_t *algo)
Reset a cs_iter_algo_t structure in case of a non-linear algorothm.
Definition: cs_iter_algo.c:480
double prev_res
Definition: cs_iter_algo.h:161
const cs_real_t cs_math_big_r
int n_inner_iter
Definition: cs_iter_algo.h:166
Structure storing all the parameters to drive the algorithm called Anderson acceleration.
Definition: cs_iter_algo.h:177
cs_param_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:546
int n_max_dir
Definition: cs_iter_algo.h:198
cs_real_t() cs_cdo_blas_dotprod_t(const cs_real_t *a, const cs_real_t *b)
Generic function pointer for computing a dot product. Parallel synchronization is performed...
Definition: cs_cdo_blas.h:64
#define BEGIN_C_DECLS
Definition: cs_defs.h:510
void cs_iter_algo_aa_free(cs_iter_algo_t *info)
Free a cs_iter_algo_aa_t structure used to manage the Anderson acceleration.
Definition: cs_iter_algo.c:651
void cs_iter_algo_aa_update(cs_iter_algo_t *ia, cs_real_t *cur_iterate, const cs_real_t *pre_iterate, cs_cdo_blas_dotprod_t *dotprod, cs_cdo_blas_square_norm_t *sqnorm)
Apply one more iteration of the Anderson acceleration.
Definition: cs_iter_algo.c:679
int n_algo_iter
Definition: cs_iter_algo.h:165
double cs_real_t
Floating-point value.
Definition: cs_defs.h:322
Context structure for the algorithm called Anderson acceleration.
void cs_iter_algo_aa_free_arrays(cs_iter_algo_aa_t *aa)
Free arrays used during the Anderson acceleration.
Definition: cs_iter_algo.c:624
double res0
Definition: cs_iter_algo.h:163
double res
Definition: cs_iter_algo.h:162
Set of common parameters to manage an iterative algorithm.
Definition: cs_iter_algo.h:101
cs_sles_convergence_state_t
Convergence status indicator.
Definition: cs_sles.h:56
int last_inner_iter
Definition: cs_iter_algo.h:167
Definition: cs_field_pointer.h:222
int n_max_algo_iter
Definition: cs_iter_algo.h:84
cs_real_t() cs_cdo_blas_square_norm_t(const cs_real_t *array)
Generic function pointer for computing a square norm. Parallel synchronization is performed...
Definition: cs_cdo_blas.h:79
void * context
Definition: cs_iter_algo.h:155
void cs_iter_algo_update_cvg(cs_iter_algo_t *ia)
Update the convergence state and the number of iterations.
Definition: cs_iter_algo.c:443
int verbosity
Definition: cs_iter_algo.h:83
int starting_iter
Definition: cs_iter_algo.h:199
cs_iter_algo_aa_t * cs_iter_algo_aa_create(cs_iter_algo_param_aa_t aap, cs_lnum_t n_elts)
Create a new cs_iter_algo_aa_t structure.
Definition: cs_iter_algo.c:509
double atol
Definition: cs_iter_algo.h:85
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:316
cs_iter_algo_param_aa_t cs_iter_algo_get_anderson_param(cs_iter_algo_t *ia)
Retrieve the set of parameters for an Anderson algorithm.
Definition: cs_iter_algo.c:553
double beta
Definition: cs_iter_algo.h:201
cs_iter_algo_param_t param
Definition: cs_iter_algo.h:153
#define END_C_DECLS
Definition: cs_defs.h:511
Definition: cs_iter_algo.h:53
void cs_iter_algo_aa_allocate_arrays(cs_iter_algo_aa_t *aa)
Allocate arrays useful for the Anderson acceleration.
Definition: cs_iter_algo.c:585
void cs_iter_algo_post_check(const char *func_name, const char *eq_name, const char *algo_name, cs_iter_algo_t *ia)
Check if something wrong happens during the iterative process after one new iteration.
Definition: cs_iter_algo.c:405
double max_cond
Definition: cs_iter_algo.h:200
double normalization
Definition: cs_iter_algo.h:158
cs_sles_convergence_state_t cvg
Definition: cs_iter_algo.h:157
cs_iter_algo_t * cs_iter_algo_create(cs_iter_algo_param_t param)
Create and initialize a new cs_iter_algo_t structure.
Definition: cs_iter_algo.c:372
double rtol
Definition: cs_iter_algo.h:86
static void cs_iter_algo_reset(cs_iter_algo_t *info)
Reset a cs_iter_algo_t structure.
Definition: cs_iter_algo.h:227
double tol
Definition: cs_iter_algo.h:159
cs_param_dotprod_type_t dp_type
Definition: cs_iter_algo.h:202