| /petsc/src/ksp/pc/impls/bddc/ |
| H A D | bddcnullspace.c | 149 Vec work1, work2; in PCBDDCNullSpaceAssembleCorrection() local 155 PetscCall(VecDuplicate(shell_ctx->fw[0], &work1)); in PCBDDCNullSpaceAssembleCorrection() 179 PetscCall(MatMult(local_mat, work2, work1)); in PCBDDCNullSpaceAssembleCorrection() 180 PetscCall(KSPSolve(check_ksp, work1, work1)); in PCBDDCNullSpaceAssembleCorrection() 181 PetscCall(KSPCheckSolve(check_ksp, pc, work1)); in PCBDDCNullSpaceAssembleCorrection() 182 PetscCall(VecAXPY(work1, -1., work2)); in PCBDDCNullSpaceAssembleCorrection() 183 PetscCall(VecNorm(work1, NORM_INFINITY, &test_err)); in PCBDDCNullSpaceAssembleCorrection() 199 PetscCall(MatMult(local_mat, work2, work1)); in PCBDDCNullSpaceAssembleCorrection() 209 PetscCall(KSPSolve(check_ksp, work1, work1)); in PCBDDCNullSpaceAssembleCorrection() 210 PetscCall(KSPCheckSolve(check_ksp, pc, work1)); in PCBDDCNullSpaceAssembleCorrection() [all …]
|
| /petsc/src/ksp/pc/impls/composite/ |
| H A D | composite.c | 17 Vec work1; member 40 PetscCall(VecDuplicate(jac->work1, &jac->work2)); in PCApply_Composite_Multiplicative() 46 PetscCall(MatMult(mat, y, jac->work1)); /* work1 <- A y */ in PCApply_Composite_Multiplicative() 47 PetscCall(VecWAXPY(jac->work2, -1.0, jac->work1, x)); /* work2 <- x - work1 */ in PCApply_Composite_Multiplicative() 48 PetscCall(PCApply(next->pc, jac->work2, jac->work1)); /* work1 <- C work2 */ in PCApply_Composite_Multiplicative() 49 …PetscCall(VecAXPY(y, 1.0, jac->work1)); /* y <- y + work1 = B x + C (x - A B x) = (B… in PCApply_Composite_Multiplicative() 54 PetscCall(MatMult(mat, y, jac->work1)); in PCApply_Composite_Multiplicative() 55 PetscCall(VecWAXPY(jac->work2, -1.0, jac->work1, x)); in PCApply_Composite_Multiplicative() 56 PetscCall(PCApply(next->pc, jac->work2, jac->work1)); in PCApply_Composite_Multiplicative() 57 PetscCall(VecAXPY(y, 1.0, jac->work1)); in PCApply_Composite_Multiplicative() [all …]
|
| /petsc/src/mat/impls/lrc/ |
| H A D | lrc.c | 9 Vec work1, work2; /* sequential vectors that hold partial products */ member 24 PetscCall(MatMultHermitianTranspose(V, x, Na->work1)); in MatMult_LRC_kernel() 25 if (Na->c) PetscCall(VecPointwiseMult(Na->work1, Na->c, Na->work1)); in MatMult_LRC_kernel() 32 PetscCall(MatMultAdd(U, Na->work1, y, y)); in MatMult_LRC_kernel() 34 PetscCall(MatMult(U, Na->work1, y)); in MatMult_LRC_kernel() 51 PetscCall(MatMultHermitianTranspose(Vloc, xl, Na->work1)); in MatMult_LRC_kernel() 56 PetscCall(VecGetArrayRead(Na->work1, &w1)); in MatMult_LRC_kernel() 58 PetscCall(VecGetLocalSize(Na->work1, &nwork)); in MatMult_LRC_kernel() 60 PetscCall(VecRestoreArrayRead(Na->work1, &w1)); in MatMult_LRC_kernel() 109 PetscCall(VecDestroy(&Na->work1)); in MatDestroy_LRC() [all …]
|
| /petsc/src/ksp/ksp/utils/schurm/ |
| H A D | schurm.c | 53 if (!Na->work1) PetscCall(MatCreateVecs(Na->A, &Na->work1, NULL)); in MatMultTranspose_SchurComplement() 55 PetscCall(MatMultTranspose(Na->C, x, Na->work1)); in MatMultTranspose_SchurComplement() 56 PetscCall(KSPSolveTranspose(Na->ksp, Na->work1, Na->work2)); in MatMultTranspose_SchurComplement() 71 if (!Na->work1) PetscCall(MatCreateVecs(Na->A, &Na->work1, NULL)); in MatMult_SchurComplement() 73 PetscCall(MatMult(Na->B, x, Na->work1)); in MatMult_SchurComplement() 74 PetscCall(KSPSolve(Na->ksp, Na->work1, Na->work2)); in MatMult_SchurComplement() 89 if (!Na->work1) PetscCall(MatCreateVecs(Na->A, &Na->work1, NULL)); in MatMultAdd_SchurComplement() 91 PetscCall(MatMult(Na->B, x, Na->work1)); in MatMultAdd_SchurComplement() 92 PetscCall(KSPSolve(Na->ksp, Na->work1, Na->work2)); in MatMultAdd_SchurComplement() 128 PetscCall(VecDestroy(&Na->work1)); in MatDestroy_SchurComplement() [all …]
|
| H A D | schurm.h | 10 Vec work1, work2; member
|
| /petsc/src/snes/interface/ |
| H A D | snesut.c | 145 Vec snes_solution, work1, work2; in KSPMonitorSNESResidual() local 153 PetscCall(VecDuplicate(snes_solution, &work1)); in KSPMonitorSNESResidual() 155 PetscCall(KSPBuildSolution(ksp, work1, NULL)); in KSPMonitorSNESResidual() 156 PetscCall(VecAYPX(work1, -1.0, snes_solution)); in KSPMonitorSNESResidual() 157 PetscCall(SNESComputeFunction(snes, work1, work2)); in KSPMonitorSNESResidual() 159 PetscCall(VecDestroy(&work1)); in KSPMonitorSNESResidual() 201 Vec snes_solution, work1, work2; in KSPMonitorSNESResidualDrawLG() local 210 PetscCall(VecDuplicate(snes_solution, &work1)); in KSPMonitorSNESResidualDrawLG() 212 PetscCall(KSPBuildSolution(ksp, work1, NULL)); in KSPMonitorSNESResidualDrawLG() 213 PetscCall(VecAYPX(work1, -1.0, snes_solution)); in KSPMonitorSNESResidualDrawLG() [all …]
|
| /petsc/src/ksp/pc/impls/fieldsplit/ |
| H A D | fieldsplit.c | 1864 Vec u, v, Hu, d, work1, work2; in PCApply_FieldSplit_GKB() local 1879 work1 = jac->w1; in PCApply_FieldSplit_GKB() 1900 PetscCall(MatMultHermitianTranspose(jac->B, ilinkA->y, work1)); in PCApply_FieldSplit_GKB() 1901 PetscCall(VecAXPBY(work1, 1.0 / nu, -1.0, ilinkD->x)); /* c = b - B'*x */ in PCApply_FieldSplit_GKB() 1904 PetscCall(VecNorm(work1, NORM_2, &beta)); /* beta = sqrt(nu*c'*c)*/ in PCApply_FieldSplit_GKB() 1907 PetscCall(VecAXPBY(v, nu / beta, 0.0, work1)); /* v = nu/beta *c */ in PCApply_FieldSplit_GKB() 1935 PetscCall(MatMultHermitianTranspose(jac->B, u, work1)); /* v <- nu*(B'*u-alpha/nu*v) */ in PCApply_FieldSplit_GKB() 1936 PetscCall(VecAXPBY(v, nu, -alpha, work1)); in PCApply_FieldSplit_GKB()
|