proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
smoothers.h
Go to the documentation of this file.
1#ifndef SMOOTHERS_H
2#define SMOOTHERS_H
12
13#include "slu_ddefs.h"
14#include PROTEUS_LAPACK_H
15
16void jacobi_NR_prepare(SuperMatrix *A,
17 double w,
18 double tol,
19 double* M);
20void jacobi_NR_solve(SuperMatrix *A,
21 double* M,
22 double* R,
23 int *node_order,
24 double* dX);
25void nl_jacobi_NR_solve(SuperMatrix *A,
26 double* R,
27 int *node_order,
28 double w,
29 double tol,
30 double* dX);
31void gauss_seidel_NR_prepare(SuperMatrix *A,
32 double w,
33 double tol,
34 double* M);
35void gauss_seidel_NR_solve(SuperMatrix *A,
36 double* M,
37 double* R,
38 int *node_order,
39 double* dX);
40void nl_gauss_seidel_NR_solve(SuperMatrix *A,
41 double* R,
42 int *node_order,
43 double w,
44 double tol,
45 double* dX);
46int 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);
53void 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);
60void asm_NR_prepare(SuperMatrix *A,
61 int* subdomain_dim,
62 int** l2g_L,
63 double** subdomainL,
64 PROTEUS_LAPACK_INTEGER** subdomainPivots);
65void 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*/
77int 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
87void 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
97void 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
106void 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
Double R
Definition Headers.h:82
void asm_NR_prepare(SuperMatrix *A, int *subdomain_dim, int **l2g_L, double **subdomainL, PROTEUS_LAPACK_INTEGER **subdomainPivots)
Definition smoothers.c:293
void gauss_seidel_NR_prepare(SuperMatrix *A, double w, double tol, double *M)
Definition smoothers.c:71
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
void nl_gauss_seidel_NR_solve(SuperMatrix *A, double *R, int *node_order, double w, double tol, double *dX)
Definition smoothers.c:142
void gauss_seidel_NR_solve(SuperMatrix *A, double *M, double *R, int *node_order, double *dX)
Definition smoothers.c:114
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
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
void nl_jacobi_NR_solve(SuperMatrix *A, double *R, int *node_order, double w, double tol, double *dX)
Definition smoothers.c:26
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
void jacobi_NR_prepare(SuperMatrix *A, double w, double tol, double *M)
Definition smoothers.c:10
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
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
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
void jacobi_NR_solve(SuperMatrix *A, double *M, double *R, int *node_order, double *dX)
Definition smoothers.c:15
#define w(x)
Definition jf.h:22