◆ PCMGSubMatrixCtx_private()
PCMGSubMatrixCtx_private::PCMGSubMatrixCtx_private |
( |
Mat |
a, |
|
|
IS |
is |
|
) |
| |
|
inline |
◆ ~PCMGSubMatrixCtx_private()
PCMGSubMatrixCtx_private::~PCMGSubMatrixCtx_private |
( |
| ) |
|
|
inline |
Definition at line 54 of file PCMGSetUpViaApproxOrders.cpp.
54 {
57 CHKERRABORT(PETSC_COMM_WORLD,
ierr);
58 ierr = VecDestroy(&
X);
59 CHKERRABORT(PETSC_COMM_WORLD,
ierr);
60 ierr = VecDestroy(&
F);
61 CHKERRABORT(PETSC_COMM_WORLD,
ierr);
62 }
63 }
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
◆ initData()
Definition at line 71 of file PCMGSetUpViaApproxOrders.cpp.
71 {
79 }
81 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
◆ sub_mat_mult_generic
template<InsertMode MODE>
Definition at line 88 of file PCMGSetUpViaApproxOrders.cpp.
88 {
89 void *void_ctx;
91 CHKERR MatShellGetContext(
a, &void_ctx);
95 }
97 CHKERR VecScatterBegin(ctx->
sCat, x, ctx->
X, INSERT_VALUES, SCATTER_REVERSE);
98 CHKERR VecScatterEnd(ctx->
sCat, x, ctx->
X, INSERT_VALUES, SCATTER_REVERSE);
100 CHKERR VecScatterBegin(ctx->
sCat, ctx->
F, f, MODE, SCATTER_FORWARD);
101 CHKERR VecScatterEnd(ctx->
sCat, ctx->
F, f, MODE, SCATTER_FORWARD);
104}
MoFEMErrorCode initData(Vec x)
◆ sub_mat_sor
MoFEMErrorCode sub_mat_sor |
( |
Mat |
mat, |
|
|
Vec |
b, |
|
|
PetscReal |
omega, |
|
|
MatSORType |
flag, |
|
|
PetscReal |
shift, |
|
|
PetscInt |
its, |
|
|
PetscInt |
lits, |
|
|
Vec |
x |
|
) |
| |
|
friend |
Definition at line 114 of file PCMGSetUpViaApproxOrders.cpp.
116 {
117 void *void_ctx;
119 CHKERR MatShellGetContext(mat, &void_ctx);
123 }
125 CHKERR VecScatterBegin(ctx->
sCat, b, ctx->
X, INSERT_VALUES, SCATTER_REVERSE);
126 CHKERR VecScatterEnd(ctx->
sCat, b, ctx->
X, INSERT_VALUES, SCATTER_REVERSE);
127 CHKERR MatSOR(ctx->
A, ctx->
X,
omega, flag, shift, its, lits, ctx->
F);
128 CHKERR VecScatterBegin(ctx->
sCat, ctx->
F, x, INSERT_VALUES, SCATTER_FORWARD);
129 CHKERR VecScatterEnd(ctx->
sCat, ctx->
F, x, INSERT_VALUES, SCATTER_FORWARD);
132}
◆ isInitisalised
bool PCMGSubMatrixCtx_private::isInitisalised |
◆ MOFEM_EVENT_mult
PetscLogEvent PCMGSubMatrixCtx_private::MOFEM_EVENT_mult |
◆ MOFEM_EVENT_sor
PetscLogEvent PCMGSubMatrixCtx_private::MOFEM_EVENT_sor |
The documentation for this struct was generated from the following file: