| /libCEED/examples/solids/src/ |
| H A D | matops.c | 23 PetscErrorCode ApplyLocalCeedOp(Vec X, Vec Y, UserMult user) { in ApplyLocalCeedOp() argument 30 PetscCall(DMGlobalToLocal(user->dm, X, INSERT_VALUES, user->X_loc)); in ApplyLocalCeedOp() 31 PetscCall(VecZeroEntries(user->Y_loc)); in ApplyLocalCeedOp() 34 PetscCall(VecGetArrayReadAndMemType(user->X_loc, (const PetscScalar **)&x, &x_mem_type)); in ApplyLocalCeedOp() 35 PetscCall(VecGetArrayAndMemType(user->Y_loc, &y, &y_mem_type)); in ApplyLocalCeedOp() 36 CeedVectorSetArray(user->x_ceed, MemTypeP2C(x_mem_type), CEED_USE_POINTER, x); in ApplyLocalCeedOp() 37 CeedVectorSetArray(user->y_ceed, MemTypeP2C(y_mem_type), CEED_USE_POINTER, y); in ApplyLocalCeedOp() 40 CeedOperatorApply(user->op, user->x_ceed, user->y_ceed, CEED_REQUEST_IMMEDIATE); in ApplyLocalCeedOp() 43 CeedVectorTakeArray(user->x_ceed, MemTypeP2C(x_mem_type), NULL); in ApplyLocalCeedOp() 44 CeedVectorTakeArray(user->y_ceed, MemTypeP2C(y_mem_type), NULL); in ApplyLocalCeedOp() [all …]
|
| H A D | misc.c | 144 PetscErrorCode ViewDiagnosticQuantities(MPI_Comm comm, DM dmU, UserMult user, AppCtx app_ctx, Vec U… in ViewDiagnosticQuantities() argument 158 PetscCall(DMCreateGlobalVector(user->dm, &Diagnostic)); in ViewDiagnosticQuantities() 160 PetscCall(DMCreateLocalVector(user->dm, &Y_loc)); in ViewDiagnosticQuantities() 162 CeedVectorCreate(user->ceed, loc_size, &y_ceed); in ViewDiagnosticQuantities() 168 PetscCall(VecZeroEntries(user->X_loc)); in ViewDiagnosticQuantities() 169 …PetscCall(DMPlexInsertBoundaryValues(dmU, PETSC_TRUE, user->X_loc, user->load_increment, NULL, NUL… in ViewDiagnosticQuantities() 170 PetscCall(DMGlobalToLocal(dmU, U, INSERT_VALUES, user->X_loc)); in ViewDiagnosticQuantities() 174 PetscCall(VecGetArrayReadAndMemType(user->X_loc, (const PetscScalar **)&x, &x_mem_type)); in ViewDiagnosticQuantities() 176 CeedVectorSetArray(user->x_ceed, MemTypeP2C(x_mem_type), CEED_USE_POINTER, x); in ViewDiagnosticQuantities() 180 CeedOperatorApply(user->op, user->x_ceed, y_ceed, CEED_REQUEST_IMMEDIATE); in ViewDiagnosticQuantities() [all …]
|
| /libCEED/examples/fluids/src/ |
| H A D | setupts.c | 19 PetscErrorCode UpdateBoundaryValues(User user, Vec Q_loc, PetscReal t) { in UpdateBoundaryValues() argument 21 if (user->time_bc_set != t) { in UpdateBoundaryValues() 22 PetscCall(DMPlexInsertBoundaryValues(user->dm, PETSC_TRUE, Q_loc, t, NULL, NULL, NULL)); in UpdateBoundaryValues() 23 user->time_bc_set = t; in UpdateBoundaryValues() 32 User user = *(User *)user_data; in RHS_NS() local 33 Ceed ceed = user->ceed; in RHS_NS() 35 Vec Q_loc = user->Q_loc; in RHS_NS() 40 PetscCall(UpdateBoundaryValues(user, Q_loc, t)); in RHS_NS() 41 …if (user->phys->solution_time_label) PetscCallCeed(ceed, CeedOperatorSetContextDouble(user->op_rhs… in RHS_NS() 43 …if (user->phys->timestep_size_label) PetscCallCeed(ceed, CeedOperatorSetContextDouble(user->op_rhs… in RHS_NS() [all …]
|
| H A D | turb_spanstats.c | 29 PetscErrorCode CreateStatsDM(User user, ProblemData problem, PetscInt degree) { in CreateStatsDM() argument 30 user->spanstats.num_comp_stats = TURB_NUM_COMPONENTS; in CreateStatsDM() 34 MPI_Comm comm = PetscObjectComm((PetscObject)user->dm); in CreateStatsDM() 42 PetscCall(DMGetBoundingBox(user->dm, domain_min, domain_max)); in CreateStatsDM() 43 user->spanstats.span_width = domain_max[2] - domain_min[2]; in CreateStatsDM() 52 PetscCall(DMPlexGetIsoperiodicFaceSF(user->dm, &num_isoperiodicface, &isoperiodicface)); in CreateStatsDM() 63 PetscCall(DMCreateLabel(user->dm, "Periodic Face")); in CreateStatsDM() 64 PetscCall(DMGetLabel(user->dm, "Periodic Face", &label)); in CreateStatsDM() 70 PetscCall(DMGetLabel(user->dm, "Face Sets", &label)); in CreateStatsDM() 73 PetscCall(DMPlexLabelComplete(user->dm, label)); in CreateStatsDM() [all …]
|
| H A D | setupdm.c | 111 PetscErrorCode VizRefineDM(DM dm, User user, ProblemData problem, SimpleBC bc, Physics phys) { in VizRefineDM() argument 112 DM dm_hierarchy[user->app_ctx->viz_refine + 1]; in VizRefineDM() 119 for (PetscInt i = 0, d = user->app_ctx->degree; i < user->app_ctx->viz_refine; i++) { in VizRefineDM() 126 PetscInt q_order = d + user->app_ctx->q_extra; in VizRefineDM() 127 if (i + 1 == user->app_ctx->viz_refine) d = 1; in VizRefineDM() 132 if (!i) user->interp_viz = interp_next; in VizRefineDM() 135 PetscCall(MatMatMult(interp_next, user->interp_viz, MAT_INITIAL_MATRIX, PETSC_DECIDE, &C)); in VizRefineDM() 137 PetscCall(MatDestroy(&user->interp_viz)); in VizRefineDM() 138 user->interp_viz = C; in VizRefineDM() 141 for (PetscInt i = 1; i < user->app_ctx->viz_refine; i++) { in VizRefineDM() [all …]
|
| H A D | setuplibceed.c | 17 static PetscErrorCode CreateKSPMassOperator_Unstabilized(User user, CeedOperator *op_mass) { in CreateKSPMassOperator_Unstabilized() argument 18 Ceed ceed = user->ceed; in CreateKSPMassOperator_Unstabilized() 31 PetscCallCeed(ceed, CeedOperatorCompositeGetSubList(user->op_rhs_ctx->op, &sub_ops)); in CreateKSPMassOperator_Unstabilized() 57 static PetscErrorCode CreateKSPMass(User user, ProblemData problem) { in CreateKSPMass() argument 58 Ceed ceed = user->ceed; in CreateKSPMass() 59 DM dm = user->dm; in CreateKSPMass() 63 if (problem->create_mass_operator) PetscCall(problem->create_mass_operator(user, &op_mass)); in CreateKSPMass() 64 else PetscCall(CreateKSPMassOperator_Unstabilized(user, &op_mass)); in CreateKSPMass() 76 PetscCall(KSPCreate(comm, &user->mass_ksp)); in CreateKSPMass() 77 PetscCall(KSPSetOptionsPrefix(user->mass_ksp, "mass_")); in CreateKSPMass() [all …]
|
| H A D | differential_filter.c | 18 PetscErrorCode DifferentialFilterCreateOperators(Ceed ceed, User user, CeedData ceed_data, CeedQFun… in DifferentialFilterCreateOperators() argument 19 DiffFilterData diff_filter = user->diff_filter; in DifferentialFilterCreateOperators() 25 PetscCall(DMGetDimension(user->dm, &dim)); in DifferentialFilterCreateOperators() 33 switch (user->phys->state_var) { in DifferentialFilterCreateOperators() 79 …PetscCall(OperatorApplyContextCreate(user->dm, dm_filter, ceed, op_rhs, NULL, NULL, user->Q_loc, N… in DifferentialFilterCreateOperators() 93 PetscCall(DMGetDimension(user->dm, &dim)); in DifferentialFilterCreateOperators() 97 …PetscCall(GridAnisotropyTensorCalculateCollocatedVector(ceed, user, ceed_data, &elem_restr_grid_an… in DifferentialFilterCreateOperators() 121 …SETERRQ(PetscObjectComm((PetscObject)user->dm), PETSC_ERR_SUP, "Differential filtering not availab… in DifferentialFilterCreateOperators() 184 PetscErrorCode DifferentialFilterSetup(Ceed ceed, User user, CeedData ceed_data, ProblemData proble… in DifferentialFilterSetup() argument 185 MPI_Comm comm = user->comm; in DifferentialFilterSetup() [all …]
|
| H A D | misc.c | 19 PetscErrorCode ICs_FixMultiplicity(DM dm, CeedData ceed_data, User user, Vec Q_loc, Vec Q, CeedScal… in ICs_FixMultiplicity() argument 20 Ceed ceed = user->ceed; in ICs_FixMultiplicity() 26 …if (user->phys->ics_time_label) PetscCallCeed(ceed, CeedOperatorSetContextDouble(ceed_data->op_ics… in ICs_FixMultiplicity() 176 PetscErrorCode PrintError(CeedData ceed_data, DM dm, User user, Vec Q, PetscScalar final_time) { in PrintError() argument 186 PetscCall(ICs_FixMultiplicity(dm, ceed_data, user, Q_exact_loc, Q_exact, final_time)); in PrintError() 201 PetscErrorCode PostProcess(TS ts, CeedData ceed_data, DM dm, ProblemData problem, User user, Vec Q,… in PostProcess() argument 207 if (problem->compute_exact_solution_error && user->app_ctx->test_type == TESTTYPE_NONE) { in PostProcess() 208 PetscCall(PrintError(ceed_data, dm, user, Q, final_time)); in PostProcess() 214 if (user->app_ctx->test_type == TESTTYPE_NONE) { in PostProcess() 223 if (user->app_ctx->test_type == TESTTYPE_SOLVER) { in PostProcess() [all …]
|
| H A D | velocity_gradient_projection.c | 16 PetscErrorCode VelocityGradientProjectionCreateDM(NodalProjectionData grad_velo_proj, User user, Pe… in VelocityGradientProjectionCreateDM() argument 22 PetscCall(DMClone(user->dm, &grad_velo_proj->dm)); in VelocityGradientProjectionCreateDM() 25 …PetscCall(DMSetupByOrder_FEM(PETSC_TRUE, PETSC_TRUE, user->app_ctx->degree, 1, user->app_ctx->q_ex… in VelocityGradientProjectionCreateDM() 42 PetscErrorCode VelocityGradientProjectionSetup(Ceed ceed, User user, CeedData ceed_data, ProblemDat… in VelocityGradientProjectionSetup() argument 56 PetscCall(VelocityGradientProjectionCreateDM(grad_velo_proj, user, user->app_ctx->degree)); in VelocityGradientProjectionSetup() 97 …PetscCall(OperatorApplyContextCreate(user->dm, grad_velo_proj->dm, ceed, op_rhs_assemble, NULL, NU… in VelocityGradientProjectionSetup()
|
| H A D | strong_boundary_conditions.c | 137 User user; in DMPlexInsertBoundaryValues_StrongBCCeed() local 140 PetscCall(DMGetApplicationContext(dm, &user)); in DMPlexInsertBoundaryValues_StrongBCCeed() 142 if (user->phys->stg_solution_time_label) { in DMPlexInsertBoundaryValues_StrongBCCeed() 143 …PetscCallCeed(user->ceed, CeedOperatorSetContextDouble(user->op_strong_bc_ctx->op, user->phys->stg… in DMPlexInsertBoundaryValues_StrongBCCeed() 151 PetscCall(ApplyAddCeedOperatorLocalToLocal(NULL, Q_loc, user->op_strong_bc_ctx)); in DMPlexInsertBoundaryValues_StrongBCCeed() 155 PetscErrorCode SetupStrongBC_Ceed(Ceed ceed, CeedData ceed_data, DM dm, User user, ProblemData prob… in SetupStrongBC_Ceed() argument 177 PetscCall(SetupStrongSTG_Ceed(ceed, ceed_data, dm, problem, bc, user->phys, op_strong_bc)); in SetupStrongBC_Ceed() 181 …eate(NULL, NULL, ceed, op_strong_bc, CEED_VECTOR_NONE, NULL, NULL, NULL, &user->op_strong_bc_ctx)); in SetupStrongBC_Ceed()
|
| H A D | grid_anisotropy_tensor.c | 14 PetscErrorCode GridAnisotropyTensorProjectionSetupApply(Ceed ceed, User user, CeedData ceed_data, C… in GridAnisotropyTensorProjectionSetupApply() argument 22 MPI_Comm comm = PetscObjectComm((PetscObject)user->dm); in GridAnisotropyTensorProjectionSetupApply() 32 PetscCall(DMClone(user->dm, &grid_aniso_proj->dm)); in GridAnisotropyTensorProjectionSetupApply() 37 …PetscCall(DMSetupByOrder_FEM(PETSC_TRUE, PETSC_TRUE, user->app_ctx->degree, 1, user->app_ctx->q_ex… in GridAnisotropyTensorProjectionSetupApply() 66 …PetscCall(OperatorApplyContextCreate(user->dm, grid_aniso_proj->dm, ceed, op_rhs_assemble, CEED_VE… in GridAnisotropyTensorProjectionSetupApply() 127 PetscErrorCode GridAnisotropyTensorCalculateCollocatedVector(Ceed ceed, User user, CeedData ceed_da… in GridAnisotropyTensorCalculateCollocatedVector() argument 139 …PetscCall(DMPlexCeedElemRestrictionQDataCreate(ceed, user->dm, domain_label, label_value, height, … in GridAnisotropyTensorCalculateCollocatedVector()
|
| /libCEED/examples/fluids/ |
| H A D | navierstokes.c | 77 User user; in main() local 78 PetscCall(PetscCalloc1(1, &user)); in main() 92 user->app_ctx = app_ctx; in main() 93 user->units = units; in main() 94 user->phys = phys_ctx; in main() 107 user->comm = comm; in main() 109 PetscCall(BoundaryConditionSetUp(user, problem, app_ctx, bc)); in main() 117 user->ceed = ceed; in main() 161 user->dm = dm; in main() 162 PetscCall(DMSetApplicationContext(dm, user)); in main() [all …]
|
| H A D | navierstokes.h | 222 PetscErrorCode BoundaryConditionSetUp(User user, ProblemData problem, AppCtx app_ctx, SimpleBC bc); 262 extern PetscErrorCode PRINT_NEWTONIAN(User user, ProblemData problem, AppCtx app_ctx); 264 extern PetscErrorCode PRINT_EULER_VORTEX(User user, ProblemData problem, AppCtx app_ctx); 266 extern PetscErrorCode PRINT_SHOCKTUBE(User user, ProblemData problem, AppCtx app_ctx); 268 extern PetscErrorCode PRINT_ADVECTION(User user, ProblemData problem, AppCtx app_ctx); 270 extern PetscErrorCode PRINT_ADVECTION2D(User user, ProblemData problem, AppCtx app_ctx); 272 PetscErrorCode PrintRunInfo(User user, Physics phys_ctx, ProblemData problem, TS ts); 292 PetscErrorCode SetupLibceed(Ceed ceed, CeedData ceed_data, DM dm, User user, AppCtx app_ctx, Proble… 313 PetscErrorCode TSSolve_NS(DM dm, User user, AppCtx app_ctx, Physics phys, ProblemData problem, Vec … 316 PetscErrorCode UpdateBoundaryValues(User user, Vec Q_loc, PetscReal t); [all …]
|
| /libCEED/examples/fluids/problems/ |
| H A D | channel.c | 19 User user = *(User *)ctx; in NS_CHANNEL() local 20 MPI_Comm comm = user->comm; in NS_CHANNEL() 21 Ceed ceed = user->ceed; in NS_CHANNEL() 36 if (user->phys->state_var == STATEVAR_CONSERVATIVE) { in NS_CHANNEL() 55 PetscScalar meter = user->units->meter; in NS_CHANNEL() 56 PetscScalar second = user->units->second; in NS_CHANNEL() 57 PetscScalar Kelvin = user->units->Kelvin; in NS_CHANNEL() 58 PetscScalar Pascal = user->units->Pascal; in NS_CHANNEL() 83 channel_ctx->implicit = user->phys->implicit; in NS_CHANNEL() 97 PetscCallCeed(ceed, CeedQFunctionContextCreate(user->ceed, &channel_context)); in NS_CHANNEL()
|
| H A D | shocktube.c | 20 User user = *(User *)ctx; in NS_SHOCKTUBE() local 21 MPI_Comm comm = user->comm; in NS_SHOCKTUBE() 22 Ceed ceed = user->ceed; in NS_SHOCKTUBE() 101 user->units->meter = meter; in NS_SHOCKTUBE() 102 user->units->second = second; in NS_SHOCKTUBE() 124 user->phys->implicit = implicit; in NS_SHOCKTUBE() 132 PetscCallCeed(ceed, CeedQFunctionContextCreate(user->ceed, &problem->ics.qfunction_context)); in NS_SHOCKTUBE() 137 PetscCallCeed(ceed, CeedQFunctionContextCreate(user->ceed, &shocktube_context)); in NS_SHOCKTUBE() 144 PetscErrorCode PRINT_SHOCKTUBE(User user, ProblemData problem, AppCtx app_ctx) { in PRINT_SHOCKTUBE() argument 145 MPI_Comm comm = user->comm; in PRINT_SHOCKTUBE()
|
| H A D | gaussianwave.c | 20 User user = *(User *)ctx; in NS_GAUSSIAN_WAVE() local 21 MPI_Comm comm = user->comm; in NS_GAUSSIAN_WAVE() 22 Ceed ceed = user->ceed; in NS_GAUSSIAN_WAVE() 31 switch (user->phys->state_var) { in NS_GAUSSIAN_WAVE() 59 width *= user->units->meter; in NS_GAUSSIAN_WAVE() 60 for (int i = 0; i < 3; i++) epicenter[i] *= user->units->meter; in NS_GAUSSIAN_WAVE() 76 PetscCallCeed(ceed, CeedQFunctionContextCreate(user->ceed, &gausswave_context)); in NS_GAUSSIAN_WAVE()
|
| H A D | advection.c | 21 PetscErrorCode CreateKSPMassOperator_AdvectionStabilized(User user, CeedOperator *op_mass) { in CreateKSPMassOperator_AdvectionStabilized() argument 22 Ceed ceed = user->ceed; in CreateKSPMassOperator_AdvectionStabilized() 32 PetscCall(DMGetDimension(user->dm, &dim)); in CreateKSPMassOperator_AdvectionStabilized() 38 PetscCallCeed(ceed, CeedOperatorCompositeGetSubList(user->op_rhs_ctx->op, &sub_ops)); in CreateKSPMassOperator_AdvectionStabilized() 70 PetscCallCeed(ceed, CeedOperatorSetField(*op_mass, "q", elem_restr_q, basis_q, user->q_ceed)); in CreateKSPMassOperator_AdvectionStabilized() 91 User user = *(User *)ctx; in NS_ADVECTION() local 92 MPI_Comm comm = user->comm; in NS_ADVECTION() 93 Ceed ceed = user->ceed; in NS_ADVECTION() 143 CeedScalar Ctau_a = PetscPowScalarInt(user->app_ctx->degree, 2); in NS_ADVECTION() 218 user->units->meter = meter; in NS_ADVECTION() [all …]
|
| H A D | densitycurrent.c | 19 User user = *(User *)ctx; in NS_DENSITY_CURRENT() local 20 MPI_Comm comm = user->comm; in NS_DENSITY_CURRENT() 21 Ceed ceed = user->ceed; in NS_DENSITY_CURRENT() 75 PetscScalar meter = user->units->meter; in NS_DENSITY_CURRENT() 76 PetscScalar second = user->units->second; in NS_DENSITY_CURRENT() 77 PetscScalar Kelvin = user->units->Kelvin; in NS_DENSITY_CURRENT() 78 PetscScalar Pascal = user->units->Pascal; in NS_DENSITY_CURRENT() 101 PetscCallCeed(ceed, CeedQFunctionContextCreate(user->ceed, &density_current_context)); in NS_DENSITY_CURRENT()
|
| H A D | eulervortex.c | 20 User user = *(User *)ctx; in NS_EULER_VORTEX() local 22 MPI_Comm comm = user->comm; in NS_EULER_VORTEX() 23 Ceed ceed = user->ceed; in NS_EULER_VORTEX() 102 user->units->meter = meter; in NS_EULER_VORTEX() 103 user->units->second = second; in NS_EULER_VORTEX() 117 user->phys->implicit = implicit; in NS_EULER_VORTEX() 131 PetscCallCeed(ceed, CeedQFunctionContextCreate(user->ceed, &euler_context)); in NS_EULER_VORTEX() 145 PetscErrorCode PRINT_EULER_VORTEX(User user, ProblemData problem, AppCtx app_ctx) { in PRINT_EULER_VORTEX() argument 146 MPI_Comm comm = user->comm; in PRINT_EULER_VORTEX() 147 Ceed ceed = user->ceed; in PRINT_EULER_VORTEX()
|
| H A D | newtonian.c | 110 static PetscErrorCode UnitTests_Newtonian(User user, NewtonianIdealGasContext gas) { in UnitTests_Newtonian() argument 111 Units units = user->units; in UnitTests_Newtonian() 158 PetscErrorCode CreateKSPMassOperator_NewtonianStabilized(User user, CeedOperator *op_mass) { in CreateKSPMassOperator_NewtonianStabilized() argument 159 Ceed ceed = user->ceed; in CreateKSPMassOperator_NewtonianStabilized() 174 PetscCallCeed(ceed, CeedOperatorCompositeGetSubList(user->op_rhs_ctx->op, &sub_ops)); in CreateKSPMassOperator_NewtonianStabilized() 199 PetscCallCeed(ceed, CeedOperatorSetField(*op_mass, "q", elem_restr_q, basis_q, user->q_ceed)); in CreateKSPMassOperator_NewtonianStabilized() 215 User user = *(User *)ctx; in NS_NEWTONIAN_IG() local 216 CeedInt degree = user->app_ctx->degree; in NS_NEWTONIAN_IG() 219 MPI_Comm comm = user->comm; in NS_NEWTONIAN_IG() 220 Ceed ceed = user->ceed; in NS_NEWTONIAN_IG() [all …]
|
| H A D | blasius.c | 242 User user = *(User *)ctx; in NS_BLASIUS() local 243 MPI_Comm comm = user->comm; in NS_BLASIUS() 244 Ceed ceed = user->ceed; in NS_BLASIUS() 288 if (user->app_ctx->mesh_transform_type == MESH_TRANSFORM_PLATEMESH) { in NS_BLASIUS() 303 PetscScalar meter = user->units->meter; in NS_BLASIUS() 304 PetscScalar second = user->units->second; in NS_BLASIUS() 305 PetscScalar Kelvin = user->units->Kelvin; in NS_BLASIUS() 306 PetscScalar Pascal = user->units->Pascal; in NS_BLASIUS() 314 if (user->app_ctx->mesh_transform_type == MESH_TRANSFORM_PLATEMESH) { in NS_BLASIUS() 336 blasius_ctx->implicit = user->phys->implicit; in NS_BLASIUS() [all …]
|
| H A D | bc_slip.c | 20 User user = *(User *)ctx; in SlipBCSetup() local 21 Ceed ceed = user->ceed; in SlipBCSetup() 24 switch (user->phys->state_var) { in SlipBCSetup()
|
| H A D | bc_freestream.c | 24 User user = *(User *)ctx; in FreestreamBCSetup() local 25 MPI_Comm comm = user->comm; in FreestreamBCSetup() 26 Ceed ceed = user->ceed; in FreestreamBCSetup() 30 PetscScalar meter = user->units->meter; in FreestreamBCSetup() 31 PetscScalar second = user->units->second; in FreestreamBCSetup() 32 PetscScalar Kelvin = user->units->Kelvin; in FreestreamBCSetup() 33 PetscScalar Pascal = user->units->Pascal; in FreestreamBCSetup() 50 switch (user->phys->state_var) { in FreestreamBCSetup() 112 PetscCallCeed(ceed, CeedQFunctionContextCreate(user->ceed, &freestream_context)); in FreestreamBCSetup() 134 User user = *(User *)ctx; in OutflowBCSetup() local [all …]
|
| /libCEED/python/tests/ |
| H A D | README.md | 8 To run the tests, first build the user QFunctions file by running 18 To build user defined QFunctions, modify `libceed-qfunctions.c` to include 22 loading the user defined QFunctions so the QFunction pointers can be passed to
|
| /libCEED/examples/solids/include/ |
| H A D | matops.h | 16 PetscErrorCode ApplyLocalCeedOp(Vec X, Vec Y, UserMult user); 37 PetscErrorCode ComputeStrainEnergy(DM dm_energy, UserMult user, CeedOperator op_energy, Vec X, Pets…
|