proteus  1.8.1
C/C++/Fortran libraries
smoothers.h
Go to the documentation of this file.
1 #ifndef SMOOTHERS_H
2 #define SMOOTHERS_H
3 
13 #include "slu_ddefs.h"
14 #include PROTEUS_LAPACK_H
15 
16 void jacobi_NR_prepare(SuperMatrix *A,
17  double w,
18  double tol,
19  double* M);
20 void jacobi_NR_solve(SuperMatrix *A,
21  double* M,
22  double* R,
23  int *node_order,
24  double* dX);
25 void nl_jacobi_NR_solve(SuperMatrix *A,
26  double* R,
27  int *node_order,
28  double w,
29  double tol,
30  double* dX);
31 void gauss_seidel_NR_prepare(SuperMatrix *A,
32  double w,
33  double tol,
34  double* M);
35 void gauss_seidel_NR_solve(SuperMatrix *A,
36  double* M,
37  double* R,
38  int *node_order,
39  double* dX);
40 void nl_gauss_seidel_NR_solve(SuperMatrix *A,
41  double* R,
42  int *node_order,
43  double w,
44  double tol,
45  double* dX);
46 int asm_NR_init(SuperMatrix *A,
47  int** subdomain_dim_p,
48  int*** l2g_L_p,
49  double*** subdomain_L_p,
50  double*** subdomain_R_p,
51  double*** subdomain_dX_p,
52  PROTEUS_LAPACK_INTEGER*** subdomain_pivots_p);
53 void asm_NR_free(int N,
54  int* subdomain_dim,
55  int** l2g_L,
56  double** subdomain_L,
57  double** subdomain_R,
58  double** subdomain_dX,
59  PROTEUS_LAPACK_INTEGER** subdomain_pivots);
60 void asm_NR_prepare(SuperMatrix *A,
61  int* subdomain_dim,
62  int** l2g_L,
63  double** subdomainL,
64  PROTEUS_LAPACK_INTEGER** subdomainPivots);
65 void asm_NR_solve(SuperMatrix *A,
66  double w,
67  double** subdomainL,
68  int* subdomain_dim,
69  int** l2g_L,
70  double* R,
71  double** subdomainR,
72  int *node_order,
73  double** subdomain_dX,
74  double* dX,
75  PROTEUS_LAPACK_INTEGER** subdomainPivots);
76 /*repeat for blocks and use full pivoting*/
77 int basm_NR_init(int rowBlocks,
78  SuperMatrix *A,
79  int** subdomain_dim_p,
80  int*** l2g_L_p,
81  double*** subdomain_L_p,
82  double*** subdomain_R_p,
83  double*** subdomain_dX_p,
84  PROTEUS_LAPACK_INTEGER*** subdomain_pivots_p,
85  PROTEUS_LAPACK_INTEGER*** subdomain_col_pivots_p);
86 
87 void basm_NR_free(int N,
88  int* subdomain_dim,
89  int** l2g_L,
90  double** subdomain_L,
91  double** subdomain_R,
92  double** subdomain_dX,
93  PROTEUS_LAPACK_INTEGER** subdomain_pivots,
94  PROTEUS_LAPACK_INTEGER** subdomain_col_pivots);
95 
96 
97 void basm_NR_prepare(int rowBlocks,
98  int N,
99  SuperMatrix *A,
100  int* subdomain_dim,
101  int** l2g_L,
102  double** subdomainL,
103  PROTEUS_LAPACK_INTEGER** subdomainPivots,
104  PROTEUS_LAPACK_INTEGER** subdomainColPivots);
105 
106 void basm_NR_solve(int rowBlocks,
107  int N,
108  SuperMatrix *A,
109  double w,
110  double** subdomainL,
111  int* subdomain_dim,
112  int** l2g_L,
113  double* R,
114  double** subdomainR,
115  int *node_order,
116  double** subdomain_dX,
117  double* dX,
118  PROTEUS_LAPACK_INTEGER** subdomainPivots,
119  PROTEUS_LAPACK_INTEGER** subdomainColPivots);
121 #endif
asm_NR_prepare
void asm_NR_prepare(SuperMatrix *A, int *subdomain_dim, int **l2g_L, double **subdomainL, PROTEUS_LAPACK_INTEGER **subdomainPivots)
Definition: smoothers.c:293
jacobi_NR_prepare
void jacobi_NR_prepare(SuperMatrix *A, double w, double tol, double *M)
Definition: smoothers.c:10
w
#define w(x)
Definition: jf.h:22
basm_NR_prepare
void basm_NR_prepare(int rowBlocks, int N, SuperMatrix *A, int *subdomain_dim, int **l2g_L, double **subdomainL, PROTEUS_LAPACK_INTEGER **subdomainPivots, PROTEUS_LAPACK_INTEGER **subdomainColPivots)
Definition: smoothers.c:602
jacobi_NR_solve
void jacobi_NR_solve(SuperMatrix *A, double *M, double *R, int *node_order, double *dX)
Definition: smoothers.c:15
gauss_seidel_NR_prepare
void gauss_seidel_NR_prepare(SuperMatrix *A, double w, double tol, double *M)
Definition: smoothers.c:71
asm_NR_free
void asm_NR_free(int N, int *subdomain_dim, int **l2g_L, double **subdomain_L, double **subdomain_R, double **subdomain_dX, PROTEUS_LAPACK_INTEGER **subdomain_pivots)
Definition: smoothers.c:268
R
Double R
Definition: Headers.h:82
basm_NR_init
int basm_NR_init(int rowBlocks, SuperMatrix *A, int **subdomain_dim_p, int ***l2g_L_p, double ***subdomain_L_p, double ***subdomain_R_p, double ***subdomain_dX_p, PROTEUS_LAPACK_INTEGER ***subdomain_pivots_p, PROTEUS_LAPACK_INTEGER ***subdomain_col_pivots_p)
Definition: smoothers.c:391
asm_NR_init
int asm_NR_init(SuperMatrix *A, int **subdomain_dim_p, int ***l2g_L_p, double ***subdomain_L_p, double ***subdomain_R_p, double ***subdomain_dX_p, PROTEUS_LAPACK_INTEGER ***subdomain_pivots_p)
Definition: smoothers.c:189
asm_NR_solve
void asm_NR_solve(SuperMatrix *A, double w, double **subdomainL, int *subdomain_dim, int **l2g_L, double *R, double **subdomainR, int *node_order, double **subdomain_dX, double *dX, PROTEUS_LAPACK_INTEGER **subdomainPivots)
Definition: smoothers.c:324
basm_NR_free
void basm_NR_free(int N, int *subdomain_dim, int **l2g_L, double **subdomain_L, double **subdomain_R, double **subdomain_dX, PROTEUS_LAPACK_INTEGER **subdomain_pivots, PROTEUS_LAPACK_INTEGER **subdomain_col_pivots)
Definition: smoothers.c:574
nl_gauss_seidel_NR_solve
void nl_gauss_seidel_NR_solve(SuperMatrix *A, double *R, int *node_order, double w, double tol, double *dX)
Definition: smoothers.c:142
nl_jacobi_NR_solve
void nl_jacobi_NR_solve(SuperMatrix *A, double *R, int *node_order, double w, double tol, double *dX)
Definition: smoothers.c:26
gauss_seidel_NR_solve
void gauss_seidel_NR_solve(SuperMatrix *A, double *M, double *R, int *node_order, double *dX)
Definition: smoothers.c:114
basm_NR_solve
void basm_NR_solve(int rowBlocks, int N, SuperMatrix *A, double w, double **subdomainL, int *subdomain_dim, int **l2g_L, double *R, double **subdomainR, int *node_order, double **subdomain_dX, double *dX, PROTEUS_LAPACK_INTEGER **subdomainPivots, PROTEUS_LAPACK_INTEGER **subdomainColPivots)
Definition: smoothers.c:668