| /petsc/src/ksp/pc/impls/factor/ |
| H A D | factor.c | 7 PetscErrorCode PCFactorSetDefaultOrdering_Factor(PC pc) in PCFactorSetDefaultOrdering_Factor() argument 13 if (pc->pmat) { in PCFactorSetDefaultOrdering_Factor() 14 PetscCall(PCGetOptionsPrefix(pc, &prefix)); in PCFactorSetDefaultOrdering_Factor() 15 PetscCall(MatSetOptionsPrefixFactor(pc->pmat, prefix)); in PCFactorSetDefaultOrdering_Factor() 16 PC_Factor *fact = (PC_Factor *)pc->data; in PCFactorSetDefaultOrdering_Factor() 17 …PetscCall(MatSolverTypeGet(fact->solvertype, ((PetscObject)pc->pmat)->type_name, fact->factortype,… in PCFactorSetDefaultOrdering_Factor() 22 PetscCall(MatGetFactor(pc->pmat, fact->solvertype, fact->factortype, &fact->fact)); in PCFactorSetDefaultOrdering_Factor() 30 PetscCall(MatGetFactor(pc->pmat, fact->solvertype, fact->factortype, &B)); in PCFactorSetDefaultOrdering_Factor() 49 static PetscErrorCode PCFactorSetReuseOrdering_Factor(PC pc, PetscBool flag) in PCFactorSetReuseOrdering_Factor() argument 51 PC_Factor *lu = (PC_Factor *)pc->data; in PCFactorSetReuseOrdering_Factor() [all …]
|
| /petsc/src/ksp/pc/interface/ |
| H A D | precon.c | 14 PETSC_INTERN PetscErrorCode PCGetDefaultType_Private(PC pc, const char *type[]) in PCGetDefaultType_Private() argument 20 PetscCallMPI(MPI_Comm_size(PetscObjectComm((PetscObject)pc), &size)); in PCGetDefaultType_Private() 21 if (pc->pmat) { in PCGetDefaultType_Private() 22 PetscCall(MatHasOperation(pc->pmat, MATOP_GET_DIAGONAL_BLOCK, &hasopblock)); in PCGetDefaultType_Private() 23 PetscCall(MatHasOperation(pc->pmat, MATOP_SOLVE, &hasopsolve)); in PCGetDefaultType_Private() 25 PetscCall(MatGetFactorAvailable(pc->pmat, "petsc", MAT_FACTOR_ICC, &flg1)); in PCGetDefaultType_Private() 26 PetscCall(MatGetFactorAvailable(pc->pmat, "petsc", MAT_FACTOR_ILU, &flg2)); in PCGetDefaultType_Private() 27 PetscCall(MatIsSymmetricKnown(pc->pmat, &set, &flg3)); in PCGetDefaultType_Private() 28 …PetscCall(PetscObjectTypeCompareAny((PetscObject)pc->pmat, &isnormal, MATNORMAL, MATNORMALHERMITIA… in PCGetDefaultType_Private() 99 PetscErrorCode PCReset(PC pc) in PCReset() argument [all …]
|
| H A D | pcset.c | 46 PetscErrorCode PCSetType(PC pc, PCType type) in PCSetType() argument 52 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCSetType() 55 PetscCall(PetscObjectTypeCompare((PetscObject)pc, type, &match)); in PCSetType() 59 …PetscCheck(r, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_UNKNOWN_TYPE, "Unable to find reques… in PCSetType() 61 PetscTryTypeMethod(pc, destroy); in PCSetType() 63 PetscCall(PetscFunctionListDestroy(&((PetscObject)pc)->qlist)); in PCSetType() 65 PetscCall(PetscMemzero(pc->ops, sizeof(struct _PCOps))); in PCSetType() 67 pc->modifysubmatrices = NULL; in PCSetType() 68 pc->modifysubmatricesP = NULL; in PCSetType() 70 pc->setupcalled = PETSC_FALSE; in PCSetType() [all …]
|
| /petsc/src/ksp/pc/impls/shell/ftn-custom/ |
| H A D | zshellpcf.c | 32 static PetscErrorCode ourshellapply(PC pc, Vec x, Vec y) in ourshellapply() argument 34 …d (*)(PC *, Vec *, Vec *, PetscErrorCode *))(((PetscObject)pc)->fortran_func_pointers[0]))(&pc, &x… in ourshellapply() 38 static PetscErrorCode ourshellapplysymmetricleft(PC pc, Vec x, Vec y) in ourshellapplysymmetricleft() argument 40 …d (*)(PC *, Vec *, Vec *, PetscErrorCode *))(((PetscObject)pc)->fortran_func_pointers[9]))(&pc, &x… in ourshellapplysymmetricleft() 44 static PetscErrorCode ourshellapplysymmetricright(PC pc, Vec x, Vec y) in ourshellapplysymmetricright() argument 46 … (*)(PC *, Vec *, Vec *, PetscErrorCode *))(((PetscObject)pc)->fortran_func_pointers[10]))(&pc, &x… in ourshellapplysymmetricright() 50 static PetscErrorCode ourshellapplyctx(PC pc, Vec x, Vec y) in ourshellapplyctx() argument 53 PetscCall(PCShellGetContext(pc, &ctx)); in ourshellapplyctx() 54 … *, void *, Vec *, Vec *, PetscErrorCode *))(((PetscObject)pc)->fortran_func_pointers[0]))(&pc, ct… in ourshellapplyctx() 58 static PetscErrorCode ourshellapplyba(PC pc, PCSide side, Vec x, Vec y, Vec work) in ourshellapplyba() argument [all …]
|
| /petsc/src/ksp/pc/impls/shell/ |
| H A D | shellpc.c | 52 PetscErrorCode PCShellGetContext(PC pc, PetscCtxRt ctx) in PCShellGetContext() argument 57 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCShellGetContext() 59 PetscCall(PetscObjectTypeCompare((PetscObject)pc, PCSHELL, &flg)); in PCShellGetContext() 61 else *(void **)ctx = ((PC_Shell *)pc->data)->ctx; in PCShellGetContext() 87 PetscErrorCode PCShellSetContext(PC pc, PetscCtx ctx) in PCShellSetContext() argument 89 PC_Shell *shell = (PC_Shell *)pc->data; in PCShellSetContext() 93 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCShellSetContext() 94 PetscCall(PetscObjectTypeCompare((PetscObject)pc, PCSHELL, &flg)); in PCShellSetContext() 99 static PetscErrorCode PCSetUp_Shell(PC pc) in PCSetUp_Shell() argument 101 PC_Shell *shell = (PC_Shell *)pc->data; in PCSetUp_Shell() [all …]
|
| /petsc/src/ksp/pc/impls/composite/ |
| H A D | composite.c | 9 PC pc; member 23 static PetscErrorCode PCApply_Composite_Multiplicative(PC pc, Vec x, Vec y) in PCApply_Composite_Multiplicative() argument 25 PC_Composite *jac = (PC_Composite *)pc->data; in PCApply_Composite_Multiplicative() 27 Mat mat = pc->pmat; in PCApply_Composite_Multiplicative() 30 …PetscCheck(next, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "No composite precond… in PCApply_Composite_Multiplicative() 34 PetscCall(PCSetReusePreconditioner(next->pc, pc->reusepreconditioner)); in PCApply_Composite_Multiplicative() 42 if (pc->useAmat) mat = pc->mat; in PCApply_Composite_Multiplicative() 43 PetscCall(PCApply(next->pc, x, y)); /* y <- B x */ in PCApply_Composite_Multiplicative() 48 PetscCall(PCApply(next->pc, jac->work2, jac->work1)); /* work1 <- C work2 */ in PCApply_Composite_Multiplicative() 56 PetscCall(PCApply(next->pc, jac->work2, jac->work1)); in PCApply_Composite_Multiplicative() [all …]
|
| /petsc/src/ksp/pc/impls/jacobi/ |
| H A D | jacobi.c | 68 static PetscErrorCode PCJacobiSetType_Jacobi(PC pc, PCJacobiType type) in PCJacobiSetType_Jacobi() argument 70 PC_Jacobi *j = (PC_Jacobi *)pc->data; in PCJacobiSetType_Jacobi() 74 PetscCall(PCJacobiGetType(pc, &old_type)); in PCJacobiSetType_Jacobi() 76 PetscCall(PCReset_Jacobi(pc)); in PCJacobiSetType_Jacobi() 81 static PetscErrorCode PCJacobiGetUseAbs_Jacobi(PC pc, PetscBool *flg) in PCJacobiGetUseAbs_Jacobi() argument 83 PC_Jacobi *j = (PC_Jacobi *)pc->data; in PCJacobiGetUseAbs_Jacobi() 90 static PetscErrorCode PCJacobiSetUseAbs_Jacobi(PC pc, PetscBool flg) in PCJacobiSetUseAbs_Jacobi() argument 92 PC_Jacobi *j = (PC_Jacobi *)pc->data; in PCJacobiSetUseAbs_Jacobi() 99 static PetscErrorCode PCJacobiGetType_Jacobi(PC pc, PCJacobiType *type) in PCJacobiGetType_Jacobi() argument 101 PC_Jacobi *j = (PC_Jacobi *)pc->data; in PCJacobiGetType_Jacobi() [all …]
|
| /petsc/src/ksp/pc/impls/eisens/ |
| H A D | eisen.c | 18 PC pc; in PCMult_Eisenstat() local 22 PetscCall(MatShellGetContext(mat, &pc)); in PCMult_Eisenstat() 23 eis = (PC_Eisenstat *)pc->data; in PCMult_Eisenstat() 25 PetscCall(MatFactorGetError(eis->A, (MatFactorError *)&pc->failedreason)); in PCMult_Eisenstat() 31 PC pc; in PCNorm_Eisenstat() local 35 PetscCall(MatShellGetContext(mat, &pc)); in PCNorm_Eisenstat() 36 eis = (PC_Eisenstat *)pc->data; in PCNorm_Eisenstat() 41 static PetscErrorCode PCApply_Eisenstat(PC pc, Vec x, Vec y) in PCApply_Eisenstat() argument 43 PC_Eisenstat *eis = (PC_Eisenstat *)pc->data; in PCApply_Eisenstat() 48 PetscCall(MatHasOperation(pc->pmat, MATOP_MULT_DIAGONAL_BLOCK, &hasop)); in PCApply_Eisenstat() [all …]
|
| /petsc/src/ksp/pc/impls/sor/ |
| H A D | sor.c | 14 static PetscErrorCode PCDestroy_SOR(PC pc) in PCDestroy_SOR() argument 17 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORSetSymmetric_C", NULL)); in PCDestroy_SOR() 18 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORSetOmega_C", NULL)); in PCDestroy_SOR() 19 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORSetIterations_C", NULL)); in PCDestroy_SOR() 20 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORGetSymmetric_C", NULL)); in PCDestroy_SOR() 21 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORGetOmega_C", NULL)); in PCDestroy_SOR() 22 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORGetIterations_C", NULL)); in PCDestroy_SOR() 23 PetscCall(PetscFree(pc->data)); in PCDestroy_SOR() 27 static PetscErrorCode PCApply_SOR(PC pc, Vec x, Vec y) in PCApply_SOR() argument 29 PC_SOR *jac = (PC_SOR *)pc->data; in PCApply_SOR() [all …]
|
| /petsc/src/ksp/pc/impls/factor/cholesky/ |
| H A D | cholesky.c | 13 static PetscErrorCode PCSetFromOptions_Cholesky(PC pc, PetscOptionItems PetscOptionsObject) in PCSetFromOptions_Cholesky() argument 17 PetscCall(PCSetFromOptions_Factor(pc, PetscOptionsObject)); in PCSetFromOptions_Cholesky() 22 static PetscErrorCode PCSetUp_Cholesky(PC pc) in PCSetUp_Cholesky() argument 25 PC_Cholesky *dir = (PC_Cholesky *)pc->data; in PCSetUp_Cholesky() 31 pc->failedreason = PC_NOERROR; in PCSetUp_Cholesky() 32 if (dir->hdr.reusefill && pc->setupcalled) ((PC_Factor *)dir)->info.fill = dir->hdr.actualfill; in PCSetUp_Cholesky() 34 PetscCall(PCGetOptionsPrefix(pc, &prefix)); in PCSetUp_Cholesky() 35 PetscCall(MatSetOptionsPrefixFactor(pc->pmat, prefix)); in PCSetUp_Cholesky() 37 PetscCall(MatSetErrorIfFailure(pc->pmat, pc->erroriffailure)); in PCSetUp_Cholesky() 41 PetscCall(MatGetFactorType(pc->pmat, &ftype)); in PCSetUp_Cholesky() [all …]
|
| /petsc/src/ksp/pc/impls/mat/ |
| H A D | pcmat.c | 18 static PetscErrorCode PCApply_Mat(PC pc, Vec x, Vec y) in PCApply_Mat() argument 20 PC_Mat *pcmat = (PC_Mat *)pc->data; in PCApply_Mat() 25 PetscCall(MatMult(pc->pmat, x, y)); in PCApply_Mat() 28 PetscCall(MatMultTranspose(pc->pmat, x, y)); in PCApply_Mat() 31 PetscCall(MatSolve(pc->pmat, x, y)); in PCApply_Mat() 34 PetscCall(MatSolveTranspose(pc->pmat, x, y)); in PCApply_Mat() 37 PetscCall(MatMultHermitianTranspose(pc->pmat, x, y)); in PCApply_Mat() 40 …SETERRQ(PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_INCOMP, "Unsupported %s case", PCMatOpType… in PCApply_Mat() 45 static PetscErrorCode PCSetUp_Mat(PC pc) in PCSetUp_Mat() argument 47 PC_Mat *pcmat = (PC_Mat *)pc->data; in PCSetUp_Mat() [all …]
|
| /petsc/src/binding/petsc4py/test/ |
| H A D | test_pc_py.py | 11 def setup(self, pc): argument 14 def reset(self, pc): argument 17 def apply(self, pc, x, y): argument 20 def applyT(self, pc, x, y): argument 21 self.apply(pc, x, y) 23 def applyS(self, pc, x, y): argument 24 self.apply(pc, x, y) 26 def applySL(self, pc, x, y): argument 27 self.applyS(pc, x, y) 29 def applySR(self, pc, x, y): argument [all …]
|
| /petsc/src/ksp/pc/impls/galerkin/ |
| H A D | galerkin.c | 15 static PetscErrorCode PCApply_Galerkin(PC pc, Vec x, Vec y) in PCApply_Galerkin() argument 17 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCApply_Galerkin() 26 PetscCall(KSPCheckSolve(jac->ksp, pc, jac->x)); in PCApply_Galerkin() 35 static PetscErrorCode PCSetUp_Galerkin(PC pc) in PCSetUp_Galerkin() argument 37 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCSetUp_Galerkin() 44 if (!pc->setupcalled) { in PCSetUp_Galerkin() 45 PetscCall((*jac->computeasub)(pc, pc->pmat, NULL, &Ap, jac->computeasub_ctx)); in PCSetUp_Galerkin() 50 PetscCall((*jac->computeasub)(pc, pc->pmat, Ap, NULL, jac->computeasub_ctx)); in PCSetUp_Galerkin() 56 …PetscCheck(a, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "Must set operator of PC… in PCSetUp_Galerkin() 63 …PetscCheck(jac->R || jac->P, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "Must set… in PCSetUp_Galerkin() [all …]
|
| /petsc/src/ksp/pc/impls/ksp/ |
| H A D | pcksp.c | 10 static PetscErrorCode PCKSPCreateKSP_KSP(PC pc) in PCKSPCreateKSP_KSP() argument 13 PC_KSP *jac = (PC_KSP *)pc->data; in PCKSPCreateKSP_KSP() 17 PetscCall(KSPCreate(PetscObjectComm((PetscObject)pc), &jac->ksp)); in PCKSPCreateKSP_KSP() 18 PetscCall(KSPSetNestLevel(jac->ksp, pc->kspnestlevel)); in PCKSPCreateKSP_KSP() 19 PetscCall(KSPSetErrorIfNotConverged(jac->ksp, pc->erroriffailure)); in PCKSPCreateKSP_KSP() 20 PetscCall(PetscObjectIncrementTabLevel((PetscObject)jac->ksp, (PetscObject)pc, 1)); in PCKSPCreateKSP_KSP() 21 PetscCall(PCGetOptionsPrefix(pc, &prefix)); in PCKSPCreateKSP_KSP() 24 PetscCall(PCGetDM(pc, &dm)); in PCKSPCreateKSP_KSP() 32 static PetscErrorCode PCApply_KSP(PC pc, Vec x, Vec y) in PCApply_KSP() argument 35 PC_KSP *jac = (PC_KSP *)pc->data; in PCApply_KSP() [all …]
|
| /petsc/src/ksp/pc/impls/factor/icc/ |
| H A D | icc.c | 3 static PetscErrorCode PCSetUp_ICC(PC pc) in PCSetUp_ICC() argument 5 PC_ICC *icc = (PC_ICC *)pc->data; in PCSetUp_ICC() 14 pc->failedreason = PC_NOERROR; in PCSetUp_ICC() 16 PetscCall(PCGetOptionsPrefix(pc, &prefix)); in PCSetUp_ICC() 17 PetscCall(MatSetOptionsPrefixFactor(pc->pmat, prefix)); in PCSetUp_ICC() 19 PetscCall(MatSetErrorIfFailure(pc->pmat, pc->erroriffailure)); in PCSetUp_ICC() 20 if (!pc->setupcalled) { in PCSetUp_ICC() 21 PetscCall(PCFactorSetUpMatSolverType(pc)); in PCSetUp_ICC() 24 PetscCall(PCFactorSetDefaultOrdering_Factor(pc)); in PCSetUp_ICC() 25 PetscCall(MatGetOrdering(pc->pmat, ((PC_Factor *)icc)->ordering, &perm, &cperm)); in PCSetUp_ICC() [all …]
|
| /petsc/src/ksp/pc/impls/factor/qr/ |
| H A D | qr.c | 8 static PetscErrorCode PCSetUp_QR(PC pc) in PCSetUp_QR() argument 10 PC_QR *dir = (PC_QR *)pc->data; in PCSetUp_QR() 16 PetscCall(PCGetOptionsPrefix(pc, &prefix)); in PCSetUp_QR() 17 PetscCall(MatSetOptionsPrefix(pc->pmat, prefix)); in PCSetUp_QR() 18 pc->failedreason = PC_NOERROR; in PCSetUp_QR() 19 if (dir->hdr.reusefill && pc->setupcalled) ((PC_Factor *)dir)->info.fill = dir->hdr.actualfill; in PCSetUp_QR() 21 PetscCall(MatSetErrorIfFailure(pc->pmat, pc->erroriffailure)); in PCSetUp_QR() 25 PetscCall(MatGetFactorType(pc->pmat, &ftype)); in PCSetUp_QR() 27 PetscCall(MatQRFactor(pc->pmat, dir->col, &((PC_Factor *)dir)->info)); in PCSetUp_QR() 28 PetscCall(MatFactorGetError(pc->pmat, &err)); in PCSetUp_QR() [all …]
|
| /petsc/src/ksp/pc/impls/factor/lu/ |
| H A D | lu.c | 9 static PetscErrorCode PCFactorReorderForNonzeroDiagonal_LU(PC pc, PetscReal z) in PCFactorReorderForNonzeroDiagonal_LU() argument 11 PC_LU *lu = (PC_LU *)pc->data; in PCFactorReorderForNonzeroDiagonal_LU() 20 static PetscErrorCode PCSetFromOptions_LU(PC pc, PetscOptionItems PetscOptionsObject) in PCSetFromOptions_LU() argument 22 PC_LU *lu = (PC_LU *)pc->data; in PCSetFromOptions_LU() 28 PetscCall(PCSetFromOptions_Factor(pc, PetscOptionsObject)); in PCSetFromOptions_LU() 34 PetscCall(PCFactorReorderForNonzeroDiagonal(pc, tol)); in PCSetFromOptions_LU() 40 static PetscErrorCode PCSetUp_LU(PC pc) in PCSetUp_LU() argument 42 PC_LU *dir = (PC_LU *)pc->data; in PCSetUp_LU() 48 pc->failedreason = PC_NOERROR; in PCSetUp_LU() 49 if (dir->hdr.reusefill && pc->setupcalled) ((PC_Factor *)dir)->info.fill = dir->hdr.actualfill; in PCSetUp_LU() [all …]
|
| /petsc/src/ksp/pc/impls/factor/ilu/ |
| H A D | ilu.c | 6 static PetscErrorCode PCFactorReorderForNonzeroDiagonal_ILU(PC pc, PetscReal z) in PCFactorReorderForNonzeroDiagonal_ILU() argument 8 PC_ILU *ilu = (PC_ILU *)pc->data; in PCFactorReorderForNonzeroDiagonal_ILU() 17 static PetscErrorCode PCReset_ILU(PC pc) in PCReset_ILU() argument 19 PC_ILU *ilu = (PC_ILU *)pc->data; in PCReset_ILU() 28 static PetscErrorCode PCFactorSetDropTolerance_ILU(PC pc, PetscReal dt, PetscReal dtcol, PetscInt d… in PCFactorSetDropTolerance_ILU() argument 30 PC_ILU *ilu = (PC_ILU *)pc->data; in PCFactorSetDropTolerance_ILU() 33 …pc->setupcalled || !(((PC_Factor *)ilu)->info.dt != dt || ((PC_Factor *)ilu)->info.dtcol != dtcol … in PCFactorSetDropTolerance_ILU() 41 static PetscErrorCode PCSetFromOptions_ILU(PC pc, PetscOptionItems PetscOptionsObject) in PCSetFromOptions_ILU() argument 45 PC_ILU *ilu = (PC_ILU *)pc->data; in PCSetFromOptions_ILU() 50 PetscCall(PCSetFromOptions_Factor(pc, PetscOptionsObject)); in PCSetFromOptions_ILU() [all …]
|
| /petsc/src/ksp/pc/impls/lmvm/ |
| H A D | lmvmpc.c | 34 PetscErrorCode PCLMVMSetUpdateVec(PC pc, Vec X) in PCLMVMSetUpdateVec() argument 40 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCLMVMSetUpdateVec() 42 PetscCall(PetscObjectTypeCompare((PetscObject)pc, PCLMVM, &same)); in PCLMVMSetUpdateVec() 44 ctx = (PC_LMVM *)pc->data; in PCLMVMSetUpdateVec() 63 PetscErrorCode PCLMVMSetMatLMVM(PC pc, Mat B) in PCLMVMSetMatLMVM() argument 69 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCLMVMSetMatLMVM() 71 PetscCall(PetscObjectTypeCompare((PetscObject)pc, PCLMVM, &same)); in PCLMVMSetMatLMVM() 74 …PetscCheck(same, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONG, "Matrix must be an MATLMVM… in PCLMVMSetMatLMVM() 75 ctx = (PC_LMVM *)pc->data; in PCLMVMSetMatLMVM() 95 PetscErrorCode PCLMVMGetMatLMVM(PC pc, Mat *B) in PCLMVMGetMatLMVM() argument [all …]
|
| /petsc/src/ksp/pc/impls/deflation/ |
| H A D | deflation.c | 5 static PetscErrorCode PCDeflationSetInitOnly_Deflation(PC pc, PetscBool flg) in PCDeflationSetInitOnly_Deflation() argument 7 PC_Deflation *def = (PC_Deflation *)pc->data; in PCDeflationSetInitOnly_Deflation() 32 PetscErrorCode PCDeflationSetInitOnly(PC pc, PetscBool flg) in PCDeflationSetInitOnly() argument 35 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCDeflationSetInitOnly() 36 PetscValidLogicalCollectiveBool(pc, flg, 2); in PCDeflationSetInitOnly() 37 PetscTryMethod(pc, "PCDeflationSetInitOnly_C", (PC, PetscBool), (pc, flg)); in PCDeflationSetInitOnly() 41 static PetscErrorCode PCDeflationSetLevels_Deflation(PC pc, PetscInt current, PetscInt max) in PCDeflationSetLevels_Deflation() argument 43 PC_Deflation *def = (PC_Deflation *)pc->data; in PCDeflationSetLevels_Deflation() 67 PetscErrorCode PCDeflationSetLevels(PC pc, PetscInt max) in PCDeflationSetLevels() argument 70 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCDeflationSetLevels() [all …]
|
| /petsc/src/ksp/pc/impls/redundant/ |
| H A D | redundant.c | 9 PC pc; /* actual preconditioner used on each processor */ member 21 static PetscErrorCode PCFactorSetShiftType_Redundant(PC pc, MatFactorShiftType shifttype) in PCFactorSetShiftType_Redundant() argument 23 PC_Redundant *red = (PC_Redundant *)pc->data; in PCFactorSetShiftType_Redundant() 27 PC pc; in PCFactorSetShiftType_Redundant() local 28 PetscCall(KSPGetPC(red->ksp, &pc)); in PCFactorSetShiftType_Redundant() 29 PetscCall(PCFactorSetShiftType(pc, shifttype)); in PCFactorSetShiftType_Redundant() 37 static PetscErrorCode PCView_Redundant(PC pc, PetscViewer viewer) in PCView_Redundant() argument 39 PC_Redundant *red = (PC_Redundant *)pc->data; in PCView_Redundant() 51 PetscCall(PetscViewerGetSubViewer(viewer, ((PetscObject)red->pc)->comm, &subviewer)); in PCView_Redundant() 57 PetscCall(PetscViewerRestoreSubViewer(viewer, ((PetscObject)red->pc)->comm, &subviewer)); in PCView_Redundant() [all …]
|
| /petsc/src/ksp/pc/impls/parms/ |
| H A D | parms.c | 28 parms_PC pc; member 37 static PetscErrorCode PCSetUp_PARMS(PC pc) in PCSetUp_PARMS() argument 40 PC_PARMS *parms = (PC_PARMS *)pc->data; in PCSetUp_PARMS() 53 PetscCall(PCGetOperators(pc, NULL, &pmat)); in PCSetUp_PARMS() 137 if (parms->pc) { in PCSetUp_PARMS() 138 parms_PCFree(&parms->pc); in PCSetUp_PARMS() 139 parms->pc = NULL; in PCSetUp_PARMS() 143 parms_PCCreate(&parms->pc, parms->A); in PCSetUp_PARMS() 148 parms_PCSetType(parms->pc, PCRAS); in PCSetUp_PARMS() 151 parms_PCSetType(parms->pc, PCSCHUR); in PCSetUp_PARMS() [all …]
|
| /petsc/src/ksp/pc/impls/hmg/ |
| H A D | hmg.c | 90 static PetscErrorCode PCSetUp_HMG(PC pc) in PCSetUp_HMG() argument 93 PC_MG *mg = (PC_MG *)pc->data; in PCSetUp_HMG() 104 PetscCall(PetscObjectGetComm((PetscObject)pc, &comm)); in PCSetUp_HMG() 105 if (pc->setupcalled) { in PCSetUp_HMG() 110 PetscCall(PCMGGetGalerkin(pc, &galerkin)); in PCSetUp_HMG() 111 …if (galerkin == PC_MG_GALERKIN_NONE || pc->flag != SAME_NONZERO_PATTERN) pc->setupcalled = PETSC_F… in PCSetUp_HMG() 112 PetscCall(PCMGSetGalerkin(pc, PC_MG_GALERKIN_PMAT)); in PCSetUp_HMG() 113 PetscCall(PCSetUp_MG(pc)); in PCSetUp_HMG() 116 PetscCall(PCReset_MG(pc)); in PCSetUp_HMG() 117 pc->setupcalled = PETSC_FALSE; in PCSetUp_HMG() [all …]
|
| /petsc/src/ksp/pc/impls/mg/ |
| H A D | mgfunc.c | 116 PetscErrorCode PCMGGetCoarseSolve(PC pc, KSP *ksp) in PCMGGetCoarseSolve() argument 118 PC_MG *mg = (PC_MG *)pc->data; in PCMGGetCoarseSolve() 122 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCMGGetCoarseSolve() 143 PetscErrorCode PCMGSetResidual(PC pc, PetscInt l, PetscErrorCode (*residual)(Mat, Vec, Vec, Vec), M… in PCMGSetResidual() argument 145 PC_MG *mg = (PC_MG *)pc->data; in PCMGSetResidual() 149 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCMGSetResidual() 150 …PetscCheck(mglevels, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_WRONGSTATE, "Must set MG leve… in PCMGSetResidual() 177 PetscErrorCode PCMGSetResidualTranspose(PC pc, PetscInt l, PetscErrorCode (*residualt)(Mat, Vec, Ve… in PCMGSetResidualTranspose() argument 179 PC_MG *mg = (PC_MG *)pc->data; in PCMGSetResidualTranspose() 183 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCMGSetResidualTranspose() [all …]
|
| /petsc/src/ksp/pc/impls/spai/ |
| H A D | ispai.c | 57 static PetscErrorCode PCSetUp_SPAI(PC pc) in PCSetUp_SPAI() argument 59 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSetUp_SPAI() 66 PetscCall(ConvertMatToMatrix(ispai->comm_spai, pc->pmat, pc->pmat, &ispai->B)); in PCSetUp_SPAI() 69 PetscCall(MatTranspose(pc->pmat, MAT_INITIAL_MATRIX, &AT)); in PCSetUp_SPAI() 70 PetscCall(ConvertMatToMatrix(ispai->comm_spai, pc->pmat, AT, &ispai->B)); in PCSetUp_SPAI() 92 PetscCall(ConvertMatrixToMat(PetscObjectComm((PetscObject)pc), ispai->M, &ispai->PM)); in PCSetUp_SPAI() 100 static PetscErrorCode PCApply_SPAI(PC pc, Vec xx, Vec y) in PCApply_SPAI() argument 102 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCApply_SPAI() 110 static PetscErrorCode PCMatApply_SPAI(PC pc, Mat X, Mat Y) in PCMatApply_SPAI() argument 112 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCMatApply_SPAI() [all …]
|