Lines Matching refs:pc

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()
68 static PetscErrorCode PCReset_Galerkin(PC pc) in PCReset_Galerkin() argument
70 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCReset_Galerkin()
81 static PetscErrorCode PCDestroy_Galerkin(PC pc) in PCDestroy_Galerkin() argument
83 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCDestroy_Galerkin()
86 PetscCall(PCReset_Galerkin(pc)); in PCDestroy_Galerkin()
88 PetscCall(PetscFree(pc->data)); in PCDestroy_Galerkin()
92 static PetscErrorCode PCView_Galerkin(PC pc, PetscViewer viewer) in PCView_Galerkin() argument
94 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCView_Galerkin()
107 static PetscErrorCode PCGalerkinGetKSP_Galerkin(PC pc, KSP *ksp) in PCGalerkinGetKSP_Galerkin() argument
109 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCGalerkinGetKSP_Galerkin()
116 static PetscErrorCode PCGalerkinSetRestriction_Galerkin(PC pc, Mat R) in PCGalerkinSetRestriction_Galerkin() argument
118 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCGalerkinSetRestriction_Galerkin()
127 static PetscErrorCode PCGalerkinSetInterpolation_Galerkin(PC pc, Mat P) in PCGalerkinSetInterpolation_Galerkin() argument
129 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCGalerkinSetInterpolation_Galerkin()
138 static PetscErrorCode PCGalerkinSetComputeSubmatrix_Galerkin(PC pc, PetscErrorCode (*computeAsub)(P… in PCGalerkinSetComputeSubmatrix_Galerkin() argument
140 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCGalerkinSetComputeSubmatrix_Galerkin()
165 PetscErrorCode PCGalerkinSetRestriction(PC pc, Mat R) in PCGalerkinSetRestriction() argument
168 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCGalerkinSetRestriction()
169 PetscTryMethod(pc, "PCGalerkinSetRestriction_C", (PC, Mat), (pc, R)); in PCGalerkinSetRestriction()
190 PetscErrorCode PCGalerkinSetInterpolation(PC pc, Mat P) in PCGalerkinSetInterpolation() argument
193 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCGalerkinSetInterpolation()
194 PetscTryMethod(pc, "PCGalerkinSetInterpolation_C", (PC, Mat), (pc, P)); in PCGalerkinSetInterpolation()
231 PetscErrorCode PCGalerkinSetComputeSubmatrix(PC pc, PetscErrorCode (*computeAsub)(PC pc, Mat A, Mat… in PCGalerkinSetComputeSubmatrix() argument
234 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCGalerkinSetComputeSubmatrix()
235 …PetscTryMethod(pc, "PCGalerkinSetComputeSubmatrix_C", (PC, PetscErrorCode (*)(PC, Mat, Mat, Mat *,… in PCGalerkinSetComputeSubmatrix()
259 PetscErrorCode PCGalerkinGetKSP(PC pc, KSP *ksp) in PCGalerkinGetKSP() argument
262 PetscValidHeaderSpecific(pc, PC_CLASSID, 1); in PCGalerkinGetKSP()
264 PetscUseMethod(pc, "PCGalerkinGetKSP_C", (PC, KSP *), (pc, ksp)); in PCGalerkinGetKSP()
268 static PetscErrorCode PCSetFromOptions_Galerkin(PC pc, PetscOptionItems PetscOptionsObject) in PCSetFromOptions_Galerkin() argument
270 PC_Galerkin *jac = (PC_Galerkin *)pc->data; in PCSetFromOptions_Galerkin()
278 PetscCall(PCGetOptionsPrefix(pc, &prefix)); in PCSetFromOptions_Galerkin()
315 PETSC_EXTERN PetscErrorCode PCCreate_Galerkin(PC pc) in PCCreate_Galerkin() argument
322 pc->ops->apply = PCApply_Galerkin; in PCCreate_Galerkin()
323 pc->ops->setup = PCSetUp_Galerkin; in PCCreate_Galerkin()
324 pc->ops->reset = PCReset_Galerkin; in PCCreate_Galerkin()
325 pc->ops->destroy = PCDestroy_Galerkin; in PCCreate_Galerkin()
326 pc->ops->view = PCView_Galerkin; in PCCreate_Galerkin()
327 pc->ops->setfromoptions = PCSetFromOptions_Galerkin; in PCCreate_Galerkin()
328 pc->ops->applyrichardson = NULL; in PCCreate_Galerkin()
330 PetscCall(KSPCreate(PetscObjectComm((PetscObject)pc), &jac->ksp)); in PCCreate_Galerkin()
331 PetscCall(KSPSetNestLevel(jac->ksp, pc->kspnestlevel)); in PCCreate_Galerkin()
332 PetscCall(KSPSetErrorIfNotConverged(jac->ksp, pc->erroriffailure)); in PCCreate_Galerkin()
333 PetscCall(PetscObjectIncrementTabLevel((PetscObject)jac->ksp, (PetscObject)pc, 1)); in PCCreate_Galerkin()
335 pc->data = (void *)jac; in PCCreate_Galerkin()
337 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCGalerkinSetRestriction_C", PCGalerkinSetR… in PCCreate_Galerkin()
338 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCGalerkinSetInterpolation_C", PCGalerkinSe… in PCCreate_Galerkin()
339 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCGalerkinGetKSP_C", PCGalerkinGetKSP_Galer… in PCCreate_Galerkin()
340 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCGalerkinSetComputeSubmatrix_C", PCGalerki… in PCCreate_Galerkin()