1 #ifndef libceed_petsc_examples_bps_problem_data_h 2 #define libceed_petsc_examples_bps_problem_data_h 3 4 #include <ceed.h> 5 #include <petsc.h> 6 7 #include "../include/structs.h" 8 #include "../qfunctions/bps/bp1.h" 9 #include "../qfunctions/bps/bp2.h" 10 #include "../qfunctions/bps/bp3.h" 11 #include "../qfunctions/bps/bp4.h" 12 #include "../qfunctions/bps/common.h" 13 14 // ----------------------------------------------------------------------------- 15 // BP Option Data 16 // ----------------------------------------------------------------------------- 17 18 BPData bp_options[6] = { 19 [CEED_BP1] = {.num_comp_u = 1, 20 .num_comp_x = 3, 21 .topo_dim = 3, 22 .q_data_size = 1, 23 .q_extra = 1, 24 .setup_geo = SetupMassGeo, 25 .setup_rhs = SetupMassRhs, 26 .apply = Mass, 27 .error = Error, 28 .setup_geo_loc = SetupMassGeo_loc, 29 .setup_rhs_loc = SetupMassRhs_loc, 30 .apply_loc = Mass_loc, 31 .error_loc = Error_loc, 32 .in_mode = CEED_EVAL_INTERP, 33 .out_mode = CEED_EVAL_INTERP, 34 .q_mode = CEED_GAUSS, 35 .enforce_bc = PETSC_FALSE}, 36 [CEED_BP2] = {.num_comp_u = 3, 37 .num_comp_x = 3, 38 .topo_dim = 3, 39 .q_data_size = 1, 40 .q_extra = 1, 41 .setup_geo = SetupMassGeo, 42 .setup_rhs = SetupMassRhs3, 43 .apply = Mass3, 44 .error = Error3, 45 .setup_geo_loc = SetupMassGeo_loc, 46 .setup_rhs_loc = SetupMassRhs3_loc, 47 .apply_loc = Mass3_loc, 48 .error_loc = Error3_loc, 49 .in_mode = CEED_EVAL_INTERP, 50 .out_mode = CEED_EVAL_INTERP, 51 .q_mode = CEED_GAUSS, 52 .enforce_bc = PETSC_FALSE}, 53 [CEED_BP3] = {.num_comp_u = 1, 54 .num_comp_x = 3, 55 .topo_dim = 3, 56 .q_data_size = 7, 57 .q_extra = 1, 58 .setup_geo = SetupDiffGeo, 59 .setup_rhs = SetupDiffRhs, 60 .apply = Diff, 61 .error = Error, 62 .setup_geo_loc = SetupDiffGeo_loc, 63 .setup_rhs_loc = SetupDiffRhs_loc, 64 .apply_loc = Diff_loc, 65 .error_loc = Error_loc, 66 .in_mode = CEED_EVAL_GRAD, 67 .out_mode = CEED_EVAL_GRAD, 68 .q_mode = CEED_GAUSS, 69 .enforce_bc = PETSC_TRUE }, 70 [CEED_BP4] = {.num_comp_u = 3, 71 .num_comp_x = 3, 72 .topo_dim = 3, 73 .q_data_size = 7, 74 .q_extra = 1, 75 .setup_geo = SetupDiffGeo, 76 .setup_rhs = SetupDiffRhs3, 77 .apply = Diff3, 78 .error = Error3, 79 .setup_geo_loc = SetupDiffGeo_loc, 80 .setup_rhs_loc = SetupDiffRhs3_loc, 81 .apply_loc = Diff3_loc, 82 .error_loc = Error3_loc, 83 .in_mode = CEED_EVAL_GRAD, 84 .out_mode = CEED_EVAL_GRAD, 85 .q_mode = CEED_GAUSS, 86 .enforce_bc = PETSC_TRUE }, 87 [CEED_BP5] = {.num_comp_u = 1, 88 .num_comp_x = 3, 89 .topo_dim = 3, 90 .q_data_size = 7, 91 .q_extra = 0, 92 .setup_geo = SetupDiffGeo, 93 .setup_rhs = SetupDiffRhs, 94 .apply = Diff, 95 .error = Error, 96 .setup_geo_loc = SetupDiffGeo_loc, 97 .setup_rhs_loc = SetupDiffRhs_loc, 98 .apply_loc = Diff_loc, 99 .error_loc = Error_loc, 100 .in_mode = CEED_EVAL_GRAD, 101 .out_mode = CEED_EVAL_GRAD, 102 .q_mode = CEED_GAUSS_LOBATTO, 103 .enforce_bc = PETSC_TRUE }, 104 [CEED_BP6] = {.num_comp_u = 3, 105 .num_comp_x = 3, 106 .topo_dim = 3, 107 .q_data_size = 7, 108 .q_extra = 0, 109 .setup_geo = SetupDiffGeo, 110 .setup_rhs = SetupDiffRhs3, 111 .apply = Diff3, 112 .error = Error3, 113 .setup_geo_loc = SetupDiffGeo_loc, 114 .setup_rhs_loc = SetupDiffRhs3_loc, 115 .apply_loc = Diff3_loc, 116 .error_loc = Error3_loc, 117 .in_mode = CEED_EVAL_GRAD, 118 .out_mode = CEED_EVAL_GRAD, 119 .q_mode = CEED_GAUSS_LOBATTO, 120 .enforce_bc = PETSC_TRUE } 121 }; 122 123 #endif // libceed_petsc_examples_bps_problem_data_h 124