xref: /libCEED/examples/petsc/include/areaproblemdata.h (revision b7c563b6b45e71aa3f6ac850cef50b83565081a6)
1*b7c563b6SJeremy L Thompson #ifndef libceed_petsc_examples_area_problem_data_h
2*b7c563b6SJeremy L Thompson #define libceed_petsc_examples_area_problem_data_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
179b072555Sjeremylt } ProblemType;
18e83e87a5Sjeremylt 
199b072555Sjeremylt static BPData problem_options[6] = {
20e83e87a5Sjeremylt   [CUBE] = {
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 
52*b7c563b6SJeremy L Thompson #endif // libceed_petsc_examples_area_problem_data_h
53