xref: /libCEED/examples/petsc/include/areaproblemdata.h (revision 2b730f8b5a9c809740a0b3b302db43a719c636b1)
1b7c563b6SJeremy L Thompson #ifndef libceed_petsc_examples_area_problem_data_h
2b7c563b6SJeremy L Thompson #define libceed_petsc_examples_area_problem_data_h
3e83e87a5Sjeremylt 
4e83e87a5Sjeremylt #include <ceed.h>
5e83e87a5Sjeremylt #include <petsc.h>
6*2b730f8bSJeremy L Thompson 
7e83e87a5Sjeremylt #include "../include/structs.h"
8e83e87a5Sjeremylt #include "../qfunctions/area/areacube.h"
9e83e87a5Sjeremylt #include "../qfunctions/area/areasphere.h"
10e83e87a5Sjeremylt 
11e83e87a5Sjeremylt // -----------------------------------------------------------------------------
12e83e87a5Sjeremylt // Problem Option Data
13e83e87a5Sjeremylt // -----------------------------------------------------------------------------
14e83e87a5Sjeremylt 
15e83e87a5Sjeremylt // Problem options
16*2b730f8bSJeremy L Thompson typedef enum { CUBE = 0, SPHERE = 1 } ProblemType;
17e83e87a5Sjeremylt 
189b072555Sjeremylt static BPData problem_options[6] = {
19*2b730f8bSJeremy L Thompson     [CUBE] =
20*2b730f8bSJeremy L Thompson         {
219b072555Sjeremylt                 .num_comp_x    = 3,
229b072555Sjeremylt                 .num_comp_u    = 1,
239b072555Sjeremylt                 .topo_dim      = 2,
249b072555Sjeremylt                 .q_data_size   = 1,
259b072555Sjeremylt                 .q_extra       = 1,
269b072555Sjeremylt                 .setup_geo     = SetupMassGeoCube,
27e83e87a5Sjeremylt                 .apply         = Mass,
289b072555Sjeremylt                 .setup_geo_loc = SetupMassGeoCube_loc,
299b072555Sjeremylt                 .apply_loc     = Mass_loc,
309b072555Sjeremylt                 .in_mode       = CEED_EVAL_INTERP,
319b072555Sjeremylt                 .out_mode      = CEED_EVAL_INTERP,
329b072555Sjeremylt                 .q_mode        = CEED_GAUSS,
339b072555Sjeremylt                 .enforce_bc    = PETSC_FALSE,
34e83e87a5Sjeremylt                 },
35e83e87a5Sjeremylt     [SPHERE] = {
369b072555Sjeremylt                 .num_comp_x    = 3,
379b072555Sjeremylt                 .num_comp_u    = 1,
389b072555Sjeremylt                 .topo_dim      = 2,
399b072555Sjeremylt                 .q_data_size   = 1,
409b072555Sjeremylt                 .q_extra       = 1,
419b072555Sjeremylt                 .setup_geo     = SetupMassGeoSphere,
42e83e87a5Sjeremylt                 .apply         = Mass,
439b072555Sjeremylt                 .setup_geo_loc = SetupMassGeoSphere_loc,
449b072555Sjeremylt                 .apply_loc     = Mass_loc,
459b072555Sjeremylt                 .in_mode       = CEED_EVAL_INTERP,
469b072555Sjeremylt                 .out_mode      = CEED_EVAL_INTERP,
479b072555Sjeremylt                 .q_mode        = CEED_GAUSS,
489b072555Sjeremylt                 .enforce_bc    = PETSC_FALSE,
49e83e87a5Sjeremylt                 }
50e83e87a5Sjeremylt };
51e83e87a5Sjeremylt 
52b7c563b6SJeremy L Thompson #endif  // libceed_petsc_examples_area_problem_data_h
53