1 #ifndef __CS_SADDLE_ITSOL_H__ 2 #define __CS_SADDLE_ITSOL_H__ cs_lnum_t max_x2_size
Definition: cs_saddle_itsol.h:80
cs_real_t * m11_inv_diag
Definition: cs_saddle_itsol.h:119
cs_param_sles_t * m11_slesp
Definition: cs_saddle_itsol.h:105
cs_real_t * mass22_diag
Definition: cs_saddle_itsol.h:120
cs_matrix_t * schur_matrix
Definition: cs_saddle_itsol.h:109
void cs_saddle_minres(cs_saddle_system_t *ssys, cs_saddle_block_precond_t *sbp, cs_real_t *x1, cs_real_t *x2, cs_iter_algo_t *ia)
Apply the MINRES algorithm to a saddle point problem (the system is stored in a hybrid way)...
Definition: cs_saddle_itsol.c:1567
Definition: cs_mesh_adjacencies.h:68
const cs_range_set_t * rset
Definition: cs_saddle_itsol.h:92
cs_sles_t * m11_sles
Definition: cs_saddle_itsol.h:106
cs_lnum_t max_x1_size
Definition: cs_saddle_itsol.h:75
void cs_saddle_block_precond_free(cs_saddle_block_precond_t **p_sbp)
Free a cs_saddle_block_precond_t structure.
Definition: cs_saddle_itsol.c:1531
#define BEGIN_C_DECLS
Definition: cs_defs.h:510
cs_real_t * schur_xtra
Definition: cs_saddle_itsol.h:116
cs_matrix_t ** m11_matrices
Definition: cs_saddle_itsol.h:73
cs_real_t * rhs2
Definition: cs_saddle_itsol.h:81
cs_param_precond_block_t
Definition: cs_param_types.h:688
cs_lnum_t x1_size
Definition: cs_saddle_itsol.h:74
Structure and routines handling the SLES settings stored inside a cs_param_sles_t structure...
Definition: cs_field_pointer.h:223
double cs_real_t
Floating-point value.
Definition: cs_defs.h:322
cs_sles_t * schur_sles
Definition: cs_saddle_itsol.h:111
cs_param_sles_t * schur_slesp
Definition: cs_saddle_itsol.h:110
struct _cs_matrix_t cs_matrix_t
Definition: cs_matrix.h:93
Set of common parameters to manage an iterative algorithm.
Definition: cs_iter_algo.h:101
struct _cs_sles_t cs_sles_t
Definition: cs_sles.h:68
cs_param_schur_approx_t
Strategy to build the Schur complement approximation. This appears in block preconditioning or uzawa ...
Definition: cs_param_types.h:621
void cs_saddle_gcr(int restart, cs_saddle_system_t *ssys, cs_saddle_block_precond_t *sbp, cs_real_t *x1, cs_real_t *x2, cs_iter_algo_t *ia)
Apply the GCR algorithm to a saddle point problem (the system is stored in a hybrid way)...
Definition: cs_saddle_itsol.c:1772
Definition: cs_field_pointer.h:222
cs_real_t * schur_diag
Definition: cs_saddle_itsol.h:115
cs_saddle_block_precond_t * cs_saddle_block_precond_create(cs_param_precond_block_t block_type, cs_param_schur_approx_t schur_type, cs_param_sles_t *m11_slesp, cs_sles_t *m11_sles)
Create and initialize a cs_saddle_block_precond_t structure.
Definition: cs_saddle_itsol.c:1484
cs_adjacency_t * m21_adjacency
Definition: cs_saddle_itsol.h:87
double schur_scaling
Definition: cs_saddle_itsol.h:112
Definition: cs_saddle_itsol.h:98
void cs_matrix_vector_multiply_gs(const cs_range_set_t *rset, const cs_matrix_t *mat, cs_lnum_t vec_len, cs_real_t *vec, cs_real_t **p_matvec)
Perform a matrix-vector multiplication in case of scatter-view array as input parameter. Thus, one performs a scatter –> gather (before the multiplication) and a gather –> scatter operation after the multiplication. The output parameter matvec is not allocated. A check on the size is done for the input array.
Definition: cs_saddle_itsol.c:2017
Definition: cs_range_set.h:57
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:316
void cs_matrix_vector_multiply_gs_allocated(const cs_range_set_t *rset, const cs_matrix_t *mat, cs_real_t *vec, cs_real_t *matvec)
Perform a matrix-vector multiplication in case of scatter-view array as input parameter. Thus, one performs a scatter –> gather (before the multiplication) and a gather –> scatter operation after the multiplication. One assumes that matvec is allocated to the right size. No check is done.
Definition: cs_saddle_itsol.c:1964
#define END_C_DECLS
Definition: cs_defs.h:511
cs_real_t * rhs1
Definition: cs_saddle_itsol.h:77
cs_lnum_t x2_size
Definition: cs_saddle_itsol.h:79
cs_param_schur_approx_t schur_type
Definition: cs_saddle_itsol.h:102
int n_m11_matrices
Definition: cs_saddle_itsol.h:72
cs_param_precond_block_t block_type
Definition: cs_saddle_itsol.h:101
Structure storing all metadata related to the resolution of a linear system with an iterative solver...
Definition: cs_param_sles.h:62
cs_real_t * m21_unassembled
Definition: cs_saddle_itsol.h:83
int m21_stride
Definition: cs_saddle_itsol.h:84
Definition: cs_saddle_itsol.h:60