ParMooN
 All Classes Functions Variables Friends Pages
amg_2d_prec.h
1 /****************************************************************************/
2 /* */
3 /* File: amg_2d_prec.h */
4 /* */
5 /* Purpose: header file for amg_2d_prec.c */
6 /* */
7 /* Author: Volker John */
8 /* Otto--von--Guericke Universitaet Magdeburg */
9 /* Institut fuer Analysis und Numerik */
10 /* Postfach 4120 */
11 /* 39016 Magdeburg */
12 /* email : volker.john@mathematik.uni-magdeburg.de */
13 /* */
14 /* History: 1998/02/19 start using this library for MooN_MD */
15 /* */
16 /* Remarks: 1998/02/24 ILU */
17 /* 1998/02/27 step length control */
18 /* 1998/06/03 ILUT */
19 /* */
20 /****************************************************************************/
21 int prepare_schur_complement_fixed(int *A_length,int *B_length, int depth);
22 int clear_schur_complement_fixed(int depth);
23 int schur_complement_fixed (AMG_SolverContext *sc, int k, int depth,
24  AMG_MATRIX *A[AMG_MAX_LEVELS], AMG_GRAPH *G[AMG_MAX_LEVELS],
25  AMG_MATRIX *M[AMG_MAX_LEVELS], AMG_MATRIX *B[AMG_MAX_LEVELS],
26  AMG_VECTOR *x[AMG_MAX_LEVELS],
27  AMG_VECTOR *b[AMG_MAX_LEVELS], AMG_VECTOR *d[AMG_MAX_LEVELS]);
28 int prepare_schur_complement_cg(int *A_length,int *B_length, int depth);
29 int clear_schur_complement_cg(int depth);
30 int schur_complement_cg(AMG_SolverContext *sc, int k, int depth,
31  AMG_MATRIX *A[AMG_MAX_LEVELS], AMG_GRAPH *G[AMG_MAX_LEVELS],
32  AMG_MATRIX *M[AMG_MAX_LEVELS], AMG_MATRIX *B[AMG_MAX_LEVELS],
33  AMG_VECTOR *x[AMG_MAX_LEVELS],
34  AMG_VECTOR *b[AMG_MAX_LEVELS], AMG_VECTOR *d[AMG_MAX_LEVELS]);
35 int prepare_schur_complement_gmres(AMG_SolverContext *sc,int *A_length,int *B_length, int depth);
36 int clear_schur_complement_gmres(AMG_SolverContext *sc,int depth);
37 int schur_complement_gmres(AMG_SolverContext *sc, int k, int depth,
38  AMG_MATRIX *A[AMG_MAX_LEVELS], AMG_GRAPH *G[AMG_MAX_LEVELS],
39  AMG_MATRIX *M[AMG_MAX_LEVELS], AMG_MATRIX *B[AMG_MAX_LEVELS],
40  AMG_VECTOR *x[AMG_MAX_LEVELS],
41  AMG_VECTOR *b[AMG_MAX_LEVELS], AMG_VECTOR *d[AMG_MAX_LEVELS]);
42 int prepare_schur_bcgs_solve(AMG_SolverContext *sc,int *A_length, int *B_length, int depth);
43 int schur_complement_gmres_bcgs (AMG_SolverContext *sc, int k, int depth,
44  AMG_MATRIX *A[AMG_MAX_LEVELS], AMG_GRAPH *G[AMG_MAX_LEVELS],
45  AMG_MATRIX *M[AMG_MAX_LEVELS], AMG_MATRIX *B[AMG_MAX_LEVELS],
46  AMG_VECTOR *x[AMG_MAX_LEVELS],
47  AMG_VECTOR *b[AMG_MAX_LEVELS], AMG_VECTOR *d[AMG_MAX_LEVELS]);
48 
49 int prepare_braess_sarazin_smoother(AMG_SolverContext *sc,int *A_length,int *B_length, int depth);
50 int clear_braess_sarazin_smoother(int depth);
51 int braess_sarazin_smoother (AMG_SolverContext *sc, int k, int depth,
52  AMG_MATRIX *A[AMG_MAX_LEVELS], AMG_GRAPH *G[AMG_MAX_LEVELS],
53  AMG_MATRIX *M[AMG_MAX_LEVELS], AMG_MATRIX *B[AMG_MAX_LEVELS],
54  AMG_VECTOR *x[AMG_MAX_LEVELS],
55  AMG_VECTOR *b[AMG_MAX_LEVELS], AMG_VECTOR *d[AMG_MAX_LEVELS]);
56 
57 int BuildDiagSchurComplement(AMG_SolverContext *sc,AMG_MATRIX *A, AMG_MATRIX **B);
58 int SymmetrizeSaddleProblem (AMG_SolverContext *sc,AMG_MATRIX *A,AMG_MATRIX *B[AMG_MAX_LEVELS],
59  AMG_VECTOR *b_);
60 int Build_B_Block_for_Dirichlet(AMG_SolverContext *sc,AMG_MATRIX *A,
61  AMG_MATRIX *B[AMG_MAX_LEVELS]);
62 
Definition: amg_sp.h:70
Definition: amg_coarsen.h:82
Definition: amg_sp.h:96
Definition: amg_solve.h:90