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 #include "../include/bcfunctions.h" 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] = { 20 .num_comp_u = 1, 21 .num_comp_x = 3, 22 .topo_dim = 3, 23 .q_data_size = 1, 24 .q_extra = 1, 25 .setup_geo = SetupMassGeo, 26 .setup_rhs = SetupMassRhs, 27 .apply = Mass, 28 .error = Error, 29 .setup_geo_loc = SetupMassGeo_loc, 30 .setup_rhs_loc = SetupMassRhs_loc, 31 .apply_loc = Mass_loc, 32 .error_loc = Error_loc, 33 .in_mode = CEED_EVAL_INTERP, 34 .out_mode = CEED_EVAL_INTERP, 35 .q_mode = CEED_GAUSS, 36 .enforce_bc = PETSC_FALSE, 37 .bc_func = BCsMass 38 }, 39 [CEED_BP2] = { 40 .num_comp_u = 3, 41 .num_comp_x = 3, 42 .topo_dim = 3, 43 .q_data_size = 1, 44 .q_extra = 1, 45 .setup_geo = SetupMassGeo, 46 .setup_rhs = SetupMassRhs3, 47 .apply = Mass3, 48 .error = Error3, 49 .setup_geo_loc = SetupMassGeo_loc, 50 .setup_rhs_loc = SetupMassRhs3_loc, 51 .apply_loc = Mass3_loc, 52 .error_loc = Error3_loc, 53 .in_mode = CEED_EVAL_INTERP, 54 .out_mode = CEED_EVAL_INTERP, 55 .q_mode = CEED_GAUSS, 56 .enforce_bc = PETSC_FALSE, 57 .bc_func = BCsMass 58 }, 59 [CEED_BP3] = { 60 .num_comp_u = 1, 61 .num_comp_x = 3, 62 .topo_dim = 3, 63 .q_data_size = 7, 64 .q_extra = 1, 65 .setup_geo = SetupDiffGeo, 66 .setup_rhs = SetupDiffRhs, 67 .apply = Diff, 68 .error = Error, 69 .setup_geo_loc = SetupDiffGeo_loc, 70 .setup_rhs_loc = SetupDiffRhs_loc, 71 .apply_loc = Diff_loc, 72 .error_loc = Error_loc, 73 .in_mode = CEED_EVAL_GRAD, 74 .out_mode = CEED_EVAL_GRAD, 75 .q_mode = CEED_GAUSS, 76 .enforce_bc = PETSC_TRUE, 77 .bc_func = BCsDiff 78 }, 79 [CEED_BP4] = { 80 .num_comp_u = 3, 81 .num_comp_x = 3, 82 .topo_dim = 3, 83 .q_data_size = 7, 84 .q_extra = 1, 85 .setup_geo = SetupDiffGeo, 86 .setup_rhs = SetupDiffRhs3, 87 .apply = Diff3, 88 .error = Error3, 89 .setup_geo_loc = SetupDiffGeo_loc, 90 .setup_rhs_loc = SetupDiffRhs3_loc, 91 .apply_loc = Diff3_loc, 92 .error_loc = Error3_loc, 93 .in_mode = CEED_EVAL_GRAD, 94 .out_mode = CEED_EVAL_GRAD, 95 .q_mode = CEED_GAUSS, 96 .enforce_bc = PETSC_TRUE, 97 .bc_func = BCsDiff 98 }, 99 [CEED_BP5] = { 100 .num_comp_u = 1, 101 .num_comp_x = 3, 102 .topo_dim = 3, 103 .q_data_size = 7, 104 .q_extra = 0, 105 .setup_geo = SetupDiffGeo, 106 .setup_rhs = SetupDiffRhs, 107 .apply = Diff, 108 .error = Error, 109 .setup_geo_loc = SetupDiffGeo_loc, 110 .setup_rhs_loc = SetupDiffRhs_loc, 111 .apply_loc = Diff_loc, 112 .error_loc = Error_loc, 113 .in_mode = CEED_EVAL_GRAD, 114 .out_mode = CEED_EVAL_GRAD, 115 .q_mode = CEED_GAUSS_LOBATTO, 116 .enforce_bc = PETSC_TRUE, 117 .bc_func = BCsDiff 118 }, 119 [CEED_BP6] = { 120 .num_comp_u = 3, 121 .num_comp_x = 3, 122 .topo_dim = 3, 123 .q_data_size = 7, 124 .q_extra = 0, 125 .setup_geo = SetupDiffGeo, 126 .setup_rhs = SetupDiffRhs3, 127 .apply = Diff3, 128 .error = Error3, 129 .setup_geo_loc = SetupDiffGeo_loc, 130 .setup_rhs_loc = SetupDiffRhs3_loc, 131 .apply_loc = Diff3_loc, 132 .error_loc = Error3_loc, 133 .in_mode = CEED_EVAL_GRAD, 134 .out_mode = CEED_EVAL_GRAD, 135 .q_mode = CEED_GAUSS_LOBATTO, 136 .enforce_bc = PETSC_TRUE, 137 .bc_func = BCsDiff 138 } 139 }; 140 141 #endif // libceed_petsc_examples_bps_problem_data_h 142