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 #include "../include/structs.h" 7 #include "../qfunctions/area/areacube.h" 8 #include "../qfunctions/area/areasphere.h" 9 10 // ----------------------------------------------------------------------------- 11 // Problem Option Data 12 // ----------------------------------------------------------------------------- 13 14 // Problem options 15 typedef enum { 16 CUBE = 0, SPHERE = 1 17 } ProblemType; 18 19 static BPData problem_options[6] = { 20 [CUBE] = { 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