Lines Matching refs:pc

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()
33 PetscCall(MatSOR(pc->pmat, x, jac->omega, (MatSORType)flag, jac->fshift, jac->its, jac->lits, y)); in PCApply_SOR()
34 PetscCall(MatFactorGetError(pc->pmat, (MatFactorError *)&pc->failedreason)); in PCApply_SOR()
38 static PetscErrorCode PCApplyTranspose_SOR(PC pc, Vec x, Vec y) in PCApplyTranspose_SOR() argument
40 PC_SOR *jac = (PC_SOR *)pc->data; in PCApplyTranspose_SOR()
45 PetscCall(MatIsSymmetricKnown(pc->pmat, &set, &sym)); in PCApplyTranspose_SOR()
46 …EP || jac->sym == SOR_LOCAL_SYMMETRIC_SWEEP), PetscObjectComm((PetscObject)pc), PETSC_ERR_SUP, "Ca… in PCApplyTranspose_SOR()
47 PetscCall(MatSOR(pc->pmat, x, jac->omega, (MatSORType)flag, jac->fshift, jac->its, jac->lits, y)); in PCApplyTranspose_SOR()
48 PetscCall(MatFactorGetError(pc->pmat, (MatFactorError *)&pc->failedreason)); in PCApplyTranspose_SOR()
52 static PetscErrorCode PCApplyRichardson_SOR(PC pc, Vec b, Vec y, Vec w, PetscReal rtol, PetscReal a… in PCApplyRichardson_SOR() argument
54 PC_SOR *jac = (PC_SOR *)pc->data; in PCApplyRichardson_SOR()
59 PetscCall(MatSOR(pc->pmat, b, jac->omega, stype, jac->fshift, its * jac->its, jac->lits, y)); in PCApplyRichardson_SOR()
60 PetscCall(MatFactorGetError(pc->pmat, (MatFactorError *)&pc->failedreason)); in PCApplyRichardson_SOR()
66 static PetscErrorCode PCSetFromOptions_SOR(PC pc, PetscOptionItems PetscOptionsObject) in PCSetFromOptions_SOR() argument
68 PC_SOR *jac = (PC_SOR *)pc->data; in PCSetFromOptions_SOR()
75 if (flg) PetscCall(PCSORSetOmega(pc, omega)); in PCSetFromOptions_SOR()
80 if (flg) PetscCall(PCSORSetSymmetric(pc, SOR_SYMMETRIC_SWEEP)); in PCSetFromOptions_SOR()
82 if (flg) PetscCall(PCSORSetSymmetric(pc, SOR_BACKWARD_SWEEP)); in PCSetFromOptions_SOR()
84 if (flg) PetscCall(PCSORSetSymmetric(pc, SOR_FORWARD_SWEEP)); in PCSetFromOptions_SOR()
86 if (flg) PetscCall(PCSORSetSymmetric(pc, SOR_LOCAL_SYMMETRIC_SWEEP)); in PCSetFromOptions_SOR()
88 if (flg) PetscCall(PCSORSetSymmetric(pc, SOR_LOCAL_BACKWARD_SWEEP)); in PCSetFromOptions_SOR()
90 if (flg) PetscCall(PCSORSetSymmetric(pc, SOR_LOCAL_FORWARD_SWEEP)); in PCSetFromOptions_SOR()
95 static PetscErrorCode PCView_SOR(PC pc, PetscViewer viewer) in PCView_SOR() argument
97 PC_SOR *jac = (PC_SOR *)pc->data; in PCView_SOR()
121 static PetscErrorCode PCSORSetSymmetric_SOR(PC pc, MatSORType flag) in PCSORSetSymmetric_SOR() argument
123 PC_SOR *jac = (PC_SOR *)pc->data; in PCSORSetSymmetric_SOR()
130 static PetscErrorCode PCSORSetOmega_SOR(PC pc, PetscReal omega) in PCSORSetOmega_SOR() argument
132 PC_SOR *jac = (PC_SOR *)pc->data; in PCSORSetOmega_SOR()
135 …PetscCheck(omega > 0.0 && omega < 2.0, PetscObjectComm((PetscObject)pc), PETSC_ERR_ARG_OUTOFRANGE,… in PCSORSetOmega_SOR()
140 static PetscErrorCode PCSORSetIterations_SOR(PC pc, PetscInt its, PetscInt lits) in PCSORSetIterations_SOR() argument
142 PC_SOR *jac = (PC_SOR *)pc->data; in PCSORSetIterations_SOR()
150 static PetscErrorCode PCSORGetSymmetric_SOR(PC pc, MatSORType *flag) in PCSORGetSymmetric_SOR() argument
152 PC_SOR *jac = (PC_SOR *)pc->data; in PCSORGetSymmetric_SOR()
159 static PetscErrorCode PCSORGetOmega_SOR(PC pc, PetscReal *omega) in PCSORGetOmega_SOR() argument
161 PC_SOR *jac = (PC_SOR *)pc->data; in PCSORGetOmega_SOR()
168 static PetscErrorCode PCSORGetIterations_SOR(PC pc, PetscInt *its, PetscInt *lits) in PCSORGetIterations_SOR() argument
170 PC_SOR *jac = (PC_SOR *)pc->data; in PCSORGetIterations_SOR()
214 PetscErrorCode PCSORGetSymmetric(PC pc, MatSORType *flag) in PCSORGetSymmetric() argument
217 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCSORGetSymmetric()
218 PetscUseMethod(pc, "PCSORGetSymmetric_C", (PC, MatSORType *), (pc, flag)); in PCSORGetSymmetric()
241 PetscErrorCode PCSORGetOmega(PC pc, PetscReal *omega) in PCSORGetOmega() argument
244 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCSORGetOmega()
245 PetscUseMethod(pc, "PCSORGetOmega_C", (PC, PetscReal *), (pc, omega)); in PCSORGetOmega()
273 PetscErrorCode PCSORGetIterations(PC pc, PetscInt *its, PetscInt *lits) in PCSORGetIterations() argument
276 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCSORGetIterations()
277 PetscUseMethod(pc, "PCSORGetIterations_C", (PC, PetscInt *, PetscInt *), (pc, its, lits)); in PCSORGetIterations()
316 PetscErrorCode PCSORSetSymmetric(PC pc, MatSORType flag) in PCSORSetSymmetric() argument
319 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCSORSetSymmetric()
320 PetscValidLogicalCollectiveEnum(pc, flag, 2); in PCSORSetSymmetric()
321 PetscTryMethod(pc, "PCSORSetSymmetric_C", (PC, MatSORType), (pc, flag)); in PCSORSetSymmetric()
345 PetscErrorCode PCSORSetOmega(PC pc, PetscReal omega) in PCSORSetOmega() argument
348 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCSORSetOmega()
349 PetscValidLogicalCollectiveReal(pc, omega, 2); in PCSORSetOmega()
350 PetscTryMethod(pc, "PCSORSetOmega_C", (PC, PetscReal), (pc, omega)); in PCSORSetOmega()
376 PetscErrorCode PCSORSetIterations(PC pc, PetscInt its, PetscInt lits) in PCSORSetIterations() argument
379 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCSORSetIterations()
380 PetscValidLogicalCollectiveInt(pc, its, 2); in PCSORSetIterations()
381 PetscTryMethod(pc, "PCSORSetIterations_C", (PC, PetscInt, PetscInt), (pc, its, lits)); in PCSORSetIterations()
427 PETSC_EXTERN PetscErrorCode PCCreate_SOR(PC pc) in PCCreate_SOR() argument
434 pc->ops->apply = PCApply_SOR; in PCCreate_SOR()
435 pc->ops->applytranspose = PCApplyTranspose_SOR; in PCCreate_SOR()
436 pc->ops->applyrichardson = PCApplyRichardson_SOR; in PCCreate_SOR()
437 pc->ops->setfromoptions = PCSetFromOptions_SOR; in PCCreate_SOR()
438 pc->ops->setup = NULL; in PCCreate_SOR()
439 pc->ops->view = PCView_SOR; in PCCreate_SOR()
440 pc->ops->destroy = PCDestroy_SOR; in PCCreate_SOR()
441 pc->data = (void *)jac; in PCCreate_SOR()
448 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORSetSymmetric_C", PCSORSetSymmetric_SOR… in PCCreate_SOR()
449 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORSetOmega_C", PCSORSetOmega_SOR)); in PCCreate_SOR()
450 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORSetIterations_C", PCSORSetIterations_S… in PCCreate_SOR()
451 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORGetSymmetric_C", PCSORGetSymmetric_SOR… in PCCreate_SOR()
452 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORGetOmega_C", PCSORGetOmega_SOR)); in PCCreate_SOR()
453 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSORGetIterations_C", PCSORGetIterations_S… in PCCreate_SOR()