| /libCEED/examples/fluids/problems/ |
| H A D | bc_slip.c | 19 PetscErrorCode SlipBCSetup(ProblemData problem, DM dm, void *ctx, CeedQFunctionContext newtonian_ig… in SlipBCSetup() argument 26 problem->apply_slip.qfunction = Slip_Conserv; in SlipBCSetup() 27 problem->apply_slip.qfunction_loc = Slip_Conserv_loc; in SlipBCSetup() 28 problem->apply_slip_jacobian.qfunction = Slip_Jacobian_Conserv; in SlipBCSetup() 29 problem->apply_slip_jacobian.qfunction_loc = Slip_Jacobian_Conserv_loc; in SlipBCSetup() 32 problem->apply_slip.qfunction = Slip_Prim; in SlipBCSetup() 33 problem->apply_slip.qfunction_loc = Slip_Prim_loc; in SlipBCSetup() 34 problem->apply_slip_jacobian.qfunction = Slip_Jacobian_Prim; in SlipBCSetup() 35 problem->apply_slip_jacobian.qfunction_loc = Slip_Jacobian_Prim_loc; in SlipBCSetup() 38 problem->apply_slip.qfunction = Slip_Entropy; in SlipBCSetup() [all …]
|
| H A D | advection.c | 84 PetscErrorCode NS_ADVECTION(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_ADVECTION() argument 109 problem->dim = 2; in NS_ADVECTION() 110 problem->ics.qfunction = ICsAdvection2d; in NS_ADVECTION() 111 problem->ics.qfunction_loc = ICsAdvection2d_loc; in NS_ADVECTION() 112 problem->apply_vol_rhs.qfunction = RHS_Advection2d; in NS_ADVECTION() 113 problem->apply_vol_rhs.qfunction_loc = RHS_Advection2d_loc; in NS_ADVECTION() 114 problem->apply_vol_ifunction.qfunction = IFunction_Advection2d; in NS_ADVECTION() 115 problem->apply_vol_ifunction.qfunction_loc = IFunction_Advection2d_loc; in NS_ADVECTION() 116 problem->apply_inflow.qfunction = Advection2d_InOutFlow; in NS_ADVECTION() 117 problem->apply_inflow.qfunction_loc = Advection2d_InOutFlow_loc; in NS_ADVECTION() [all …]
|
| H A D | gaussianwave.c | 9 /// Utility functions for setting up Gaussian Wave problem 19 PetscErrorCode NS_GAUSSIAN_WAVE(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_GAUSSIAN_WAVE() argument 29 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx, bc)); in NS_GAUSSIAN_WAVE() 33 problem->ics.qfunction = IC_GaussianWave_Conserv; in NS_GAUSSIAN_WAVE() 34 problem->ics.qfunction_loc = IC_GaussianWave_Conserv_loc; in NS_GAUSSIAN_WAVE() 37 problem->ics.qfunction = IC_GaussianWave_Prim; in NS_GAUSSIAN_WAVE() 38 problem->ics.qfunction_loc = IC_GaussianWave_Prim_loc; in NS_GAUSSIAN_WAVE() 41 problem->ics.qfunction = IC_GaussianWave_Entropy; in NS_GAUSSIAN_WAVE() 42 problem->ics.qfunction_loc = IC_GaussianWave_Entropy_loc; in NS_GAUSSIAN_WAVE() 51 PetscOptionsBegin(comm, NULL, "Options for GAUSSIAN_WAVE problem", NULL); in NS_GAUSSIAN_WAVE() [all …]
|
| H A D | eulervortex.c | 18 PetscErrorCode NS_EULER_VORTEX(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_EULER_VORTEX() argument 34 problem->dim = 3; in NS_EULER_VORTEX() 35 problem->ics.qfunction = ICsEuler; in NS_EULER_VORTEX() 36 problem->ics.qfunction_loc = ICsEuler_loc; in NS_EULER_VORTEX() 37 problem->apply_vol_rhs.qfunction = Euler; in NS_EULER_VORTEX() 38 problem->apply_vol_rhs.qfunction_loc = Euler_loc; in NS_EULER_VORTEX() 39 problem->apply_vol_ifunction.qfunction = IFunction_Euler; in NS_EULER_VORTEX() 40 problem->apply_vol_ifunction.qfunction_loc = IFunction_Euler_loc; in NS_EULER_VORTEX() 41 problem->apply_inflow.qfunction = TravelingVortex_Inflow; in NS_EULER_VORTEX() 42 problem->apply_inflow.qfunction_loc = TravelingVortex_Inflow_loc; in NS_EULER_VORTEX() [all …]
|
| H A D | newtonian.c | 213 PetscErrorCode NS_NEWTONIAN_IG(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_NEWTONIAN_IG() argument 231 // Setup Generic Newtonian IG Problem in NS_NEWTONIAN_IG() 233 problem->dim = 3; in NS_NEWTONIAN_IG() 234 problem->jac_data_size_sur = 11; in NS_NEWTONIAN_IG() 235 problem->compute_exact_solution_error = PETSC_FALSE; in NS_NEWTONIAN_IG() 236 problem->print_info = PRINT_NEWTONIAN; in NS_NEWTONIAN_IG() 237 problem->uses_newtonian = PETSC_TRUE; in NS_NEWTONIAN_IG() 276 PetscOptionsBegin(comm, NULL, "Options for Newtonian Ideal Gas based problem", NULL); in NS_NEWTONIAN_IG() 283 problem->ics.qfunction = ICsNewtonianIG_Conserv; in NS_NEWTONIAN_IG() 284 problem->ics.qfunction_loc = ICsNewtonianIG_Conserv_loc; in NS_NEWTONIAN_IG() [all …]
|
| H A D | channel.c | 18 PetscErrorCode NS_CHANNEL(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_CHANNEL() argument 27 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx, bc)); in NS_CHANNEL() 33 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfunction_context)); in NS_CHANNEL() 34 problem->ics.qfunction = ICsChannel; in NS_CHANNEL() 35 problem->ics.qfunction_loc = ICsChannel_loc; in NS_CHANNEL() 37 problem->apply_inflow.qfunction = Channel_Inflow; in NS_CHANNEL() 38 problem->apply_inflow.qfunction_loc = Channel_Inflow_loc; in NS_CHANNEL() 39 problem->apply_outflow.qfunction = Channel_Outflow; in NS_CHANNEL() 40 problem->apply_outflow.qfunction_loc = Channel_Outflow_loc; in NS_CHANNEL() 48 PetscOptionsBegin(comm, NULL, "Options for CHANNEL problem", NULL); in NS_CHANNEL() [all …]
|
| H A D | bc_freestream.c | 23 PetscErrorCode FreestreamBCSetup(ProblemData problem, DM dm, void *ctx, NewtonianIdealGasContext ne… in FreestreamBCSetup() argument 54 problem->apply_freestream.qfunction = Freestream_Conserv_HLL; in FreestreamBCSetup() 55 problem->apply_freestream.qfunction_loc = Freestream_Conserv_HLL_loc; in FreestreamBCSetup() 56 problem->apply_freestream_jacobian.qfunction = Freestream_Jacobian_Conserv_HLL; in FreestreamBCSetup() 57 problem->apply_freestream_jacobian.qfunction_loc = Freestream_Jacobian_Conserv_HLL_loc; in FreestreamBCSetup() 60 problem->apply_freestream.qfunction = Freestream_Conserv_HLLC; in FreestreamBCSetup() 61 problem->apply_freestream.qfunction_loc = Freestream_Conserv_HLLC_loc; in FreestreamBCSetup() 62 problem->apply_freestream_jacobian.qfunction = Freestream_Jacobian_Conserv_HLLC; in FreestreamBCSetup() 63 problem->apply_freestream_jacobian.qfunction_loc = Freestream_Jacobian_Conserv_HLLC_loc; in FreestreamBCSetup() 70 problem->apply_freestream.qfunction = Freestream_Prim_HLL; in FreestreamBCSetup() [all …]
|
| H A D | shocktube.c | 18 PetscErrorCode NS_SHOCKTUBE(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_SHOCKTUBE() argument 36 problem->dim = 3; in NS_SHOCKTUBE() 37 problem->ics.qfunction = ICsShockTube; in NS_SHOCKTUBE() 38 problem->ics.qfunction_loc = ICsShockTube_loc; in NS_SHOCKTUBE() 39 problem->apply_vol_rhs.qfunction = EulerShockTube; in NS_SHOCKTUBE() 40 problem->apply_vol_rhs.qfunction_loc = EulerShockTube_loc; in NS_SHOCKTUBE() 41 problem->apply_vol_ifunction.qfunction = NULL; in NS_SHOCKTUBE() 42 problem->apply_vol_ifunction.qfunction_loc = NULL; in NS_SHOCKTUBE() 43 problem->compute_exact_solution_error = PETSC_FALSE; in NS_SHOCKTUBE() 44 problem->print_info = PRINT_SHOCKTUBE; in NS_SHOCKTUBE() [all …]
|
| H A D | densitycurrent.c | 18 PetscErrorCode NS_DENSITY_CURRENT(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_DENSITY_CURRENT() argument 27 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx, bc)); in NS_DENSITY_CURRENT() 32 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfunction_context)); in NS_DENSITY_CURRENT() 33 problem->ics.qfunction = ICsDC; in NS_DENSITY_CURRENT() 34 problem->ics.qfunction_loc = ICsDC_loc; in NS_DENSITY_CURRENT() 52 PetscOptionsBegin(comm, NULL, "Options for DENSITY_CURRENT problem", NULL); in NS_DENSITY_CURRENT() 59 PetscInt n = problem->dim; in NS_DENSITY_CURRENT() 61 n = problem->dim; in NS_DENSITY_CURRENT() 98 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfunction_context, CEED_MEM… in NS_DENSITY_CURRENT() 100 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfunction_context, &new… in NS_DENSITY_CURRENT() [all …]
|
| H A D | stg_shur14.c | 220 PetscErrorCode SetupStg(const MPI_Comm comm, const DM dm, ProblemData problem, User user, const boo… in SetupStg() argument 270 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfunction_context, CEED_MEM… in SetupStg() 272 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfunction_context, &new… in SetupStg() 282 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfunction_context)); in SetupStg() 283 problem->ics.qfunction = ICsStg; in SetupStg() 284 problem->ics.qfunction_loc = ICsStg_loc; in SetupStg() 285 problem->ics.qfunction_context = stg_context; in SetupStg() 289 problem->use_strong_bc_ceed = PETSC_TRUE; in SetupStg() 290 problem->set_bc_from_ics = PETSC_FALSE; in SetupStg() 292 problem->apply_inflow.qfunction = StgShur14Inflow; in SetupStg() [all …]
|
| H A D | taylorgreen.c | 15 PetscErrorCode NS_TAYLOR_GREEN(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_TAYLOR_GREEN() argument 17 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx, bc)); in NS_TAYLOR_GREEN() 19 problem->ics.qfunction = ICsTaylorGreen; in NS_TAYLOR_GREEN() 20 problem->ics.qfunction_loc = ICsTaylorGreen_loc; in NS_TAYLOR_GREEN()
|
| H A D | stg_shur14.h | 14 extern PetscErrorCode SetupStg(const MPI_Comm comm, const DM dm, ProblemData problem, User user, co… 17 extern PetscErrorCode SetupStrongStg(DM dm, SimpleBC bc, ProblemData problem, Physics phys); 19 extern PetscErrorCode SetupStrongStg_QF(Ceed ceed, ProblemData problem, CeedInt num_comp_x, CeedInt… 22 extern PetscErrorCode SetupStrongStg_PreProcessing(Ceed ceed, ProblemData problem, CeedInt num_comp…
|
| H A D | blasius.c | 241 PetscErrorCode NS_BLASIUS(ProblemData problem, DM dm, void *ctx, SimpleBC bc) { in NS_BLASIUS() argument 251 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx, bc)); in NS_BLASIUS() 257 problem->ics.qfunction = ICsBlasius; in NS_BLASIUS() 258 problem->ics.qfunction_loc = ICsBlasius_loc; in NS_BLASIUS() 274 PetscOptionsBegin(comm, NULL, "Options for BLASIUS problem", NULL); in NS_BLASIUS() 318 …PetscCall(ModifyMesh(comm, dm, problem->dim, mesh_growth, mesh_Ndelta, mesh_refine_height, mesh_to… in NS_BLASIUS() 323 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfunction_context, CEED_MEM… in NS_BLASIUS() 350 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfunction_context, &new… in NS_BLASIUS() 356 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfunction_context)); in NS_BLASIUS() 357 problem->ics.qfunction_context = blasius_context; in NS_BLASIUS() [all …]
|
| /libCEED/examples/petsc/ |
| H A D | README.md | 3 This page provides a description of the CEED bakeoff problem examples for the libCEED library, base… 11 To run, `./bpsraw -ceed [ceed-resource] -problem bp[1-6] -degree [degree]` 23 To run, `./bps -ceed [ceed-resource] -problem bp[1-6] -degree [degree]` 35 mpiexec -n 64 ./bps -problem bp1,bp2,bp3,bp4 -degree 2,3,5,7 \ 39 which will sample from the `4*4*3=48` specified combinations, each of which will run a problem-size… 48 To run, `./multigrid -ceed [ceed-resource] -problem bp[1-6] -degree [degree]` 60 - `-problem` - CEED benchmark problem to solve 72 To run, `./area -problem cube -ceed [ceed-resource] -petscspace_degree [degree]` 76 `./area -problem sphere -ceed [ceed-resource] -petscspace_degree [degree]` 83 - `-problem` - Problem to solve, either 'cube' or 'sphere'
|
| H A D | bpssphere.c | 21 // bpssphere -problem bp1 -degree 3 22 // bpssphere -problem bp2 -degree 3 23 // bpssphere -problem bp3 -degree 3 24 // bpssphere -problem bp4 -degree 3 25 // bpssphere -problem bp5 -degree 3 -ceed /cpu/self 26 // bpssphere -problem bp6 -degree 3 -ceed /gpu/cuda 28 //TESTARGS -ceed {ceed_resource} -test -problem bp3 -degree 3 -dm_refine 2 76 …PetscCall(PetscOptionsEnum("-problem", "CEED benchmark problem to solve", NULL, bp_types, (PetscEn… in main() 155 … "\n-- CEED Benchmark Problem %" CeedInt_FMT " on the Sphere -- libCEED + PETSc --\n" in main()
|
| H A D | area.c | 22 // ./area -problem cube -degree 3 -dm_refine 2 23 // ./area -problem sphere -degree 3 -dm_refine 2 27 // mpiexec -n 4 ./area -problem cube -degree 3 -dm_refine 2 28 // mpiexec -n 4 ./area -problem sphere -degree 3 -dm_refine 2 81 PetscOptionsBegin(comm, NULL, "CEED surface area problem with PETSc", NULL); in main() 83 …PetscCall(PetscOptionsEnum("-problem", "Problem to solve", NULL, problem_types, (PetscEnum)problem… in main()
|
| H A D | bps.c | 20 // ./bps -problem bp1 -degree 3 21 // ./bps -problem bp2 -degree 3 22 // ./bps -problem bp3 -degree 3 23 // ./bps -problem bp4 -degree 3 24 // ./bps -problem bp5 -degree 3 -ceed /cpu/self 25 // ./bps -problem bp6 -degree 3 -ceed /gpu/cuda 27 //TESTARGS(name="BP3, tet elements") -ceed {ceed_resource} -test -problem bp3 -degree 3 -ksp_max_it… 28 //TESTARGS(name="BP5, hex elements") -ceed {ceed_resource} -test -problem bp5 -degree 3 -ksp_max_it… 29 //TESTARGS(name="BP1+3, hex elements") -ceed {ceed_resource} -test -problem bp1_3 -degree 3 -ksp_ma… 30 //TESTARGS(name="BP2+4, hex elements") -ceed {ceed_resource} -test -problem bp2_4 -degree 3 -ksp_ma… [all …]
|
| /libCEED/examples/fluids/src/ |
| H A D | setuplibceed.c | 57 static PetscErrorCode CreateKSPMass(User user, ProblemData problem) { in CreateKSPMass() argument 63 if (problem->create_mass_operator) PetscCall(problem->create_mass_operator(user, &op_mass)); in CreateKSPMass() 181 … AddBCSubOperators(User user, Ceed ceed, DM dm, SimpleBC bc, ProblemData problem, CeedData ceed_da… in AddBCSubOperators() argument 185 const CeedInt jac_data_size_sur = user->phys->implicit ? problem->jac_data_size_sur : 0; in AddBCSubOperators() 228 …s(ceed, dim_sur, num_comp_x, num_comp_q, q_data_size_sur, jac_data_size_sur, problem->apply_inflow, in AddBCSubOperators() 229 … problem->apply_inflow_jacobian, &qf_apply_inflow, &qf_apply_inflow_jacobian)); in AddBCSubOperators() 241 …(ceed, dim_sur, num_comp_x, num_comp_q, q_data_size_sur, jac_data_size_sur, problem->apply_outflow, in AddBCSubOperators() 242 … problem->apply_outflow_jacobian, &qf_apply_outflow, &qf_apply_outflow_jacobian)); in AddBCSubOperators() 254 …ed, dim_sur, num_comp_x, num_comp_q, q_data_size_sur, jac_data_size_sur, problem->apply_freestream, in AddBCSubOperators() 255 … problem->apply_freestream_jacobian, &qf_apply_freestream, &qf_apply_freestream_jacobian)); in AddBCSubOperators() [all …]
|
| H A D | setupdm.c | 19 PetscErrorCode CreateDM(MPI_Comm comm, ProblemData problem, MatType mat_type, VecType vec_type, DM … in CreateDM() argument 45 PetscErrorCode SetUpDM(DM dm, ProblemData problem, PetscInt degree, PetscInt q_extra, SimpleBC bc, … in SetUpDM() argument 56 for (PetscInt i = 0; i < problem->num_bc_defs; i++) { in SetUpDM() 57 BCDefinition bc_def = problem->bc_defs[i]; in SetUpDM() 72 if (use_strongstg) PetscCall(SetupStrongStg(dm, bc, problem, phys)); in SetUpDM() 111 PetscErrorCode VizRefineDM(DM dm, User user, ProblemData problem, SimpleBC bc, Physics phys) { in VizRefineDM() argument 130 PetscCall(SetUpDM(dm_hierarchy[i + 1], problem, d, q_order, bc, phys)); in VizRefineDM()
|
| /libCEED/examples/fluids/ |
| H A D | README.md | 7 The Navier-Stokes problem solves the compressible Navier-Stokes equations in three dimensions using… 10 … libCEED is defined in [`navierstokes.c`](navierstokes.c) with different problem definitions accor… 21 ./navierstokes -ceed [ceed] -problem [problem type] -degree [degree] 29 The following options are common among all problem types: 54 * - `-problem` 55 …- Problem to solve (`advection`, `density_current`, `euler_vortex`, `shocktube`, `blasius`, `chann… 250 …., away from viscous walls), use `bc_freestream`, which solves a Riemann problem and can handle in… 267 …flow_type: pressure`, requires that the flow be a strict outflow (or the problem becomes ill-posed… 285 …ry integrals that cross the periodicity, such as for the outflow Riemann problem in the presence o… 303 The advection problems can be run in both 2D and 3D, based on the DM defined for the problem. [all …]
|
| H A D | navierstokes.h | 103 // Problem type arguments 222 PetscErrorCode BoundaryConditionSetUp(User user, ProblemData problem, AppCtx app_ctx, SimpleBC bc); 230 // Problem specific data 249 // Set up function for each problem 250 extern PetscErrorCode NS_TAYLOR_GREEN(ProblemData problem, DM dm, void *ctx, SimpleBC bc); 251 extern PetscErrorCode NS_GAUSSIAN_WAVE(ProblemData problem, DM dm, void *ctx, SimpleBC bc); 252 extern PetscErrorCode NS_CHANNEL(ProblemData problem, DM dm, void *ctx, SimpleBC bc); 253 extern PetscErrorCode NS_BLASIUS(ProblemData problem, DM dm, void *ctx, SimpleBC bc); 254 extern PetscErrorCode NS_NEWTONIAN_IG(ProblemData problem, DM dm, void *ctx, SimpleBC bc); 255 extern PetscErrorCode NS_DENSITY_CURRENT(ProblemData problem, DM dm, void *ctx, SimpleBC bc); [all …]
|
| H A D | navierstokes.c | 10 // This example demonstrates a simple usage of libCEED with PETSc to solve a Navier-Stokes problem. 19 // ./navierstokes -ceed /gpu/cuda -problem advection -degree 1 24 …plicit, supg, consistent mass") -ceed {ceed_resource} -test_type solver -problem advection -degree… 29 //TESTARGS(name="Taylor-Green Vortex IC") -ceed {ceed_resource} -problem taylor_green -test_type so… 42 … implicit, SUPG stabilization") -ceed {ceed_resource} -test_type solver -problem advection -CtauS … 43 …n, implicit, SU stabilization") -ceed {ceed_resource} -test_type solver -problem advection -CtauS … 44 …tation, explicit, strong form") -ceed {ceed_resource} -test_type solver -problem advection -strong… 45 … implicit, SUPG stabilization") -ceed {ceed_resource} -test_type solver -problem advection -CtauS … 46 //TESTARGS(name="Euler, implicit") -ceed {ceed_resource} -test_type solver -problem euler_vortex -d… 47 //TESTARGS(name="Euler, explicit") -ceed {ceed_resource} -test_type solver -problem euler_vortex -d… [all …]
|
| /libCEED/ |
| H A D | README.md | 272 $ ./bps -problem bp1 -ceed /cpu/self 273 $ ./bps -problem bp2 -ceed /gpu/cuda 274 $ ./bps -problem bp3 -ceed /cpu/self 275 $ ./bps -problem bp4 -ceed /gpu/cuda 276 $ ./bps -problem bp5 -ceed /cpu/self 277 $ ./bps -problem bp6 -ceed /gpu/cuda 282 $ ./bpsraw -problem bp1 -ceed /cpu/self 283 $ ./bpsraw -problem bp2 -ceed /gpu/cuda 284 $ ./bpsraw -problem bp3 -ceed /cpu/self 285 $ ./bpsraw -problem bp4 -ceed /gpu/cuda [all …]
|
| /libCEED/examples/python/ |
| H A D | ex_common.py | 24 dim: Problem dimension (1-3) 28 problem_size: Approximate problem size 37 help="Problem dimension (1-3) (default: 3)") 44 parser.add_argument("-s", "--problem-size", type=int, default=-1, 45 help="Approximate problem size (default: ~256k)") 47 help="Test mode (reduced problem size)") 60 """Determine Cartesian mesh size for given problem size 65 prob_size: Target problem size
|
| /libCEED/benchmarks/ |
| H A D | postprocess_base.py | 53 # New Benchmark Problem 54 elif "CEED Benchmark Problem" in line: 61 data['case'] = 'scalar' if (('Problem 1' in line) or ('Problem 3' in line) 62 or ('Problem 5' in line)) else 'vector'
|