Lines Matching refs:corr_ctx
8 NullSpaceCorrection_ctx corr_ctx = (NullSpaceCorrection_ctx)ctx; in PCBDDCNullSpaceCorrPreSolve() local
12 PetscCall(PetscLogEventBegin(corr_ctx->evapply, ksp, 0, 0, 0)); in PCBDDCNullSpaceCorrPreSolve()
13 PetscCall(MatMultTranspose(corr_ctx->basis_mat, y, corr_ctx->sw[0])); in PCBDDCNullSpaceCorrPreSolve()
14 if (corr_ctx->symm) { in PCBDDCNullSpaceCorrPreSolve()
15 PetscCall(MatMult(corr_ctx->inv_smat, corr_ctx->sw[0], corr_ctx->sw[1])); in PCBDDCNullSpaceCorrPreSolve()
17 PetscCall(MatMultTranspose(corr_ctx->inv_smat, corr_ctx->sw[0], corr_ctx->sw[1])); in PCBDDCNullSpaceCorrPreSolve()
19 PetscCall(VecScale(corr_ctx->sw[1], -1.0)); in PCBDDCNullSpaceCorrPreSolve()
20 PetscCall(MatMult(corr_ctx->basis_mat, corr_ctx->sw[1], corr_ctx->fw[0])); in PCBDDCNullSpaceCorrPreSolve()
21 PetscCall(VecScale(corr_ctx->sw[1], -1.0)); in PCBDDCNullSpaceCorrPreSolve()
23 PetscCall(MatMultAdd(K, corr_ctx->fw[0], y, y)); in PCBDDCNullSpaceCorrPreSolve()
24 PetscCall(PetscLogEventEnd(corr_ctx->evapply, ksp, 0, 0, 0)); in PCBDDCNullSpaceCorrPreSolve()
31 NullSpaceCorrection_ctx corr_ctx = (NullSpaceCorrection_ctx)ctx; in PCBDDCNullSpaceCorrPostSolve() local
35 PetscCall(PetscLogEventBegin(corr_ctx->evapply, ksp, 0, 0, 0)); in PCBDDCNullSpaceCorrPostSolve()
37 if (corr_ctx->symm) { in PCBDDCNullSpaceCorrPostSolve()
38 PetscCall(MatMult(K, x, corr_ctx->fw[0])); in PCBDDCNullSpaceCorrPostSolve()
40 PetscCall(MatMultTranspose(K, x, corr_ctx->fw[0])); in PCBDDCNullSpaceCorrPostSolve()
42 PetscCall(MatMultTranspose(corr_ctx->basis_mat, corr_ctx->fw[0], corr_ctx->sw[0])); in PCBDDCNullSpaceCorrPostSolve()
43 PetscCall(VecScale(corr_ctx->sw[0], -1.0)); in PCBDDCNullSpaceCorrPostSolve()
44 PetscCall(MatMult(corr_ctx->inv_smat, corr_ctx->sw[0], corr_ctx->sw[2])); in PCBDDCNullSpaceCorrPostSolve()
45 PetscCall(MatMultAdd(corr_ctx->basis_mat, corr_ctx->sw[2], x, corr_ctx->fw[0])); in PCBDDCNullSpaceCorrPostSolve()
46 PetscCall(VecScale(corr_ctx->fw[0], corr_ctx->scale)); in PCBDDCNullSpaceCorrPostSolve()
48 PetscCall(MatMultAdd(corr_ctx->basis_mat, corr_ctx->sw[1], corr_ctx->fw[0], x)); in PCBDDCNullSpaceCorrPostSolve()
49 PetscCall(PetscLogEventEnd(corr_ctx->evapply, ksp, 0, 0, 0)); in PCBDDCNullSpaceCorrPostSolve()
55 NullSpaceCorrection_ctx corr_ctx = *(NullSpaceCorrection_ctx *)ctx; in PCBDDCNullSpaceCorrDestroy() local
58 PetscCall(VecDestroyVecs(3, &corr_ctx->sw)); in PCBDDCNullSpaceCorrDestroy()
59 PetscCall(VecDestroyVecs(1, &corr_ctx->fw)); in PCBDDCNullSpaceCorrDestroy()
60 PetscCall(MatDestroy(&corr_ctx->basis_mat)); in PCBDDCNullSpaceCorrDestroy()
61 PetscCall(MatDestroy(&corr_ctx->inv_smat)); in PCBDDCNullSpaceCorrDestroy()
62 PetscCall(PetscFree(corr_ctx)); in PCBDDCNullSpaceCorrDestroy()