1#ifndef __CS_PARAM_SADDLE_H__
2#define __CS_PARAM_SADDLE_H__
592 double scaling_coef);
#define BEGIN_C_DECLS
Definition cs_defs.h:542
#define END_C_DECLS
Definition cs_defs.h:543
int cs_param_saddle_set_precond(const char *keyval, cs_param_saddle_t *saddlep)
Set the type of preconditioning to apply for this saddle-point system.
Definition cs_param_saddle.cpp:929
void cs_param_saddle_set_augmentation_coef(cs_param_saddle_t *saddlep, double coef)
Set the scaling in front of the augmentation term when an ALU, a GKB or a block Krylov algorithm is c...
Definition cs_param_saddle.cpp:495
const char * cs_param_saddle_get_type_name(cs_param_saddle_solver_t type)
Retrieve the name of the type of saddle-point solver.
Definition cs_param_saddle.cpp:603
cs_param_sles_t * cs_param_saddle_get_schur_sles_param(const cs_param_saddle_t *saddlep)
Get the pointer to the set of parameters to handle a SLES. This SLES is associated to the approximati...
Definition cs_param_saddle.cpp:731
double cs_param_saddle_get_augmentation_coef(const cs_param_saddle_t *saddlep)
Get the scaling coefficient in front of the augmentation term when an ALU, GKB or block Krylov algori...
Definition cs_param_saddle.cpp:553
void cs_param_saddle_copy(const cs_param_saddle_t *ref, cs_param_saddle_t *dest)
Copy a cs_param_saddle_t structure from ref to dest.
Definition cs_param_saddle.cpp:1340
const char * cs_param_saddle_get_name(const cs_param_saddle_t *saddlep)
Retrieve the name of the saddle-point solver.
Definition cs_param_saddle.cpp:857
cs_param_saddle_solver_t
Type of solver used to solve a saddle-point system. Up to now, this happens only with CDO cell-based ...
Definition cs_param_saddle.h:183
@ CS_PARAM_SADDLE_SOLVER_NOTAY_TRANSFORM
Definition cs_param_saddle.h:193
@ CS_PARAM_SADDLE_N_SOLVERS
Definition cs_param_saddle.h:197
@ CS_PARAM_SADDLE_SOLVER_FGMRES
Definition cs_param_saddle.h:188
@ CS_PARAM_SADDLE_SOLVER_MINRES
Definition cs_param_saddle.h:191
@ CS_PARAM_SADDLE_SOLVER_NONE
Definition cs_param_saddle.h:185
@ CS_PARAM_SADDLE_SOLVER_GKB
Definition cs_param_saddle.h:190
@ CS_PARAM_SADDLE_SOLVER_SIMPLE
Definition cs_param_saddle.h:194
@ CS_PARAM_SADDLE_SOLVER_GCR
Definition cs_param_saddle.h:189
@ CS_PARAM_SADDLE_SOLVER_MUMPS
Definition cs_param_saddle.h:192
@ CS_PARAM_SADDLE_SOLVER_ALU
Definition cs_param_saddle.h:187
@ CS_PARAM_SADDLE_SOLVER_UZAWA_CG
Definition cs_param_saddle.h:195
void cs_param_saddle_set_name(const char *name, cs_param_saddle_t *saddlep)
Set the name of the saddle-point system.
Definition cs_param_saddle.cpp:885
int cs_param_saddle_set_solver(const char *keyval, cs_param_saddle_t *saddlep)
Set the type of solver to apply for this saddle-point system.
Definition cs_param_saddle.cpp:1091
void cs_param_saddle_set_notay_scaling(cs_param_saddle_t *saddlep, double scaling_coef)
Set the scaling coefficient used in the Notay's transformation devised in "Algebraic multigrid for St...
Definition cs_param_saddle.cpp:469
void cs_param_saddle_try_init_schur_sles_param(cs_param_saddle_t *saddlep)
Initialize a cs_param_sles_t structure for the Schur approximation nested inside a cs_param_saddle_t ...
Definition cs_param_saddle.cpp:1319
cs_param_saddle_t * cs_param_saddle_create(void)
Create a cs_param_saddle_t structure No solver is set by default.
Definition cs_param_saddle.cpp:653
cs_param_saddle_precond_t
Type of preconditioner used to solve a saddle-point system. Up to now, this happens only in two cases...
Definition cs_param_saddle.h:100
@ CS_PARAM_SADDLE_PRECOND_LOWER
Definition cs_param_saddle.h:104
@ CS_PARAM_SADDLE_PRECOND_DIAG
Definition cs_param_saddle.h:103
@ CS_PARAM_SADDLE_PRECOND_SGS
Definition cs_param_saddle.h:105
@ CS_PARAM_SADDLE_N_PRECOND
Definition cs_param_saddle.h:109
@ CS_PARAM_SADDLE_PRECOND_UPPER
Definition cs_param_saddle.h:106
@ CS_PARAM_SADDLE_PRECOND_UZAWA
Definition cs_param_saddle.h:107
@ CS_PARAM_SADDLE_PRECOND_NONE
Definition cs_param_saddle.h:102
cs_param_saddle_schur_approx_t
Strategy to build the Schur complement approximation. This appears in block preconditioning or Uzawa ...
Definition cs_param_saddle.h:244
@ CS_PARAM_SADDLE_SCHUR_MASS_SCALED
Definition cs_param_saddle.h:251
@ CS_PARAM_SADDLE_SCHUR_DIAG_INVERSE
Definition cs_param_saddle.h:248
@ CS_PARAM_SADDLE_N_SCHUR_APPROX
Definition cs_param_saddle.h:255
@ CS_PARAM_SADDLE_SCHUR_NONE
Definition cs_param_saddle.h:246
@ CS_PARAM_SADDLE_SCHUR_LUMPED_INVERSE
Definition cs_param_saddle.h:250
@ CS_PARAM_SADDLE_SCHUR_IDENTITY
Definition cs_param_saddle.h:249
@ CS_PARAM_SADDLE_SCHUR_MASS_SCALED_DIAG_INVERSE
Definition cs_param_saddle.h:252
@ CS_PARAM_SADDLE_SCHUR_MASS_SCALED_LUMPED_INVERSE
Definition cs_param_saddle.h:253
cs_param_sles_t * cs_param_saddle_get_init_sles_param(const cs_param_saddle_t *saddlep)
Get the pointer to the set of parameters to handle a SLES. This SLES is associated to the initial sad...
Definition cs_param_saddle.cpp:806
void cs_param_saddle_free(cs_param_saddle_t **p_saddlep)
Free the structure storing the parameter settings for a saddle-point system.
Definition cs_param_saddle.cpp:695
cs_param_sles_t * cs_param_saddle_get_xtra_sles_param(const cs_param_saddle_t *saddlep)
Get the pointer to the set of parameters to handle a SLES. This SLES is associated to an extra-operat...
Definition cs_param_saddle.cpp:753
int cs_param_saddle_set_schur_approx(const char *keyval, cs_param_saddle_t *saddlep)
Set the type of Schur approximation to apply to this saddle-point system.
Definition cs_param_saddle.cpp:977
int cs_param_saddle_set_solver_class(const char *keyval, cs_param_saddle_t *saddlep)
Set the class of solver to apply for this saddle-point system.
Definition cs_param_saddle.cpp:1039
void cs_param_saddle_set_block11_sles_param(cs_param_saddle_t *saddlep, const cs_param_sles_t *block11_slesp)
Assign the cs_param_sles_t structure (shared) related to the (1,1)-block to the structure managing th...
Definition cs_param_saddle.cpp:908
void cs_param_saddle_log(const cs_param_saddle_t *saddlep)
Log the setup information for the given cs_param_saddle_t structure.
Definition cs_param_saddle.cpp:1458
void cs_param_saddle_set_restart_range(cs_param_saddle_t *saddlep, int restart_range)
Set the number of iterations to store before starting a Krylov solver.
Definition cs_param_saddle.cpp:427
Structure and routines handling the SLES ((Sparse Linear Equation Solver) settings stored inside a cs...
cs_param_solver_class_t
Class of iterative solvers to consider for solver the linear system.
Definition cs_param_types.h:655
Set of parameters to check the convergence (or the divergence) of an iterative process (tolerances or...
Definition cs_param_types.h:570
Definition cs_param_saddle.h:378
double augmentation_scaling
Definition cs_param_saddle.h:385
bool dedicated_init_sles
Definition cs_param_saddle.h:392
cs_param_sles_t * init_sles_param
Definition cs_param_saddle.h:400
Definition cs_param_saddle.h:408
double augmentation_scaling
Definition cs_param_saddle.h:416
int n_stored_directions
Definition cs_param_saddle.h:423
cs_param_sles_t * xtra_sles_param
Definition cs_param_saddle.h:435
Definition cs_param_saddle.h:443
int truncation_threshold
Definition cs_param_saddle.h:458
double augmentation_scaling
Definition cs_param_saddle.h:451
bool dedicated_init_sles
Definition cs_param_saddle.h:465
cs_param_sles_t * init_sles_param
Definition cs_param_saddle.h:473
Definition cs_param_saddle.h:481
double scaling_coef
Definition cs_param_saddle.h:488
Definition cs_param_saddle.h:527
bool dedicated_init_sles
Definition cs_param_saddle.h:533
cs_param_sles_t * init_sles_param
Definition cs_param_saddle.h:540
cs_param_sles_t * xtra_sles_param
Definition cs_param_saddle.h:552
Definition cs_param_saddle.h:495
bool dedicated_init_sles
Definition cs_param_saddle.h:501
cs_param_sles_t * init_sles_param
Definition cs_param_saddle.h:508
cs_param_sles_t * xtra_sles_param
Definition cs_param_saddle.h:520
Structure storing all metadata related to the resolution of a saddle-point linear system....
Definition cs_param_saddle.h:273
int verbosity
Definition cs_param_saddle.h:280
cs_param_sles_t * schur_sles_param
Definition cs_param_saddle.h:361
char * name
Definition cs_param_saddle.h:288
cs_param_convergence_t cvg_param
Definition cs_param_saddle.h:328
cs_param_saddle_schur_approx_t schur_approx
Definition cs_param_saddle.h:354
cs_param_saddle_solver_t solver
Definition cs_param_saddle.h:312
cs_param_solver_class_t solver_class
Definition cs_param_saddle.h:303
const cs_param_sles_t * block11_sles_param
Definition cs_param_saddle.h:337
cs_param_saddle_precond_t precond
Definition cs_param_saddle.h:319
void * context
Definition cs_param_saddle.h:367
Structure storing all metadata related to the resolution of a linear system with an iterative solver.
Definition cs_param_sles.h:64