Lines Matching refs:pc

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()
120 static PetscErrorCode PCDestroy_SPAI(PC pc) in PCDestroy_SPAI() argument
122 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCDestroy_SPAI()
127 PetscCall(PetscFree(pc->data)); in PCDestroy_SPAI()
128 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetEpsilon_C", NULL)); in PCDestroy_SPAI()
129 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetNBSteps_C", NULL)); in PCDestroy_SPAI()
130 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetMax_C", NULL)); in PCDestroy_SPAI()
131 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetMaxNew_C", NULL)); in PCDestroy_SPAI()
132 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetBlockSize_C", NULL)); in PCDestroy_SPAI()
133 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetCacheSize_C", NULL)); in PCDestroy_SPAI()
134 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetVerbose_C", NULL)); in PCDestroy_SPAI()
135 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetSp_C", NULL)); in PCDestroy_SPAI()
139 static PetscErrorCode PCView_SPAI(PC pc, PetscViewer viewer) in PCView_SPAI() argument
141 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCView_SPAI()
159 static PetscErrorCode PCSPAISetEpsilon_SPAI(PC pc, PetscReal epsilon1) in PCSPAISetEpsilon_SPAI() argument
161 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetEpsilon_SPAI()
168 static PetscErrorCode PCSPAISetNBSteps_SPAI(PC pc, PetscInt nbsteps1) in PCSPAISetNBSteps_SPAI() argument
170 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetNBSteps_SPAI()
178 static PetscErrorCode PCSPAISetMax_SPAI(PC pc, PetscInt max1) in PCSPAISetMax_SPAI() argument
180 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetMax_SPAI()
187 static PetscErrorCode PCSPAISetMaxNew_SPAI(PC pc, PetscInt maxnew1) in PCSPAISetMaxNew_SPAI() argument
189 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetMaxNew_SPAI()
196 static PetscErrorCode PCSPAISetBlockSize_SPAI(PC pc, PetscInt block_size1) in PCSPAISetBlockSize_SPAI() argument
198 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetBlockSize_SPAI()
205 static PetscErrorCode PCSPAISetCacheSize_SPAI(PC pc, PetscInt cache_size) in PCSPAISetCacheSize_SPAI() argument
207 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetCacheSize_SPAI()
214 static PetscErrorCode PCSPAISetVerbose_SPAI(PC pc, PetscInt verbose) in PCSPAISetVerbose_SPAI() argument
216 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetVerbose_SPAI()
223 static PetscErrorCode PCSPAISetSp_SPAI(PC pc, PetscInt sp) in PCSPAISetSp_SPAI() argument
225 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSPAISetSp_SPAI()
252 PetscErrorCode PCSPAISetEpsilon(PC pc, PetscReal epsilon1) in PCSPAISetEpsilon() argument
255 PetscTryMethod(pc, "PCSPAISetEpsilon_C", (PC, PetscReal), (pc, epsilon1)); in PCSPAISetEpsilon()
279 PetscErrorCode PCSPAISetNBSteps(PC pc, PetscInt nbsteps1) in PCSPAISetNBSteps() argument
282 PetscTryMethod(pc, "PCSPAISetNBSteps_C", (PC, PetscInt), (pc, nbsteps1)); in PCSPAISetNBSteps()
298 PetscErrorCode PCSPAISetMax(PC pc, PetscInt max1) in PCSPAISetMax() argument
301 PetscTryMethod(pc, "PCSPAISetMax_C", (PC, PetscInt), (pc, max1)); in PCSPAISetMax()
316 PetscErrorCode PCSPAISetMaxNew(PC pc, PetscInt maxnew1) in PCSPAISetMaxNew() argument
319 PetscTryMethod(pc, "PCSPAISetMaxNew_C", (PC, PetscInt), (pc, maxnew1)); in PCSPAISetMaxNew()
355 PetscErrorCode PCSPAISetBlockSize(PC pc, PetscInt block_size1) in PCSPAISetBlockSize() argument
358 PetscTryMethod(pc, "PCSPAISetBlockSize_C", (PC, PetscInt), (pc, block_size1)); in PCSPAISetBlockSize()
379 PetscErrorCode PCSPAISetCacheSize(PC pc, PetscInt cache_size) in PCSPAISetCacheSize() argument
382 PetscTryMethod(pc, "PCSPAISetCacheSize_C", (PC, PetscInt), (pc, cache_size)); in PCSPAISetCacheSize()
400 PetscErrorCode PCSPAISetVerbose(PC pc, PetscInt verbose) in PCSPAISetVerbose() argument
403 PetscTryMethod(pc, "PCSPAISetVerbose_C", (PC, PetscInt), (pc, verbose)); in PCSPAISetVerbose()
426 PetscErrorCode PCSPAISetSp(PC pc, PetscInt sp) in PCSPAISetSp() argument
429 PetscTryMethod(pc, "PCSPAISetSp_C", (PC, PetscInt), (pc, sp)); in PCSPAISetSp()
433 static PetscErrorCode PCSetFromOptions_SPAI(PC pc, PetscOptionItems PetscOptionsObject) in PCSetFromOptions_SPAI() argument
435 PC_SPAI *ispai = (PC_SPAI *)pc->data; in PCSetFromOptions_SPAI()
443 if (flg) PetscCall(PCSPAISetEpsilon(pc, epsilon1)); in PCSetFromOptions_SPAI()
445 if (flg) PetscCall(PCSPAISetNBSteps(pc, nbsteps1)); in PCSetFromOptions_SPAI()
448 if (flg) PetscCall(PCSPAISetMax(pc, max1)); in PCSetFromOptions_SPAI()
450 if (flg) PetscCall(PCSPAISetMaxNew(pc, maxnew1)); in PCSetFromOptions_SPAI()
452 if (flg) PetscCall(PCSPAISetBlockSize(pc, block_size1)); in PCSetFromOptions_SPAI()
454 if (flg) PetscCall(PCSPAISetCacheSize(pc, cache_size)); in PCSetFromOptions_SPAI()
456 if (flg) PetscCall(PCSPAISetVerbose(pc, verbose)); in PCSetFromOptions_SPAI()
458 if (flg) PetscCall(PCSPAISetSp(pc, sp)); in PCSetFromOptions_SPAI()
486 PETSC_EXTERN PetscErrorCode PCCreate_SPAI(PC pc) in PCCreate_SPAI() argument
492 pc->data = ispai; in PCCreate_SPAI()
494 pc->ops->destroy = PCDestroy_SPAI; in PCCreate_SPAI()
495 pc->ops->apply = PCApply_SPAI; in PCCreate_SPAI()
496 pc->ops->matapply = PCMatApply_SPAI; in PCCreate_SPAI()
497 pc->ops->applyrichardson = 0; in PCCreate_SPAI()
498 pc->ops->setup = PCSetUp_SPAI; in PCCreate_SPAI()
499 pc->ops->view = PCView_SPAI; in PCCreate_SPAI()
500 pc->ops->setfromoptions = PCSetFromOptions_SPAI; in PCCreate_SPAI()
511 PetscCallMPI(MPI_Comm_dup(PetscObjectComm((PetscObject)pc), &ispai->comm_spai)); in PCCreate_SPAI()
513 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetEpsilon_C", PCSPAISetEpsilon_SPAI)… in PCCreate_SPAI()
514 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetNBSteps_C", PCSPAISetNBSteps_SPAI)… in PCCreate_SPAI()
515 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetMax_C", PCSPAISetMax_SPAI)); in PCCreate_SPAI()
516 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetMaxNew_C", PCSPAISetMaxNew_SPAI)); in PCCreate_SPAI()
517 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetBlockSize_C", PCSPAISetBlockSize_S… in PCCreate_SPAI()
518 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetCacheSize_C", PCSPAISetCacheSize_S… in PCCreate_SPAI()
519 …PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetVerbose_C", PCSPAISetVerbose_SPAI)… in PCCreate_SPAI()
520 PetscCall(PetscObjectComposeFunction((PetscObject)pc, "PCSPAISetSp_C", PCSPAISetSp_SPAI)); in PCCreate_SPAI()