Lines Matching refs:mpjac
176 PC_BJacobi_Multiproc *mpjac = (PC_BJacobi_Multiproc *)jac->data; in PCView_BJacobi() local
207 } else if (mpjac && jac->ksp && mpjac->psubcomm) { in PCView_BJacobi()
208 PetscCall(PetscViewerGetSubViewer(viewer, mpjac->psubcomm->child, &sviewer)); in PCView_BJacobi()
209 if (!mpjac->psubcomm->color) { in PCView_BJacobi()
214 PetscCall(PetscViewerRestoreSubViewer(viewer, mpjac->psubcomm->child, &sviewer)); in PCView_BJacobi()
1164 PC_BJacobi_Multiproc *mpjac = (PC_BJacobi_Multiproc *)jac->data; in PCReset_BJacobi_Multiproc() local
1167 PetscCall(VecDestroy(&mpjac->ysub)); in PCReset_BJacobi_Multiproc()
1168 PetscCall(VecDestroy(&mpjac->xsub)); in PCReset_BJacobi_Multiproc()
1169 PetscCall(MatDestroy(&mpjac->submats)); in PCReset_BJacobi_Multiproc()
1177 PC_BJacobi_Multiproc *mpjac = (PC_BJacobi_Multiproc *)jac->data; in PCDestroy_BJacobi_Multiproc() local
1183 PetscCall(PetscSubcommDestroy(&mpjac->psubcomm)); in PCDestroy_BJacobi_Multiproc()
1185 PetscCall(PetscFree(mpjac)); in PCDestroy_BJacobi_Multiproc()
1193 PC_BJacobi_Multiproc *mpjac = (PC_BJacobi_Multiproc *)jac->data; in PCApply_BJacobi_Multiproc() local
1202 PetscCall(VecPlaceArray(mpjac->xsub, xarray)); in PCApply_BJacobi_Multiproc()
1203 PetscCall(VecPlaceArray(mpjac->ysub, yarray)); in PCApply_BJacobi_Multiproc()
1206 PetscCall(PetscLogEventBegin(PC_ApplyOnBlocks, jac->ksp[0], mpjac->xsub, mpjac->ysub, 0)); in PCApply_BJacobi_Multiproc()
1207 PetscCall(KSPSolve(jac->ksp[0], mpjac->xsub, mpjac->ysub)); in PCApply_BJacobi_Multiproc()
1208 PetscCall(KSPCheckSolve(jac->ksp[0], pc, mpjac->ysub)); in PCApply_BJacobi_Multiproc()
1209 PetscCall(PetscLogEventEnd(PC_ApplyOnBlocks, jac->ksp[0], mpjac->xsub, mpjac->ysub, 0)); in PCApply_BJacobi_Multiproc()
1213 PetscCall(VecResetArray(mpjac->xsub)); in PCApply_BJacobi_Multiproc()
1214 PetscCall(VecResetArray(mpjac->ysub)); in PCApply_BJacobi_Multiproc()
1257 PC_BJacobi_Multiproc *mpjac = (PC_BJacobi_Multiproc *)jac->data; in PCSetUp_BJacobi_Multiproc() local
1272 PetscCall(PetscNew(&mpjac)); in PCSetUp_BJacobi_Multiproc()
1273 jac->data = (void *)mpjac; in PCSetUp_BJacobi_Multiproc()
1282 mpjac->psubcomm = jac->psubcomm; in PCSetUp_BJacobi_Multiproc()
1283 subcomm = PetscSubcommChild(mpjac->psubcomm); in PCSetUp_BJacobi_Multiproc()
1286 PetscCall(MatGetMultiProcBlock(pc->pmat, subcomm, MAT_INITIAL_MATRIX, &mpjac->submats)); in PCSetUp_BJacobi_Multiproc()
1295 PetscCall(KSPSetOperators(jac->ksp[0], mpjac->submats, mpjac->submats)); in PCSetUp_BJacobi_Multiproc()
1296 PetscCall(KSPGetPC(jac->ksp[0], &mpjac->pc)); in PCSetUp_BJacobi_Multiproc()
1302 PetscCall(MatSetOptionsPrefix(mpjac->submats, prefix)); in PCSetUp_BJacobi_Multiproc()
1304 PetscCall(MatGetLocalSize(mpjac->submats, &m, &n)); in PCSetUp_BJacobi_Multiproc()
1305 PetscCall(VecCreateMPIWithArray(subcomm, 1, n, PETSC_DECIDE, NULL, &mpjac->xsub)); in PCSetUp_BJacobi_Multiproc()
1306 PetscCall(VecCreateMPIWithArray(subcomm, 1, m, PETSC_DECIDE, NULL, &mpjac->ysub)); in PCSetUp_BJacobi_Multiproc()
1307 PetscCall(MatGetVecType(mpjac->submats, &vectype)); in PCSetUp_BJacobi_Multiproc()
1308 PetscCall(VecSetType(mpjac->xsub, vectype)); in PCSetUp_BJacobi_Multiproc()
1309 PetscCall(VecSetType(mpjac->ysub, vectype)); in PCSetUp_BJacobi_Multiproc()
1317 subcomm = PetscSubcommChild(mpjac->psubcomm); in PCSetUp_BJacobi_Multiproc()
1320 if (mpjac->submats) PetscCall(MatDestroy(&mpjac->submats)); in PCSetUp_BJacobi_Multiproc()
1321 PetscCall(MatGetMultiProcBlock(pc->pmat, subcomm, MAT_INITIAL_MATRIX, &mpjac->submats)); in PCSetUp_BJacobi_Multiproc()
1323 PetscCall(MatGetMultiProcBlock(pc->pmat, subcomm, MAT_REUSE_MATRIX, &mpjac->submats)); in PCSetUp_BJacobi_Multiproc()
1325 PetscCall(KSPSetOperators(jac->ksp[0], mpjac->submats, mpjac->submats)); in PCSetUp_BJacobi_Multiproc()