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