32 VeryHeavyFormaldehyde,
54 ChlorineMonoxideDimer,
94 Bromochlorodifluoromethane,
95 Bromotrifluoromethane,
96 Dibromotetrafluoroethane,
123constexpr std::string_view toShortName(
Species x)
noexcept {
129 case Species::CarbonDioxide:
133 case Species::NitrogenOxide:
135 case Species::CarbonMonoxide:
137 case Species::Methane:
139 case Species::Oxygen:
141 case Species::NitricOxide:
143 case Species::SulfurDioxide:
145 case Species::NitrogenDioxide:
147 case Species::Ammonia:
149 case Species::NitricAcid:
151 case Species::Hydroxyl:
153 case Species::HydrogenFluoride:
155 case Species::HydrogenChloride:
157 case Species::HydrogenBromide:
159 case Species::HydrogenIodide:
161 case Species::ChlorineMonoxide:
163 case Species::CarbonylSulfide:
165 case Species::Formaldehyde:
167 case Species::HeavyFormaldehyde:
169 case Species::VeryHeavyFormaldehyde:
171 case Species::HypochlorousAcid:
173 case Species::Nitrogen:
175 case Species::HydrogenCyanide:
177 case Species::Chloromethane:
179 case Species::HydrogenPeroxide:
181 case Species::Acetylene:
183 case Species::Ethane:
185 case Species::Phosphine:
187 case Species::CarbonylFluoride:
189 case Species::SulfurHexafluoride:
191 case Species::HydrogenSulfide:
193 case Species::FormicAcid:
195 case Species::LeftHeavyFormicAcid:
197 case Species::RightHeavyFormicAcid:
199 case Species::Hydroperoxyl:
201 case Species::OxygenAtom:
203 case Species::ChlorineNitrate:
205 case Species::NitricOxideCation:
207 case Species::HypobromousAcid:
209 case Species::Ethylene:
211 case Species::Methanol:
213 case Species::Bromomethane:
215 case Species::Acetonitrile:
217 case Species::HeavyAcetonitrile:
219 case Species::CarbonTetrafluoride:
221 case Species::Diacetylene:
223 case Species::Cyanoacetylene:
225 case Species::Hydrogen:
227 case Species::CarbonMonosulfide:
229 case Species::SulfurTrioxide:
231 case Species::Cyanogen:
233 case Species::Phosgene:
235 case Species::SulfurMonoxide:
237 case Species::CarbonDisulfide:
239 case Species::Methyl:
241 case Species::Cyclopropene:
243 case Species::SulfuricAcid:
245 case Species::HydrogenIsocyanide:
247 case Species::BromineMonoxide:
249 case Species::ChlorineDioxide:
251 case Species::Propane:
253 case Species::Helium:
255 case Species::ChlorineMonoxideDimer:
257 case Species::HydrogenAtom:
261 case Species::Hexafluoroethane:
return "C2F6";
262 case Species::Perfluoropropane:
return "C3F8";
263 case Species::Perfluorobutane:
return "C4F10";
264 case Species::Perfluoropentane:
return "C5F12";
265 case Species::Perfluorohexane:
return "C6F14";
266 case Species::Perfluorooctane:
return "C8F18";
267 case Species::Perfluorocyclobutane:
return "cC4F8";
268 case Species::CarbonTetrachloride:
return "CCl4";
269 case Species::CFC11:
return "CFC11";
270 case Species::CFC113:
return "CFC113";
271 case Species::CFC114:
return "CFC114";
272 case Species::CFC115:
return "CFC115";
273 case Species::CFC12:
return "CFC12";
274 case Species::Dichloromethane:
return "CH2Cl2";
275 case Species::Trichloroethane:
return "CH3CCl3";
276 case Species::Trichloromethane:
return "CHCl3";
277 case Species::Bromochlorodifluoromethane:
return "Halon1211";
278 case Species::Bromotrifluoromethane:
return "Halon1301";
279 case Species::Dibromotetrafluoroethane:
return "Halon2402";
280 case Species::HCFC141b:
return "HCFC141b";
281 case Species::HCFC142b:
return "HCFC142b";
282 case Species::HCFC22:
return "HCFC22";
283 case Species::HFC125:
return "HFC125";
284 case Species::HFC134a:
return "HFC134a";
285 case Species::HFC143a:
return "HFC143a";
286 case Species::HFC152a:
return "HFC152a";
287 case Species::HFC227ea:
return "HFC227ea";
288 case Species::HFC23:
return "HFC23";
289 case Species::HFC236fa:
return "HFC236fa";
290 case Species::HFC245fa:
return "HFC245fa";
291 case Species::HFC32:
return "HFC32";
292 case Species::HFC365mfc:
return "HFC365mfc";
293 case Species::NitrogenTrifluoride:
return "NF3";
294 case Species::SulfurylFluoride:
return "SO2F2";
295 case Species::HFC4310mee:
return "HFC4310mee";
296 case Species::Germane:
return "GeH4";
297 case Species::Iodomethane:
return "CH3I";
298 case Species::Fluoromethane:
return "CH3F";
299 case Species::liquidcloud:
300 return "liquidcloud";
301 case Species::icecloud:
305 case Species::free_electrons:
306 return "free_electrons";
307 case Species::particles:
309 case Species::FINAL: {
312 return "InvalidSpecies";
315constexpr Species fromShortName(
const std::string_view x)
noexcept {
317 return Species::Bath;
319 return Species::Water;
321 return Species::CarbonDioxide;
323 return Species::Ozone;
325 return Species::NitrogenOxide;
327 return Species::CarbonMonoxide;
329 return Species::Methane;
331 return Species::Oxygen;
333 return Species::NitricOxide;
335 return Species::SulfurDioxide;
337 return Species::NitrogenDioxide;
339 return Species::Ammonia;
341 return Species::NitricAcid;
343 return Species::Hydroxyl;
345 return Species::HydrogenFluoride;
347 return Species::HydrogenChloride;
349 return Species::HydrogenBromide;
351 return Species::HydrogenIodide;
353 return Species::ChlorineMonoxide;
355 return Species::CarbonylSulfide;
357 return Species::Formaldehyde;
359 return Species::HeavyFormaldehyde;
361 return Species::VeryHeavyFormaldehyde;
363 return Species::HypochlorousAcid;
365 return Species::Nitrogen;
367 return Species::HydrogenCyanide;
369 return Species::Chloromethane;
371 return Species::HydrogenPeroxide;
373 return Species::Acetylene;
375 return Species::Ethane;
377 return Species::Phosphine;
379 return Species::CarbonylFluoride;
381 return Species::SulfurHexafluoride;
383 return Species::HydrogenSulfide;
385 return Species::FormicAcid;
387 return Species::LeftHeavyFormicAcid;
389 return Species::RightHeavyFormicAcid;
391 return Species::Hydroperoxyl;
393 return Species::OxygenAtom;
395 return Species::ChlorineNitrate;
397 return Species::NitricOxideCation;
399 return Species::HypobromousAcid;
401 return Species::Ethylene;
403 return Species::Methanol;
405 return Species::Bromomethane;
407 return Species::Acetonitrile;
409 return Species::HeavyAcetonitrile;
411 return Species::CarbonTetrafluoride;
413 return Species::Diacetylene;
415 return Species::Cyanoacetylene;
417 return Species::Hydrogen;
419 return Species::CarbonMonosulfide;
421 return Species::SulfurTrioxide;
423 return Species::Cyanogen;
425 return Species::Phosgene;
427 return Species::SulfurMonoxide;
429 return Species::CarbonDisulfide;
431 return Species::Methyl;
433 return Species::Cyclopropene;
435 return Species::SulfuricAcid;
437 return Species::HydrogenIsocyanide;
439 return Species::BromineMonoxide;
441 return Species::ChlorineDioxide;
443 return Species::Propane;
445 return Species::Helium;
447 return Species::ChlorineMonoxideDimer;
449 return Species::HydrogenAtom;
451 return Species::Argon;
452 if (x ==
"C2F6")
return Species::Hexafluoroethane;
453 if (x ==
"C3F8")
return Species::Perfluoropropane;
454 if (x ==
"C4F10")
return Species::Perfluorobutane;
455 if (x ==
"C5F12")
return Species::Perfluoropentane;
456 if (x ==
"C6F14")
return Species::Perfluorohexane;
457 if (x ==
"C8F18")
return Species::Perfluorooctane;
458 if (x ==
"cC4F8")
return Species::Perfluorocyclobutane;
459 if (x ==
"CCl4")
return Species::CarbonTetrachloride;
460 if (x ==
"CFC11")
return Species::CFC11;
461 if (x ==
"CFC113")
return Species::CFC113;
462 if (x ==
"CFC114")
return Species::CFC114;
463 if (x ==
"CFC115")
return Species::CFC115;
464 if (x ==
"CFC12")
return Species::CFC12;
465 if (x ==
"CH2Cl2")
return Species::Dichloromethane;
466 if (x ==
"CH3CCl3")
return Species::Trichloroethane;
467 if (x ==
"CHCl3")
return Species::Trichloromethane;
468 if (x ==
"Halon1211")
return Species::Bromochlorodifluoromethane;
469 if (x ==
"Halon1301")
return Species::Bromotrifluoromethane;
470 if (x ==
"Halon2402")
return Species::Dibromotetrafluoroethane;
471 if (x ==
"HCFC141b")
return Species::HCFC141b;
472 if (x ==
"HCFC142b")
return Species::HCFC142b;
473 if (x ==
"HCFC22")
return Species::HCFC22;
474 if (x ==
"HFC125")
return Species::HFC125;
475 if (x ==
"HFC134a")
return Species::HFC134a;
476 if (x ==
"HFC143a")
return Species::HFC143a;
477 if (x ==
"HFC152a")
return Species::HFC152a;
478 if (x ==
"HFC227ea")
return Species::HFC227ea;
479 if (x ==
"HFC23")
return Species::HFC23;
480 if (x ==
"HFC236fa")
return Species::HFC236fa;
481 if (x ==
"HFC245fa")
return Species::HFC245fa;
482 if (x ==
"HFC32")
return Species::HFC32;
483 if (x ==
"HFC365mfc")
return Species::HFC365mfc;
484 if (x ==
"NF3")
return Species::NitrogenTrifluoride;
485 if (x ==
"SO2F2")
return Species::SulfurylFluoride;
486 if (x ==
"HFC4310mee")
return Species::HFC4310mee;
487 if (x ==
"GeH4")
return Species::Germane;
488 if (x ==
"CH3I")
return Species::Iodomethane;
489 if (x ==
"CH3F")
return Species::Fluoromethane;
490 if (x ==
"liquidcloud")
491 return Species::liquidcloud;
493 return Species::icecloud;
495 return Species::rain;
496 if (x ==
"free_electrons")
497 return Species::free_electrons;
498 if (x ==
"particles")
499 return Species::particles;
500 return Species::FINAL;
#define ENUMCLASS(ENUMTYPE, TYPE,...)