xref: /libCEED/examples/petsc/include/areaproblemdata.h (revision e83e87a50f1b2e8810b376a735430565127e4d25)
1*e83e87a5Sjeremylt #ifndef areaproblemdata_h
2*e83e87a5Sjeremylt #define areaproblemdata_h
3*e83e87a5Sjeremylt 
4*e83e87a5Sjeremylt #include <ceed.h>
5*e83e87a5Sjeremylt #include <petsc.h>
6*e83e87a5Sjeremylt #include "../include/structs.h"
7*e83e87a5Sjeremylt #include "../qfunctions/area/areacube.h"
8*e83e87a5Sjeremylt #include "../qfunctions/area/areasphere.h"
9*e83e87a5Sjeremylt 
10*e83e87a5Sjeremylt // -----------------------------------------------------------------------------
11*e83e87a5Sjeremylt // Problem Option Data
12*e83e87a5Sjeremylt // -----------------------------------------------------------------------------
13*e83e87a5Sjeremylt 
14*e83e87a5Sjeremylt // Problem options
15*e83e87a5Sjeremylt typedef enum {
16*e83e87a5Sjeremylt   CUBE = 0, SPHERE = 1
17*e83e87a5Sjeremylt } problemType;
18*e83e87a5Sjeremylt 
19*e83e87a5Sjeremylt static bpData problemOptions[6] = {
20*e83e87a5Sjeremylt   [CUBE] = {
21*e83e87a5Sjeremylt     .ncompx = 3,
22*e83e87a5Sjeremylt     .ncompu = 1,
23*e83e87a5Sjeremylt     .topodim = 2,
24*e83e87a5Sjeremylt     .qdatasize = 1,
25*e83e87a5Sjeremylt     .qextra = 1,
26*e83e87a5Sjeremylt     .setupgeo = SetupMassGeoCube,
27*e83e87a5Sjeremylt     .apply = Mass,
28*e83e87a5Sjeremylt     .setupgeofname = SetupMassGeoCube_loc,
29*e83e87a5Sjeremylt     .applyfname = Mass_loc,
30*e83e87a5Sjeremylt     .inmode = CEED_EVAL_INTERP,
31*e83e87a5Sjeremylt     .outmode = CEED_EVAL_INTERP,
32*e83e87a5Sjeremylt     .qmode = CEED_GAUSS,
33*e83e87a5Sjeremylt     .enforcebc = PETSC_FALSE,
34*e83e87a5Sjeremylt   },
35*e83e87a5Sjeremylt   [SPHERE] = {
36*e83e87a5Sjeremylt     .ncompx = 3,
37*e83e87a5Sjeremylt     .ncompu = 1,
38*e83e87a5Sjeremylt     .topodim = 2,
39*e83e87a5Sjeremylt     .qdatasize = 1,
40*e83e87a5Sjeremylt     .qextra = 1,
41*e83e87a5Sjeremylt     .setupgeo = SetupMassGeoSphere,
42*e83e87a5Sjeremylt     .apply = Mass,
43*e83e87a5Sjeremylt     .setupgeofname = SetupMassGeoSphere_loc,
44*e83e87a5Sjeremylt     .applyfname = Mass_loc,
45*e83e87a5Sjeremylt     .inmode = CEED_EVAL_INTERP,
46*e83e87a5Sjeremylt     .outmode = CEED_EVAL_INTERP,
47*e83e87a5Sjeremylt     .qmode = CEED_GAUSS,
48*e83e87a5Sjeremylt     .enforcebc = PETSC_FALSE,
49*e83e87a5Sjeremylt   }
50*e83e87a5Sjeremylt };
51*e83e87a5Sjeremylt 
52*e83e87a5Sjeremylt #endif // areaproblemdata_h
53