Lines Matching refs:sred

41 static PetscErrorCode PCTelescopeSetUp_scatters_CoarseDM(PC pc, PC_Telescope sred, PC_Telescope_Coa…  in PCTelescopeSetUp_scatters_CoarseDM()  argument
59 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_scatters_CoarseDM()
75 sred->xred = xred; in PCTelescopeSetUp_scatters_CoarseDM()
76 sred->yred = yred; in PCTelescopeSetUp_scatters_CoarseDM()
77 sred->isin = isin; in PCTelescopeSetUp_scatters_CoarseDM()
78 sred->scatter = scatter; in PCTelescopeSetUp_scatters_CoarseDM()
79 sred->xtmp = xtmp; in PCTelescopeSetUp_scatters_CoarseDM()
85 PetscErrorCode PCTelescopeSetUp_CoarseDM(PC pc, PC_Telescope sred) in PCTelescopeSetUp_CoarseDM() argument
95 sred->dm_ctx = (void *)ctx; in PCTelescopeSetUp_CoarseDM()
104 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_CoarseDM()
105 PetscCall(KSPSetDM(sred->ksp, ctx->dm_coarse)); in PCTelescopeSetUp_CoarseDM()
106 …if (sred->ignore_kspcomputeoperators) PetscCall(KSPSetDMActive(sred->ksp, KSP_DMACTIVE_ALL, PETSC_… in PCTelescopeSetUp_CoarseDM()
128 if (dmfine_kspfunc && !sred->ignore_kspcomputeoperators) { in PCTelescopeSetUp_CoarseDM()
130 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_CoarseDM()
141 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_CoarseDM()
179 if (dmfine_kspfunc && !sred->ignore_kspcomputeoperators) { in PCTelescopeSetUp_CoarseDM()
182 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSetUp_CoarseDM()
184 PetscCall(KSPSetComputeOperators(sred->ksp, dmfine_kspfunc, dmcoarse_kspctx)); in PCTelescopeSetUp_CoarseDM()
186 PetscCall(KSPSetDMActive(sred->ksp, KSP_DMACTIVE_ALL, PETSC_TRUE)); in PCTelescopeSetUp_CoarseDM()
218 PetscCall(PCTelescopeSetUp_scatters_CoarseDM(pc, sred, ctx)); in PCTelescopeSetUp_CoarseDM()
224 PC_Telescope sred = (PC_Telescope)pc->data; in PCApply_Telescope_CoarseDM() local
229 ctx = (PC_Telescope_CoarseDMCtx *)sred->dm_ctx; in PCApply_Telescope_CoarseDM()
230 xred = sred->xred; in PCApply_Telescope_CoarseDM()
231 yred = sred->yred; in PCApply_Telescope_CoarseDM()
240 if (PCTelescope_isActiveRank(sred)) PetscCall(KSPSolve(sred->ksp, xred, yred)); in PCApply_Telescope_CoarseDM()
246 static PetscErrorCode PCTelescopeSubNullSpaceCreate_CoarseDM(PC pc, PC_Telescope sred, MatNullSpace… in PCTelescopeSubNullSpaceCreate_CoarseDM() argument
256 ctx = (PC_Telescope_CoarseDMCtx *)sred->dm_ctx; in PCTelescopeSubNullSpaceCreate_CoarseDM()
257 subcomm = sred->subcomm; in PCTelescopeSubNullSpaceCreate_CoarseDM()
260 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSubNullSpaceCreate_CoarseDM()
262 if (n) PetscCall(VecDuplicateVecs(sred->xred, n, &sub_vecs)); in PCTelescopeSubNullSpaceCreate_CoarseDM()
268 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeSubNullSpaceCreate_CoarseDM()
276 PetscErrorCode PCTelescopeMatNullSpaceCreate_CoarseDM(PC pc, PC_Telescope sred, Mat sub_mat) in PCTelescopeMatNullSpaceCreate_CoarseDM() argument
282 ctx = (PC_Telescope_CoarseDMCtx *)sred->dm_ctx; in PCTelescopeMatNullSpaceCreate_CoarseDM()
289 PetscCall(PCTelescopeSubNullSpaceCreate_CoarseDM(pc, sred, nullspace, &sub_nullspace)); in PCTelescopeMatNullSpaceCreate_CoarseDM()
292 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatNullSpaceCreate_CoarseDM()
307 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatNullSpaceCreate_CoarseDM()
318 … PetscCall(PCTelescopeSubNullSpaceCreate_CoarseDM(pc, sred, nearnullspace, &sub_nearnullspace)); in PCTelescopeMatNullSpaceCreate_CoarseDM()
321 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatNullSpaceCreate_CoarseDM()
336 if (PCTelescope_isActiveRank(sred)) { in PCTelescopeMatNullSpaceCreate_CoarseDM()
347 PC_Telescope sred = (PC_Telescope)pc->data; in PCReset_Telescope_CoarseDM() local
351 ctx = (PC_Telescope_CoarseDMCtx *)sred->dm_ctx; in PCReset_Telescope_CoarseDM()
365 PC_Telescope sred = (PC_Telescope)pc->data; in PCApplyRichardson_Telescope_CoarseDM() local
371 ctx = (PC_Telescope_CoarseDMCtx *)sred->dm_ctx; in PCApplyRichardson_Telescope_CoarseDM()
372 yred = sred->yred; in PCApplyRichardson_Telescope_CoarseDM()
383 if (PCTelescope_isActiveRank(sred)) { in PCApplyRichardson_Telescope_CoarseDM()
384 PetscCall(KSPGetInitialGuessNonzero(sred->ksp, &default_init_guess_value)); in PCApplyRichardson_Telescope_CoarseDM()
385 if (!zeroguess) PetscCall(KSPSetInitialGuessNonzero(sred->ksp, PETSC_TRUE)); in PCApplyRichardson_Telescope_CoarseDM()
390 …if (PCTelescope_isActiveRank(sred)) PetscCall(KSPSetInitialGuessNonzero(sred->ksp, default_init_gu… in PCApplyRichardson_Telescope_CoarseDM()