xref: /libCEED/examples/petsc/include/areaproblemdata.h (revision b0d170e7bc2e5c930ee481a47eb73044935a48a4)
1 #ifndef libceed_petsc_examples_area_problem_data_h
2 #define libceed_petsc_examples_area_problem_data_h
3 
4 #include <ceed.h>
5 #include <petsc.h>
6 
7 #include "../include/structs.h"
8 #include "../qfunctions/area/areacube.h"
9 #include "../qfunctions/area/areasphere.h"
10 
11 // -----------------------------------------------------------------------------
12 // Problem Option Data
13 // -----------------------------------------------------------------------------
14 
15 // Problem options
16 typedef enum { CUBE = 0, SPHERE = 1 } ProblemType;
17 
18 static BPData problem_options[6] = {
19     [CUBE] =
20         {
21                 .num_comp_x    = 3,
22                 .num_comp_u    = 1,
23                 .topo_dim      = 2,
24                 .q_data_size   = 1,
25                 .q_extra       = 1,
26                 .setup_geo     = SetupMassGeoCube,
27                 .apply         = Mass,
28                 .setup_geo_loc = SetupMassGeoCube_loc,
29                 .apply_loc     = Mass_loc,
30                 .in_mode       = CEED_EVAL_INTERP,
31                 .out_mode      = CEED_EVAL_INTERP,
32                 .q_mode        = CEED_GAUSS,
33                 .enforce_bc    = PETSC_FALSE,
34                 },
35     [SPHERE] = {
36                 .num_comp_x    = 3,
37                 .num_comp_u    = 1,
38                 .topo_dim      = 2,
39                 .q_data_size   = 1,
40                 .q_extra       = 1,
41                 .setup_geo     = SetupMassGeoSphere,
42                 .apply         = Mass,
43                 .setup_geo_loc = SetupMassGeoSphere_loc,
44                 .apply_loc     = Mass_loc,
45                 .in_mode       = CEED_EVAL_INTERP,
46                 .out_mode      = CEED_EVAL_INTERP,
47                 .q_mode        = CEED_GAUSS,
48                 .enforce_bc    = PETSC_FALSE,
49                 }
50 };
51 
52 #endif  // libceed_petsc_examples_area_problem_data_h
53