Lines Matching refs:sred

123 static PetscErrorCode PCTelescopeSetUp_dmda_repart_coors2d(PC_Telescope sred, DM dm, DM subdm)  in PCTelescopeSetUp_dmda_repart_coors2d()  argument
135 …if (PCTelescope_isActiveRank(sred)) PetscCall(DMDASetUniformCoordinates(subdm, 0.0, 1.0, 0.0, 1.0,… in PCTelescopeSetUp_dmda_repart_coors2d()
145 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors2d()
157 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors2d()
182 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors2d()
196 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors2d()
214 static PetscErrorCode PCTelescopeSetUp_dmda_repart_coors3d(PC_Telescope sred, DM dm, DM subdm) in PCTelescopeSetUp_dmda_repart_coors3d() argument
227 …if (PCTelescope_isActiveRank(sred)) PetscCall(DMDASetUniformCoordinates(subdm, 0.0, 1.0, 0.0, 1.0,… in PCTelescopeSetUp_dmda_repart_coors3d()
238 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors3d()
252 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors3d()
279 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors3d()
293 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart_coors3d()
313 static PetscErrorCode PCTelescopeSetUp_dmda_repart_coors(PC pc, PC_Telescope sred, PC_Telescope_DMD… in PCTelescopeSetUp_dmda_repart_coors() argument
325 psubcomm = sred->psubcomm; in PCTelescopeSetUp_dmda_repart_coors()
335 PetscCall(PCTelescopeSetUp_dmda_repart_coors2d(sred, dm, subdm)); in PCTelescopeSetUp_dmda_repart_coors()
338 PetscCall(PCTelescopeSetUp_dmda_repart_coors3d(sred, dm, subdm)); in PCTelescopeSetUp_dmda_repart_coors()
345 static PetscErrorCode PCTelescopeSetUp_dmda_repart(PC pc, PC_Telescope sred, PC_Telescope_DMDACtx *… in PCTelescopeSetUp_dmda_repart() argument
361 comm = PetscSubcommParent(sred->psubcomm); in PCTelescopeSetUp_dmda_repart()
362 subcomm = PetscSubcommChild(sred->psubcomm); in PCTelescopeSetUp_dmda_repart()
372 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart()
400 PetscCall(KSPGetOptionsPrefix(sred->ksp, &prefix)); in PCTelescopeSetUp_dmda_repart()
474 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_repart()
475 PetscCall(KSPSetDM(sred->ksp, ctx->dmrepart)); in PCTelescopeSetUp_dmda_repart()
477 if (!dmksp_func || sred->ignore_kspcomputeoperators) { in PCTelescopeSetUp_dmda_repart()
478 PetscCall(KSPSetDMActive(sred->ksp, KSP_DMACTIVE_ALL, PETSC_FALSE)); in PCTelescopeSetUp_dmda_repart()
481 PetscCall(KSPSetComputeOperators(sred->ksp, dmksp_func, dmksp_ctx)); in PCTelescopeSetUp_dmda_repart()
482 PetscCall(KSPSetDMActive(sred->ksp, KSP_DMACTIVE_ALL, PETSC_TRUE)); in PCTelescopeSetUp_dmda_repart()
489 static PetscErrorCode PCTelescopeSetUp_dmda_permutation_3d(PC pc, PC_Telescope sred, PC_Telescope_D… in PCTelescopeSetUp_dmda_permutation_3d() argument
560 static PetscErrorCode PCTelescopeSetUp_dmda_permutation_2d(PC pc, PC_Telescope sred, PC_Telescope_D… in PCTelescopeSetUp_dmda_permutation_2d() argument
626 static PetscErrorCode PCTelescopeSetUp_dmda_scatters(PC pc, PC_Telescope sred, PC_Telescope_DMDACtx… in PCTelescopeSetUp_dmda_scatters() argument
644 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_dmda_scatters()
660 sred->xred = xred; in PCTelescopeSetUp_dmda_scatters()
661 sred->yred = yred; in PCTelescopeSetUp_dmda_scatters()
662 sred->isin = isin; in PCTelescopeSetUp_dmda_scatters()
663 sred->scatter = scatter; in PCTelescopeSetUp_dmda_scatters()
664 sred->xtmp = xtmp; in PCTelescopeSetUp_dmda_scatters()
671 PetscErrorCode PCTelescopeSetUp_dmda(PC pc, PC_Telescope sred) in PCTelescopeSetUp_dmda() argument
681 sred->dm_ctx = (void *)ctx; in PCTelescopeSetUp_dmda()
687 PetscCall(PCTelescopeSetUp_dmda_repart(pc, sred, ctx)); in PCTelescopeSetUp_dmda()
688 PetscCall(PCTelescopeSetUp_dmda_repart_coors(pc, sred, ctx)); in PCTelescopeSetUp_dmda()
693 PetscCall(PCTelescopeSetUp_dmda_permutation_2d(pc, sred, ctx)); in PCTelescopeSetUp_dmda()
696 PetscCall(PCTelescopeSetUp_dmda_permutation_3d(pc, sred, ctx)); in PCTelescopeSetUp_dmda()
699 PetscCall(PCTelescopeSetUp_dmda_scatters(pc, sred, ctx)); in PCTelescopeSetUp_dmda()
703 static PetscErrorCode PCTelescopeMatCreate_dmda_dmactivefalse(PC pc, PC_Telescope sred, MatReuse re… in PCTelescopeMatCreate_dmda_dmactivefalse() argument
715 subcomm = PetscSubcommChild(sred->psubcomm); in PCTelescopeMatCreate_dmda_dmactivefalse()
716 ctx = (PC_Telescope_DMDACtx *)sred->dm_ctx; in PCTelescopeMatCreate_dmda_dmactivefalse()
725 isrow = sred->isin; in PCTelescopeMatCreate_dmda_dmactivefalse()
731 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatCreate_dmda_dmactivefalse()
747 PetscErrorCode PCTelescopeMatCreate_dmda(PC pc, PC_Telescope sred, MatReuse reuse, Mat *A) in PCTelescopeMatCreate_dmda() argument
757 if (dmksp_func && !sred->ignore_kspcomputeoperators) { in PCTelescopeMatCreate_dmda()
762 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatCreate_dmda()
763 PetscCall(KSPGetDM(sred->ksp, &dmrepart)); in PCTelescopeMatCreate_dmda()
776 PetscCall(PCTelescopeMatCreate_dmda_dmactivefalse(pc, sred, reuse, A)); in PCTelescopeMatCreate_dmda()
781 static PetscErrorCode PCTelescopeSubNullSpaceCreate_dmda_Telescope(PC pc, PC_Telescope sred, MatNul… in PCTelescopeSubNullSpaceCreate_dmda_Telescope() argument
791 ctx = (PC_Telescope_DMDACtx *)sred->dm_ctx; in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
792 subcomm = PetscSubcommChild(sred->psubcomm); in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
795 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
797 if (n) PetscCall(VecDuplicateVecs(sred->xred, n, &sub_vecs)); in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
810 PetscCall(VecScatterBegin(sred->scatter, ctx->xp, sred->xtmp, INSERT_VALUES, SCATTER_FORWARD)); in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
811 PetscCall(VecScatterEnd(sred->scatter, ctx->xp, sred->xtmp, INSERT_VALUES, SCATTER_FORWARD)); in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
814 PetscCall(VecGetArrayRead(sred->xtmp, &x_array)); in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
823 PetscCall(VecRestoreArrayRead(sred->xtmp, &x_array)); in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
826 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSubNullSpaceCreate_dmda_Telescope()
836 PetscErrorCode PCTelescopeMatNullSpaceCreate_dmda(PC pc, PC_Telescope sred, Mat sub_mat) in PCTelescopeMatNullSpaceCreate_dmda() argument
847 PetscCall(PCTelescopeSubNullSpaceCreate_dmda_Telescope(pc, sred, nullspace, &sub_nullspace)); in PCTelescopeMatNullSpaceCreate_dmda()
848 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatNullSpaceCreate_dmda()
859 …PetscCall(PCTelescopeSubNullSpaceCreate_dmda_Telescope(pc, sred, nearnullspace, &sub_nearnullspace… in PCTelescopeMatNullSpaceCreate_dmda()
860 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatNullSpaceCreate_dmda()
871 PC_Telescope sred = (PC_Telescope)pc->data; in PCApply_Telescope_dmda() local
880 ctx = (PC_Telescope_DMDACtx *)sred->dm_ctx; in PCApply_Telescope_dmda()
881 xtmp = sred->xtmp; in PCApply_Telescope_dmda()
882 scatter = sred->scatter; in PCApply_Telescope_dmda()
883 xred = sred->xred; in PCApply_Telescope_dmda()
884 yred = sred->yred; in PCApply_Telescope_dmda()
911 if (PCTelescope_isActiveRank(sred)) { in PCApply_Telescope_dmda()
912 PetscCall(KSPSolve(sred->ksp, xred, yred)); in PCApply_Telescope_dmda()
913 PetscCall(KSPCheckSolve(sred->ksp, pc, yred)); in PCApply_Telescope_dmda()
934 PC_Telescope sred = (PC_Telescope)pc->data; in PCApplyRichardson_Telescope_dmda() local
944 ctx = (PC_Telescope_DMDACtx *)sred->dm_ctx; in PCApplyRichardson_Telescope_dmda()
945 xtmp = sred->xtmp; in PCApplyRichardson_Telescope_dmda()
946 scatter = sred->scatter; in PCApplyRichardson_Telescope_dmda()
947 yred = sred->yred; in PCApplyRichardson_Telescope_dmda()
975 if (PCTelescope_isActiveRank(sred)) { in PCApplyRichardson_Telescope_dmda()
976 PetscCall(KSPGetInitialGuessNonzero(sred->ksp, &default_init_guess_value)); in PCApplyRichardson_Telescope_dmda()
977 if (!zeroguess) PetscCall(KSPSetInitialGuessNonzero(sred->ksp, PETSC_TRUE)); in PCApplyRichardson_Telescope_dmda()
982 …if (PCTelescope_isActiveRank(sred)) PetscCall(KSPSetInitialGuessNonzero(sred->ksp, default_init_gu… in PCApplyRichardson_Telescope_dmda()
991 PC_Telescope sred = (PC_Telescope)pc->data; in PCReset_Telescope_dmda() local
995 ctx = (PC_Telescope_DMDACtx *)sred->dm_ctx; in PCReset_Telescope_dmda()