Branch data Line data Source code
1 : : // ***************************************************************************** 2 : : /*! 3 : : \file src/Control/Tags.hpp 4 : : \copyright 2012-2015 J. Bakosi, 5 : : 2016-2018 Los Alamos National Security, LLC., 6 : : 2019-2021 Triad National Security, LLC. 7 : : All rights reserved. See the LICENSE file for details. 8 : : \brief Tags 9 : : \details Tags are unique types, used for metaprogramming. 10 : : */ 11 : : // ***************************************************************************** 12 : : #ifndef Tags_h 13 : : #define Tags_h 14 : : 15 : : #include <string> 16 : : 17 : : //! Tags used as unique-type labels for compile-time code-generation 18 : : namespace tag { 19 : : 20 : : struct low {}; 21 : : struct high {}; 22 [ + - ]: 1 : struct io { static std::string name() { return "io"; } }; 23 [ + - ]: 1 : struct quiescence { static std::string name() { return "quiescence"; } }; 24 [ + - ]: 1 : struct trace { static std::string name() { return "trace"; } }; 25 [ + - ]: 1 : struct version { static std::string name() { return "version"; } }; 26 [ + - ]: 1 : struct license { static std::string name() { return "license"; } }; 27 : : struct input { static std::string name() { return "input"; } }; 28 : : struct output { static std::string name() { return "output"; } }; 29 [ + - ]: 1 : struct screen { static std::string name() { return "screen"; } }; 30 : : struct restart { static std::string name() { return "restart"; } }; 31 [ + - ]: 1 : struct nrestart { static std::string name() { return "nrestart"; } }; 32 : : struct diag { static std::string name() { return "diag"; } }; 33 : : struct history { static std::string name() { return "history"; } }; 34 : : struct evalLB {}; 35 : : struct seed { static std::string name() { return "seed"; } }; 36 : : struct uniform_method { 37 : : static std::string name() { return "uniform_method"; } }; 38 : : struct gaussian_method { 39 : : static std::string name() { return "gaussian_method"; } }; 40 : : struct gaussianmv_method { 41 : : static std::string name() { return "gaussianmv_method"; } }; 42 : : struct gaussian { static std::string name() { return "gaussian"; } }; 43 : : struct jointgaussian { static std::string name() { return "jointgaussian"; } }; 44 : : struct beta_method { static std::string name() { return "beta_method"; } }; 45 : : struct gamma_method { static std::string name() { return "gamma_method"; } }; 46 : : struct rng { static std::string name() { return "rng"; } }; 47 : : struct xminus { static std::string name() { return "xminus"; } }; 48 : : struct xplus { static std::string name() { return "xplus"; } }; 49 : : struct yminus { static std::string name() { return "yminus"; } }; 50 : : struct yplus { static std::string name() { return "yplus"; } }; 51 : : struct zminus { static std::string name() { return "zminus"; } }; 52 : : struct zplus { static std::string name() { return "zplus"; } }; 53 : : struct rngmkl { static std::string name() { return "rngmkl"; } }; 54 : : struct rngsse { static std::string name() { return "rngsse"; } }; 55 : : struct rng123 { static std::string name() { return "rng123"; } }; 56 : : struct seqlen { static std::string name() { return "seqlen"; } }; 57 [ + - ]: 1 : struct verbose { static std::string name() { return "verbose"; } }; 58 : : struct nonblocking { static std::string name() { return "nonblocking"; } }; 59 : : struct benchmark { static std::string name() { return "benchmark"; } }; 60 : : struct lboff {}; 61 : : struct feedback { static std::string name() { return "feedback"; } }; 62 : : struct reorder { static std::string name() { return "reorder"; } }; 63 : : struct pelocal_reorder { 64 : : static std::string name() { return "pelocal_reorder"; } }; 65 : : struct operator_reorder { 66 : : static std::string name() { return "operator_reorder"; } }; 67 : : struct steady_state { 68 : : static std::string name() { return "steady_state"; } }; 69 : : struct residual { static std::string name() { return "residual"; } }; 70 [ + - ]: 1 : struct error { static std::string name() { return "error"; } }; 71 : : struct lbfreq { static std::string name() { return "lbfreq"; } }; 72 : : struct rsfreq { static std::string name() { return "rsfreq"; } }; 73 : : struct dtfreq { static std::string name() { return "dtfreq"; } }; 74 : : struct pdf { static std::string name() { return "pdf"; } }; 75 : : struct ordpdf {}; 76 : : struct cenpdf {}; 77 : : struct nchare {}; 78 : : struct bounds {}; 79 : : struct meshvelocity { static std::string name() { return "meshvelocity"; } }; 80 : : struct smoother { static std::string name() { return "smoother"; } }; 81 : : struct meshforce { static std::string name() { return "meshforce"; } }; 82 : : struct mesh_motion{ static std::string name() { return "mesh_motion"; } }; 83 : : struct vortmult { static std::string name() { return "vortmult"; } }; 84 : : struct maxit { static std::string name() { return "maxit"; } }; 85 : : struct tolerance { static std::string name() { return "tolerace"; } }; 86 : : struct mesh { static std::string name() { return "mesh"; } }; 87 : : struct couple { static std::string name() { return "couple"; } }; 88 : : struct transfer { static std::string name() { return "transfer"; } }; 89 : : struct filetype { static std::string name() { return "filetype"; } }; 90 : : struct filename { static std::string name() { return "filename"; } }; 91 : : struct location { static std::string name() { return "location"; } }; 92 : : struct orientation { static std::string name() { return "orientation"; } }; 93 : : struct reference { static std::string name() { return "reference"; } }; 94 : : struct pdfpolicy { static std::string name() { return "pdfpolicy"; } }; 95 : : struct pdfctr { static std::string name() { return "pdfctr"; } }; 96 : : struct pdfnames { static std::string name() { return "pdfnames"; } }; 97 : : struct flformat { static std::string name() { return "flformat"; } }; 98 : : struct prec { static std::string name() { return "precision"; } }; 99 : : struct ordinary {}; 100 : : struct central {}; 101 : : struct binsize { static std::string name() { return "binsize"; } }; 102 : : struct extent { static std::string name() { return "extent"; } }; 103 : : struct dirichlet { static std::string name() { return "dirichlet"; } }; 104 : : struct mixdirichlet { static std::string name() { return "mixdirichlet"; } }; 105 : : struct gendir { static std::string name() { return "gendir"; } }; 106 : : struct wrightfisher { static std::string name() { return "wrightfisher"; } }; 107 : : struct p0 { static std::string name() { return "p0"; } }; 108 : : struct beta { static std::string name() { return "beta"; } }; 109 : : struct betax { static std::string name() { return "betax"; } }; 110 : : struct betay { static std::string name() { return "betay"; } }; 111 : : struct betaz { static std::string name() { return "betaz"; } }; 112 : : struct r0 { static std::string name() { return "r0"; } }; 113 : : struct ce { static std::string name() { return "ce"; } }; 114 : : struct numfracbeta { static std::string name() { return "numfracbeta"; } }; 115 : : struct massfracbeta { static std::string name() { return "massfracbeta"; } }; 116 : : struct mixnumfracbeta { 117 : : static std::string name() { return "mixnumfracbeta"; } }; 118 : : struct mixmassfracbeta { 119 : : static std::string name() { return "mixmassfracbeta"; } }; 120 : : struct alpha { static std::string name() { return "alpha"; } }; 121 : : struct gamma { static std::string name() { return "gamma"; } }; 122 : : struct pstiff { static std::string name() { return "pstiff"; } }; 123 : : struct spike { static std::string name() { return "spike"; } }; 124 : : struct betapdf { static std::string name() { return "betapdf"; } }; 125 : : struct hydrotimescales { 126 : : static std::string name() { return "hydrotimescales"; } }; 127 : : struct hydroproductions { 128 : : static std::string name() { return "hydroproductions"; } }; 129 : : struct diffeq { static std::string name() { return "diffeq"; } }; 130 : : struct pde { static std::string name() { return "pde"; } }; 131 : : struct pref { static std::string name() { return "pref"; } }; 132 : : struct tolref { static std::string name() { return "tolref"; } }; 133 : : struct ndofmax { static std::string name() { return "ndofmax"; } }; 134 : : struct indicator{ static std::string name() { return "indicator"; } }; 135 : : struct amr { static std::string name() { return "amr"; } }; 136 : : struct ale { static std::string name() { return "ale"; } }; 137 : : struct move { static std::string name() { return "move"; } }; 138 : : struct tolderef { static std::string name() { return "tolderef"; } }; 139 : : struct t0ref { static std::string name() { return "t0ref"; } }; 140 : : struct dtref { static std::string name() { return "dtref"; } }; 141 : : struct dtref_uniform { static std::string name() { return "dtref_uniform"; } }; 142 : : struct partitioner { static std::string name() { return "partitioner"; } }; 143 : : struct partitioned { static std::string name() { return "partitioned"; } }; 144 : : struct scheme { static std::string name() { return "scheme"; } }; 145 : : struct initpolicy { static std::string name() { return "initpolicy"; } }; 146 : : struct coeffpolicy { static std::string name() { return "coeffpolicy"; } }; 147 : : struct montecarlo {}; 148 : : struct nstep { static std::string name() { return "nstep"; } }; 149 : : struct term { static std::string name() { return "term"; } }; 150 : : struct t0 { static std::string name() { return "t0"; } }; 151 : : struct dt { static std::string name() { return "dt"; } }; 152 : : struct cfl { static std::string name() { return "cfl"; } }; 153 : : struct dvcfl { static std::string name() { return "dvcfl"; } }; 154 : : struct fct { static std::string name() { return "fct"; } }; 155 : : struct fctclip { static std::string name() { return "fctclip"; } }; 156 : : struct sys { static std::string name() { return "sys"; } }; 157 : : struct sysfct { static std::string name() { return "sysfct"; } }; 158 : : struct sysfctvar { static std::string name() { return "sysfctvar"; } }; 159 : : struct fcteps { static std::string name() { return "fcteps"; } }; 160 : : struct ctau { static std::string name() { return "ctau"; } }; 161 : : struct npar { static std::string name() { return "npar"; } }; 162 : : struct refined { static std::string name() { return "refined output"; } }; 163 : : struct matched {}; 164 : : struct compatibility {}; 165 : : struct bndint {}; 166 : : struct part { static std::string name() { return "part"; } }; 167 : : struct particles { static std::string name() { return "particles"; } }; 168 : : struct centroid {}; 169 : : struct ncomp { static std::string name() { return "ncomp"; } }; 170 : : struct nmat { static std::string name() { return "nmat"; } }; 171 : : struct prelax { static std::string name() { return "prelax"; } }; 172 : : struct prelax_timescale { 173 : : static std::string name() { return "prelax_timescales"; } }; 174 : : struct intsharp { static std::string name() { return "intsharp"; } }; 175 : : struct intsharp_param { 176 : : static std::string name() { return "intsharp_param"; } }; 177 : : struct tty { static std::string name() { return "tty"; } }; 178 : : struct dump {}; 179 : : struct plot {}; 180 : : struct glob {}; 181 : : struct control { static std::string name() { return "control"; } }; 182 : : struct stat { static std::string name() { return "stat"; } }; 183 : : struct field { static std::string name() { return "field"; } }; 184 : : struct surface { static std::string name() { return "surface"; } }; 185 : : struct atwood {}; 186 : : struct b { static std::string name() { return "b"; } }; 187 : : struct S { static std::string name() { return "S"; } }; 188 : : struct kappa { static std::string name() { return "kappa"; } }; 189 : : struct bprime { static std::string name() { return "bprime"; } }; 190 : : struct kappaprime { static std::string name() { return "kappaprime"; } }; 191 : : struct rho2 { static std::string name() { return "rho2"; } }; 192 : : struct rho { static std::string name() { return "rho"; } }; 193 : : struct mean_gradient { static std::string name() { return "mean_gradient"; } }; 194 : : struct rcomma { static std::string name() { return "rcomma"; } }; 195 : : struct r { static std::string name() { return "r"; } }; 196 : : struct c { static std::string name() { return "c"; } }; 197 : : struct c0 { static std::string name() { return "c0"; } }; 198 : : struct gravity { static std::string name() { return "gravity"; } }; 199 : : struct c1 {}; 200 : : struct c2 {}; 201 : : struct c3 { static std::string name() { return "c3"; } }; 202 : : struct c4 { static std::string name() { return "c4"; } }; 203 : : struct com1 { static std::string name() { return "com1"; } }; 204 : : struct com2 { static std::string name() { return "com2"; } }; 205 : : struct lambda { static std::string name() { return "lambda"; } }; 206 : : struct sigmasq { static std::string name() { return "sigmasq"; } }; 207 : : struct theta { static std::string name() { return "theta"; } }; 208 : : struct mu { static std::string name() { return "mu"; } }; 209 : : struct mean { static std::string name() { return "mean"; } }; 210 : : struct cov { static std::string name() { return "cov"; } }; 211 : : struct timescale { static std::string name() { return "timescale"; } }; 212 : : struct depvar { static std::string name() { return "depvar"; } }; 213 : : struct refvar { static std::string name() { return "refvar"; } }; 214 : : struct virtualization {static std::string name() { return "virtualization"; }}; 215 : : struct omega { static std::string name() { return "omega"; } }; 216 : : struct slm { static std::string name() { return "slm"; } }; 217 : : struct glm { static std::string name() { return "glm"; } }; 218 : : struct diagou { static std::string name() { return "diagou"; } }; 219 : : struct ou { static std::string name() { return "ou"; } }; 220 : : struct skewnormal { static std::string name() { return "skewnormal"; } }; 221 : : struct position { static std::string name() { return "position"; } }; 222 : : struct dissipation { static std::string name() { return "dissipation"; } }; 223 : : struct variant { static std::string name() { return "variant"; } }; 224 : : struct normalization { static std::string name() { return "normalization"; } }; 225 : : struct materialid { static std::string name() { return "materialid"; } }; 226 : : struct matidxmap { static std::string name() { return "matidxmap"; } }; 227 : : struct matidx { static std::string name() { return "matidx"; } }; 228 : : struct eosidx { static std::string name() { return "eosidx"; } }; 229 : : struct mass { static std::string name() { return "mass"; } }; 230 : : struct hydro {}; 231 : : struct mix {}; 232 : : struct frequency {}; 233 : : struct mixrate {}; 234 : : struct title { static std::string name() { return "title"; } }; 235 : : struct selected { static std::string name() { return "selected"; } }; 236 : : struct discr { static std::string name() { return "discr"; } }; 237 : : struct bc { static std::string name() { return "bc"; } }; 238 : : struct farfield_pressure { 239 : : static std::string name() { return "farfield_pressure"; } }; 240 : : struct farfield_density { 241 : : static std::string name() { return "farfield_density"; } }; 242 : : struct farfield_velocity { 243 : : static std::string name() { return "farfield_velocity"; } }; 244 : : struct bcfarfield { static std::string name() { return "bcfarfield"; } }; 245 : : struct component { static std::string name() { return "component"; } }; 246 : : struct rescomp { static std::string name() { return "residual component"; } }; 247 : : struct iter { static std::string name() { return "iter"; } }; 248 : : struct time { static std::string name() { return "time"; } }; 249 : : struct range { static std::string name() { return "range"; } }; 250 : : struct cmd { static std::string name() { return "cmd"; } }; 251 : : struct param { static std::string name() { return "param"; } }; 252 : : struct init { static std::string name() { return "init"; } }; 253 : : struct initiate { static std::string name() { return "initiate"; } }; 254 : : struct solve { static std::string name() { return "solve"; } }; 255 [ + - ]: 1 : struct chare { static std::string name() { return "chare"; } }; 256 : : struct battery { static std::string name() { return "battery"; } }; 257 : : struct generator {}; 258 [ + - ]: 1 : struct help { static std::string name() { return "help"; } }; 259 : : struct helpctr { static std::string name() { return "helpctr"; } }; 260 : : struct helpkw {}; 261 : : struct cmdinfo {}; 262 : : struct ctrinfo {}; 263 [ + - ]: 1 : struct group { static std::string name() { return "group"; } }; 264 : : struct esup {}; 265 : : struct psup {}; 266 : : struct gid {}; 267 : : struct transport { static std::string name() { return "transport"; } }; 268 : : struct compflow { static std::string name() { return "compflow"; } }; 269 : : struct multimat { static std::string name() { return "multimat"; } }; 270 : : struct problem { static std::string name() { return "problem"; } }; 271 : : struct physics { static std::string name() { return "physics"; } }; 272 : : struct diffusivity { static std::string name() { return "diffusivity"; } }; 273 : : struct u0 { static std::string name() { return "u0"; } }; 274 : : struct bcdir { static std::string name() { return "bcdir"; } }; 275 : : struct bcsym { static std::string name() { return "bcsym"; } }; 276 : : struct stag { static std::string name() { return "stag"; } }; 277 : : struct skip { static std::string name() { return "skip"; } }; 278 : : struct point { static std::string name() { return "point"; } }; 279 : : struct radius { static std::string name() { return "radius"; } }; 280 : : struct sideset { static std::string name() { return "sideset"; } }; 281 : : struct sponge { static std::string name() { return "sponge"; } }; 282 : : struct bcinlet { static std::string name() { return "bcinlet"; } }; 283 : : struct bcoutlet { static std::string name() { return "bcoutlet"; } }; 284 : : struct bcextrapolate { static std::string name() { return "bcextrapolate"; } }; 285 : : struct bctimedep { static std::string name() { return "bctimedep"; } }; 286 : : struct material { static std::string name() { return "material"; } }; 287 : : struct eos { static std::string name() { return "eos"; } }; 288 : : struct id { static std::string name() { return "id"; } }; 289 : : struct position_id { static std::string name() { return "position_id"; } }; 290 : : struct velocity_id { static std::string name() { return "velocity_id"; } }; 291 : : struct dissipation_id { 292 : : static std::string name() { return "dissipation_id"; } }; 293 : : struct mixmassfracbeta_id { 294 : : static std::string name() { return "mixmassfracbeta_id"; } }; 295 : : struct edge { static std::string name() { return "edge"; } }; 296 : : struct cv { static std::string name() { return "cv"; } }; 297 : : struct k { static std::string name() { return "k"; } }; 298 : : struct com {}; 299 : : struct queried {}; 300 : : struct responded {}; 301 : : struct coord {}; 302 : : struct refinserted {}; 303 : : struct discinserted {}; 304 : : struct disccreated {}; 305 : : struct workinserted {}; 306 : : struct distributed {}; 307 : : struct load {}; 308 : : struct bcast {}; 309 : : struct elem {}; 310 : : struct avecost {}; 311 : : struct stdcost {}; 312 : : struct flux { static std::string name() { return "flux"; } }; 313 : : struct ndof{ static std::string name() { return "ndof"; } }; 314 : : struct rdof{ static std::string name() { return "rdof"; } }; 315 : : struct limiter { static std::string name() { return "limiter"; } }; 316 : : struct cweight { static std::string name() { return "cweight"; } }; 317 : : struct update {}; 318 : : struct ch {}; 319 : : struct pe {}; 320 : : struct it {}; 321 : : struct fn { static std::string name() { return "fn"; } }; 322 : : struct fntype { static std::string name() { return "fntype"; } }; 323 : : struct node {}; 324 : : struct ic { static std::string name() { return "ic"; } }; 325 : : struct velocity { static std::string name() { return "velocity"; } }; 326 : : struct density { static std::string name() { return "density"; } }; 327 : : struct pressure { static std::string name() { return "pressure"; } }; 328 : : struct energy { static std::string name() { return "energy"; } }; 329 : : struct energy_content { static std::string name() { return "energy_content"; } }; 330 : : struct temperature { static std::string name() { return "temperature"; } }; 331 : : struct outvar { static std::string name() { return "outvar"; } }; 332 : : struct box { static std::string name() { return "box"; } }; 333 : : struct xmin { static std::string name() { return "xmin"; } }; 334 : : struct xmax { static std::string name() { return "xmax"; } }; 335 : : struct ymin { static std::string name() { return "ymin"; } }; 336 : : struct ymax { static std::string name() { return "ymax"; } }; 337 : : struct zmin { static std::string name() { return "zmin"; } }; 338 : : struct zmax { static std::string name() { return "zmax"; } }; 339 : : struct lua { static std::string name() { return "lua"; } }; 340 : : 341 : : struct BirthdaySpacings {}; 342 : : struct Collision {}; 343 : : struct RandomWalk1 {}; 344 : : struct Gap {}; 345 : : struct SimplePoker {}; 346 : : struct CouponCollector {}; 347 : : struct MaxOft {}; 348 : : struct WeightDistrib {}; 349 : : struct MatrixRank {}; 350 : : struct HammingIndep {}; 351 : : struct SerialOver {}; 352 : : struct CollisionOver {}; 353 : : struct ClosePairs {}; 354 : : struct ClosePairsBitMatch {}; 355 : : struct Run {}; 356 : : struct Permutation {}; 357 : : struct CollisionPermut {}; 358 : : struct SampleProd {}; 359 : : struct SampleMean {}; 360 : : struct SampleCorr {}; 361 : : struct AppearanceSpacings {}; 362 : : struct SumCollector {}; 363 : : struct Savir2 {}; 364 : : struct GCD {}; 365 : : struct LinearComp {}; 366 : : struct LempelZiv {}; 367 : : struct Fourier3 {}; 368 : : struct LongestHeadRun {}; 369 : : struct PeriodsInStrings {}; 370 : : struct HammingWeight2 {}; 371 : : struct HammingCorr {}; 372 : : struct StringRun {}; 373 : : struct AutoCorr {}; 374 : : 375 : : } // tag:: 376 : : 377 : : #endif // Tags_h