1 #ifndef bpsproblemdata_h 2 #define bpsproblemdata_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 // BP options 19 typedef enum { 20 CEED_BP1 = 0, CEED_BP2 = 1, CEED_BP3 = 2, 21 CEED_BP4 = 3, CEED_BP5 = 4, CEED_BP6 = 5 22 } bpType; 23 24 bpData bpOptions[6] = { 25 [CEED_BP1] = { 26 .ncompu = 1, 27 .ncompx = 3, 28 .topodim = 3, 29 .qdatasize = 1, 30 .qextra = 1, 31 .setupgeo = SetupMassGeo, 32 .setuprhs = SetupMassRhs, 33 .apply = Mass, 34 .error = Error, 35 .setupgeofname = SetupMassGeo_loc, 36 .setuprhsfname = SetupMassRhs_loc, 37 .applyfname = Mass_loc, 38 .errorfname = Error_loc, 39 .inmode = CEED_EVAL_INTERP, 40 .outmode = CEED_EVAL_INTERP, 41 .qmode = CEED_GAUSS, 42 .enforcebc = PETSC_FALSE, 43 .bcsfunc = BCsMass 44 }, 45 [CEED_BP2] = { 46 .ncompu = 3, 47 .ncompx = 3, 48 .topodim = 3, 49 .qdatasize = 1, 50 .qextra = 1, 51 .setupgeo = SetupMassGeo, 52 .setuprhs = SetupMassRhs3, 53 .apply = Mass3, 54 .error = Error3, 55 .setupgeofname = SetupMassGeo_loc, 56 .setuprhsfname = SetupMassRhs3_loc, 57 .applyfname = Mass3_loc, 58 .errorfname = Error3_loc, 59 .inmode = CEED_EVAL_INTERP, 60 .outmode = CEED_EVAL_INTERP, 61 .qmode = CEED_GAUSS, 62 .enforcebc = PETSC_FALSE, 63 .bcsfunc = BCsMass 64 }, 65 [CEED_BP3] = { 66 .ncompu = 1, 67 .ncompx = 3, 68 .topodim = 3, 69 .qdatasize = 7, 70 .qextra = 1, 71 .setupgeo = SetupDiffGeo, 72 .setuprhs = SetupDiffRhs, 73 .apply = Diff, 74 .error = Error, 75 .setupgeofname = SetupDiffGeo_loc, 76 .setuprhsfname = SetupDiffRhs_loc, 77 .applyfname = Diff_loc, 78 .errorfname = Error_loc, 79 .inmode = CEED_EVAL_GRAD, 80 .outmode = CEED_EVAL_GRAD, 81 .qmode = CEED_GAUSS, 82 .enforcebc = PETSC_TRUE, 83 .bcsfunc = BCsDiff 84 }, 85 [CEED_BP4] = { 86 .ncompu = 3, 87 .ncompx = 3, 88 .topodim = 3, 89 .qdatasize = 7, 90 .qextra = 1, 91 .setupgeo = SetupDiffGeo, 92 .setuprhs = SetupDiffRhs3, 93 .apply = Diff3, 94 .error = Error3, 95 .setupgeofname = SetupDiffGeo_loc, 96 .setuprhsfname = SetupDiffRhs3_loc, 97 .applyfname = Diff3_loc, 98 .errorfname = Error3_loc, 99 .inmode = CEED_EVAL_GRAD, 100 .outmode = CEED_EVAL_GRAD, 101 .qmode = CEED_GAUSS, 102 .enforcebc = PETSC_TRUE, 103 .bcsfunc = BCsDiff 104 }, 105 [CEED_BP5] = { 106 .ncompu = 1, 107 .ncompx = 3, 108 .topodim = 3, 109 .qdatasize = 7, 110 .qextra = 0, 111 .setupgeo = SetupDiffGeo, 112 .setuprhs = SetupDiffRhs, 113 .apply = Diff, 114 .error = Error, 115 .setupgeofname = SetupDiffGeo_loc, 116 .setuprhsfname = SetupDiffRhs_loc, 117 .applyfname = Diff_loc, 118 .errorfname = Error_loc, 119 .inmode = CEED_EVAL_GRAD, 120 .outmode = CEED_EVAL_GRAD, 121 .qmode = CEED_GAUSS_LOBATTO, 122 .enforcebc = PETSC_TRUE, 123 .bcsfunc = BCsDiff 124 }, 125 [CEED_BP6] = { 126 .ncompu = 3, 127 .ncompx = 3, 128 .topodim = 3, 129 .qdatasize = 7, 130 .qextra = 0, 131 .setupgeo = SetupDiffGeo, 132 .setuprhs = SetupDiffRhs3, 133 .apply = Diff3, 134 .error = Error3, 135 .setupgeofname = SetupDiffGeo_loc, 136 .setuprhsfname = SetupDiffRhs3_loc, 137 .applyfname = Diff3_loc, 138 .errorfname = Error3_loc, 139 .inmode = CEED_EVAL_GRAD, 140 .outmode = CEED_EVAL_GRAD, 141 .qmode = CEED_GAUSS_LOBATTO, 142 .enforcebc = PETSC_TRUE, 143 .bcsfunc = BCsDiff 144 } 145 }; 146 147 #endif // bpsproblemdata_h 148