Lines Matching refs:op_apply_ctx
8 …PI_Comm comm, DM dm, Ceed ceed, CeedData ceed_data, Vec X_loc, OperatorApplyContext op_apply_ctx) { in SetupApplyOperatorCtx() argument
10 op_apply_ctx->comm = comm; in SetupApplyOperatorCtx()
11 op_apply_ctx->dm = dm; in SetupApplyOperatorCtx()
12 op_apply_ctx->X_loc = X_loc; in SetupApplyOperatorCtx()
13 PetscCall(VecDuplicate(X_loc, &op_apply_ctx->Y_loc)); in SetupApplyOperatorCtx()
14 op_apply_ctx->x_ceed = ceed_data->x_ceed; in SetupApplyOperatorCtx()
15 op_apply_ctx->y_ceed = ceed_data->y_ceed; in SetupApplyOperatorCtx()
16 op_apply_ctx->op = ceed_data->op_apply; in SetupApplyOperatorCtx()
17 op_apply_ctx->ceed = ceed; in SetupApplyOperatorCtx()
42 OperatorApplyContext op_apply_ctx; in MatGetDiag() local
45 PetscCall(MatShellGetContext(A, &op_apply_ctx)); in MatGetDiag()
51 PetscCall(VecP2C(op_apply_ctx->Y_loc, &mem_type, op_apply_ctx->y_ceed)); in MatGetDiag()
54 …CeedOperatorLinearAssembleDiagonal(op_apply_ctx->op, op_apply_ctx->y_ceed, CEED_REQUEST_IMMEDIATE); in MatGetDiag()
57 PetscCall(VecC2P(op_apply_ctx->y_ceed, mem_type, op_apply_ctx->Y_loc)); in MatGetDiag()
59 PetscCall(DMLocalToGlobal(op_apply_ctx->dm, op_apply_ctx->Y_loc, ADD_VALUES, D)); in MatGetDiag()
66 PetscErrorCode ApplyLocal_Ceed(Vec X, Vec Y, OperatorApplyContext op_apply_ctx) { in ApplyLocal_Ceed() argument
71 PetscCall(DMGlobalToLocal(op_apply_ctx->dm, X, INSERT_VALUES, op_apply_ctx->X_loc)); in ApplyLocal_Ceed()
74 PetscCall(VecReadP2C(op_apply_ctx->X_loc, &x_mem_type, op_apply_ctx->x_ceed)); in ApplyLocal_Ceed()
75 PetscCall(VecP2C(op_apply_ctx->Y_loc, &y_mem_type, op_apply_ctx->y_ceed)); in ApplyLocal_Ceed()
78 …CeedOperatorApply(op_apply_ctx->op, op_apply_ctx->x_ceed, op_apply_ctx->y_ceed, CEED_REQUEST_IMMED… in ApplyLocal_Ceed()
81 PetscCall(VecReadC2P(op_apply_ctx->x_ceed, x_mem_type, op_apply_ctx->X_loc)); in ApplyLocal_Ceed()
82 PetscCall(VecC2P(op_apply_ctx->y_ceed, y_mem_type, op_apply_ctx->Y_loc)); in ApplyLocal_Ceed()
86 PetscCall(DMLocalToGlobal(op_apply_ctx->dm, op_apply_ctx->Y_loc, ADD_VALUES, Y)); in ApplyLocal_Ceed()
94 OperatorApplyContext op_apply_ctx; in MatMult_Ceed() local
97 PetscCall(MatShellGetContext(A, &op_apply_ctx)); in MatMult_Ceed()
100 PetscCall(ApplyLocal_Ceed(X, Y, op_apply_ctx)); in MatMult_Ceed()