xref: /libCEED/examples/petsc/include/sphereproblemdata.h (revision d4d455536df293f3f9ba6a974c8a4079393bc3b8)
1b7c563b6SJeremy L Thompson #ifndef libceed_petsc_examples_sphere_problem_data_h
2b7c563b6SJeremy L Thompson #define libceed_petsc_examples_sphere_problem_data_h
3e83e87a5Sjeremylt 
4e83e87a5Sjeremylt #include <ceed.h>
5e83e87a5Sjeremylt #include <petsc.h>
6e83e87a5Sjeremylt #include "../include/structs.h"
7e83e87a5Sjeremylt #include "../qfunctions/bps/bp1sphere.h"
8e83e87a5Sjeremylt #include "../qfunctions/bps/bp2sphere.h"
9e83e87a5Sjeremylt #include "../qfunctions/bps/bp3sphere.h"
10e83e87a5Sjeremylt #include "../qfunctions/bps/bp4sphere.h"
11e83e87a5Sjeremylt #include "../qfunctions/bps/common.h"
12e83e87a5Sjeremylt 
13e83e87a5Sjeremylt // -----------------------------------------------------------------------------
14e83e87a5Sjeremylt // BP Option Data
15e83e87a5Sjeremylt // -----------------------------------------------------------------------------
16e83e87a5Sjeremylt 
179b072555Sjeremylt static BPData bp_options[6] = {
18e83e87a5Sjeremylt   [CEED_BP1] = {
199b072555Sjeremylt     .num_comp_u = 1,
209b072555Sjeremylt     .num_comp_x = 3,
219b072555Sjeremylt     .topo_dim = 3,
229b072555Sjeremylt     .q_data_size = 1,
239b072555Sjeremylt     .q_extra = 1,
249b072555Sjeremylt     .setup_geo = SetupMassGeo,
259b072555Sjeremylt     .setup_rhs = SetupMassRhs,
26e83e87a5Sjeremylt     .apply = Mass,
27e83e87a5Sjeremylt     .error = Error,
289b072555Sjeremylt     .setup_geo_loc = SetupMassGeo_loc,
299b072555Sjeremylt     .setup_rhs_loc = SetupMassRhs_loc,
309b072555Sjeremylt     .apply_loc = Mass_loc,
319b072555Sjeremylt     .error_loc = Error_loc,
329b072555Sjeremylt     .in_mode = CEED_EVAL_INTERP,
339b072555Sjeremylt     .out_mode = CEED_EVAL_INTERP,
349b072555Sjeremylt     .q_mode = CEED_GAUSS
35e83e87a5Sjeremylt   },
36e83e87a5Sjeremylt   [CEED_BP2] = {
379b072555Sjeremylt     .num_comp_u = 3,
389b072555Sjeremylt     .num_comp_x = 3,
399b072555Sjeremylt     .topo_dim = 3,
409b072555Sjeremylt     .q_data_size = 1,
41*d4d45553Srezgarshakeri     .q_extra = 1,
429b072555Sjeremylt     .setup_geo = SetupMassGeo,
439b072555Sjeremylt     .setup_rhs = SetupMassRhs3,
44e83e87a5Sjeremylt     .apply = Mass3,
45e83e87a5Sjeremylt     .error = Error3,
469b072555Sjeremylt     .setup_geo_loc = SetupMassGeo_loc,
479b072555Sjeremylt     .setup_rhs_loc = SetupMassRhs3_loc,
489b072555Sjeremylt     .apply_loc = Mass3_loc,
499b072555Sjeremylt     .error_loc = Error3_loc,
509b072555Sjeremylt     .in_mode = CEED_EVAL_INTERP,
519b072555Sjeremylt     .out_mode = CEED_EVAL_INTERP,
529b072555Sjeremylt     .q_mode = CEED_GAUSS
53e83e87a5Sjeremylt   },
54e83e87a5Sjeremylt   [CEED_BP3] = {
559b072555Sjeremylt     .num_comp_u = 1,
569b072555Sjeremylt     .num_comp_x = 3,
579b072555Sjeremylt     .topo_dim = 3,
589b072555Sjeremylt     .q_data_size = 4,
599b072555Sjeremylt     .q_extra = 1,
609b072555Sjeremylt     .setup_geo = SetupDiffGeo,
619b072555Sjeremylt     .setup_rhs = SetupDiffRhs,
62e83e87a5Sjeremylt     .apply = Diff,
63e83e87a5Sjeremylt     .error = Error,
649b072555Sjeremylt     .setup_geo_loc = SetupDiffGeo_loc,
659b072555Sjeremylt     .setup_rhs_loc = SetupDiffRhs_loc,
669b072555Sjeremylt     .apply_loc = Diff_loc,
679b072555Sjeremylt     .error_loc = Error_loc,
689b072555Sjeremylt     .in_mode = CEED_EVAL_GRAD,
699b072555Sjeremylt     .out_mode = CEED_EVAL_GRAD,
709b072555Sjeremylt     .q_mode = CEED_GAUSS
71e83e87a5Sjeremylt   },
72e83e87a5Sjeremylt   [CEED_BP4] = {
739b072555Sjeremylt     .num_comp_u = 3,
749b072555Sjeremylt     .num_comp_x = 3,
759b072555Sjeremylt     .topo_dim = 3,
769b072555Sjeremylt     .q_data_size = 4,
779b072555Sjeremylt     .q_extra = 1,
789b072555Sjeremylt     .setup_geo = SetupDiffGeo,
799b072555Sjeremylt     .setup_rhs = SetupDiffRhs3,
80e83e87a5Sjeremylt     .apply = Diff3,
81e83e87a5Sjeremylt     .error = Error3,
829b072555Sjeremylt     .setup_geo_loc = SetupDiffGeo_loc,
839b072555Sjeremylt     .setup_rhs_loc = SetupDiffRhs3_loc,
849b072555Sjeremylt     .apply_loc = Diff_loc,
859b072555Sjeremylt     .error_loc = Error3_loc,
869b072555Sjeremylt     .in_mode = CEED_EVAL_GRAD,
879b072555Sjeremylt     .out_mode = CEED_EVAL_GRAD,
889b072555Sjeremylt     .q_mode = CEED_GAUSS
89e83e87a5Sjeremylt   },
90e83e87a5Sjeremylt   [CEED_BP5] = {
919b072555Sjeremylt     .num_comp_u = 1,
929b072555Sjeremylt     .num_comp_x = 3,
939b072555Sjeremylt     .topo_dim = 3,
949b072555Sjeremylt     .q_data_size = 4,
959b072555Sjeremylt     .q_extra = 0,
969b072555Sjeremylt     .setup_geo = SetupDiffGeo,
979b072555Sjeremylt     .setup_rhs = SetupDiffRhs,
98e83e87a5Sjeremylt     .apply = Diff,
99e83e87a5Sjeremylt     .error = Error,
1009b072555Sjeremylt     .setup_geo_loc = SetupDiffGeo_loc,
1019b072555Sjeremylt     .setup_rhs_loc = SetupDiffRhs_loc,
1029b072555Sjeremylt     .apply_loc = Diff_loc,
1039b072555Sjeremylt     .error_loc = Error_loc,
1049b072555Sjeremylt     .in_mode = CEED_EVAL_GRAD,
1059b072555Sjeremylt     .out_mode = CEED_EVAL_GRAD,
1069b072555Sjeremylt     .q_mode = CEED_GAUSS_LOBATTO
107e83e87a5Sjeremylt   },
108e83e87a5Sjeremylt   [CEED_BP6] = {
1099b072555Sjeremylt     .num_comp_u = 3,
1109b072555Sjeremylt     .num_comp_x = 3,
1119b072555Sjeremylt     .topo_dim = 3,
1129b072555Sjeremylt     .q_data_size = 4,
1139b072555Sjeremylt     .q_extra = 0,
1149b072555Sjeremylt     .setup_geo = SetupDiffGeo,
1159b072555Sjeremylt     .setup_rhs = SetupDiffRhs3,
116e83e87a5Sjeremylt     .apply = Diff3,
117e83e87a5Sjeremylt     .error = Error3,
1189b072555Sjeremylt     .setup_geo_loc = SetupDiffGeo_loc,
1199b072555Sjeremylt     .setup_rhs_loc = SetupDiffRhs3_loc,
1209b072555Sjeremylt     .apply_loc = Diff_loc,
1219b072555Sjeremylt     .error_loc = Error3_loc,
1229b072555Sjeremylt     .in_mode = CEED_EVAL_GRAD,
1239b072555Sjeremylt     .out_mode = CEED_EVAL_GRAD,
1249b072555Sjeremylt     .q_mode = CEED_GAUSS_LOBATTO
125e83e87a5Sjeremylt   }
126e83e87a5Sjeremylt };
127e83e87a5Sjeremylt 
128b7c563b6SJeremy L Thompson #endif // libceed_petsc_examples_sphere_problem_data_h
129