Lines Matching full:pi
268 static PetscErrorCode DestroyCoarseProjection(Mat Pi) in DestroyCoarseProjection() argument
273 PetscCall(MatShellGetContext(Pi, &ctx)); in DestroyCoarseProjection()
282 PetscCall(MatShellSetContext(Pi, NULL)); in DestroyCoarseProjection()
286 static PetscErrorCode CoarseProjection(Mat Pi, Vec x, Vec y) in CoarseProjection() argument
291 PetscCall(MatShellGetContext(Pi, &ctx)); in CoarseProjection()
306 static PetscErrorCode CreateCoarseProjection(DM dmc, DM dmf, Mat *Pi) in CreateCoarseProjection() argument
326 PetscCall(MatCreateShell(PetscObjectComm((PetscObject)dmc), m, n, M, N, ctx, Pi)); in CreateCoarseProjection()
327 PetscCall(MatShellSetOperation(*Pi, MATOP_DESTROY, (PetscErrorCodeFn *)DestroyCoarseProjection)); in CreateCoarseProjection()
328 PetscCall(MatShellSetOperation(*Pi, MATOP_MULT, (PetscErrorCodeFn *)CoarseProjection)); in CreateCoarseProjection()
334 Mat Pi; /* The L_2 stable projection to the DG coarse space */ member
346 PetscCall(MatDestroy(&ctx->Pi)); in DestroyQuasiInterpolator()
367 PetscCall(MatMult(ctx->Pi, x, ctx->tmpc)); in QuasiInterpolate()
424 PetscCall(CreateCoarseProjection(dmcdg, dmf, &ctx->Pi)); in CreateQuasiInterpolator()