Go to the documentation of this file.
70 {
"H",
"hydrogen", 1.008},
71 {
"He",
"helium", 4.002602},
72 {
"Li",
"lithium", 6.94},
73 {
"Be",
"beryllium", 9.0121831},
74 {
"B",
"boron", 10.81},
75 {
"C",
"carbon", 12.011},
76 {
"N",
"nitrogen", 14.007},
77 {
"O",
"oxygen", 15.999},
78 {
"F",
"fluorine", 18.998403163},
79 {
"Ne",
"neon", 20.1797},
80 {
"Na",
"sodium", 22.98976928},
81 {
"Mg",
"magnesium", 24.305},
82 {
"Al",
"aluminum", 26.9815384},
83 {
"Si",
"silicon", 28.085},
84 {
"P",
"phosphorus", 30.973761998},
85 {
"S",
"sulfur", 32.06},
86 {
"Cl",
"chlorine", 35.45},
87 {
"Ar",
"argon", 39.95},
88 {
"K",
"potassium", 39.0983},
89 {
"Ca",
"calcium", 40.078},
90 {
"Sc",
"scandium", 44.955908},
91 {
"Ti",
"titanium", 47.867},
92 {
"V",
"vanadium", 50.9415},
93 {
"Cr",
"chromium", 51.9961},
94 {
"Mn",
"manganese", 54.938043},
95 {
"Fe",
"iron", 55.845},
96 {
"Co",
"cobalt", 58.933194},
97 {
"Ni",
"nickel", 58.6934},
98 {
"Cu",
"copper", 63.546},
99 {
"Zn",
"zinc", 65.38},
100 {
"Ga",
"gallium", 69.723},
101 {
"Ge",
"germanium", 72.630},
102 {
"As",
"arsenic", 74.921595},
103 {
"Se",
"selenium", 78.971},
104 {
"Br",
"bromine", 79.904},
105 {
"Kr",
"krypton", 83.798},
106 {
"Rb",
"rubidium", 85.4678},
107 {
"Sr",
"strontium", 87.62},
108 {
"Y",
"yttrium", 88.90584},
109 {
"Zr",
"zirconium", 91.224},
110 {
"Nb",
"nobelium", 92.90637},
111 {
"Mo",
"molybdenum", 95.95},
112 {
"Tc",
"technetium", -1.0},
113 {
"Ru",
"ruthenium", 101.07},
114 {
"Rh",
"rhodium", 102.90549},
115 {
"Pd",
"palladium", 106.42},
116 {
"Ag",
"silver", 107.8682},
117 {
"Cd",
"cadmium", 112.414},
118 {
"In",
"indium", 114.818},
119 {
"Sn",
"tin", 118.710},
120 {
"Sb",
"antimony", 121.760},
121 {
"Te",
"tellurium", 127.60 },
122 {
"I",
"iodine", 126.90447},
123 {
"Xe",
"xenon", 131.293},
124 {
"Cs",
"cesium", 132.90545196},
125 {
"Ba",
"barium", 137.327},
126 {
"La",
"lanthanum", 138.90547},
127 {
"Ce",
"cerium", 140.116},
128 {
"Pr",
"praseodymium", 140.90766},
129 {
"Nd",
"neodymium", 144.242},
130 {
"Pm",
"promethium", -1.0},
131 {
"Sm",
"samarium", 150.36},
132 {
"Eu",
"europium", 151.964},
133 {
"Gd",
"gadolinium", 157.25},
134 {
"Tb",
"terbium", 158.925354},
135 {
"Dy",
"dysprosium", 162.500},
136 {
"Ho",
"holmium", 164.930328},
137 {
"Er",
"erbium", 167.259},
138 {
"Tm",
"thulium", 168.934218},
139 {
"Yb",
"ytterbium", 173.045},
140 {
"Lu",
"lutetium", 174.9668},
141 {
"Hf",
"hafnium", 178.49},
142 {
"Ta",
"tantalum", 180.94788},
143 {
"W",
"tungsten", 183.84},
144 {
"Re",
"rhenium", 186.207},
145 {
"Os",
"osmium", 190.23 },
146 {
"Ir",
"iridium", 192.217},
147 {
"Pt",
"platinum", 195.084},
148 {
"Au",
"gold", 196.966570},
149 {
"Hg",
"mercury", 200.592},
150 {
"Tl",
"thallium", 204.38},
151 {
"Pb",
"lead", 207.2 },
152 {
"Bi",
"bismuth", 208.98040},
153 {
"Po",
"polonium", -1.0},
154 {
"At",
"astatine", -1.0},
155 {
"Rn",
"radon", -1.0},
156 {
"Fr",
"francium", -1.0},
157 {
"Ra",
"radium", -1.0},
158 {
"Ac",
"actinium", -1.0},
159 {
"Th",
"thorium", 232.0377},
160 {
"Pa",
"protactinium", 231.03588},
161 {
"U",
"uranium", 238.02891},
162 {
"Np",
"neptunium", -1.0},
163 {
"Pu",
"plutonium", -1.0},
164 {
"Am",
"americium", -1.0},
165 {
"Cm",
"curium", -1.0},
166 {
"Bk",
"berkelium", -1.0},
167 {
"Cf",
"californium", -1.0},
168 {
"Es",
"einsteinium", -1.0},
169 {
"Fm",
"fermium", -1.0},
170 {
"Md",
"mendelevium", -1.0},
171 {
"No",
"nobelium", -1.0},
172 {
"Lr",
"lawrencium", -1.0},
173 {
"Rf",
"rutherfordium", -1.0},
174 {
"Db",
"dubnium", -1.0},
175 {
"Sg",
"seaborgium", -1.0},
176 {
"Bh",
"bohrium", -1.0},
177 {
"Hs",
"hassium", -1.0},
178 {
"Mt",
"meitnerium", -1.0},
179 {
"Ds",
"darmstadtium", -1.0},
180 {
"Rg",
"roentgenium", -1.0},
181 {
"Cn",
"copernicium", -1.0},
182 {
"Nh",
"nihonium", -1.0},
183 {
"Gl",
"flerovium", -1.0},
184 {
"Mc",
"moscovium", -1.0},
185 {
"Lv",
"livermorium", -1.0},
186 {
"Ts",
"tennessine", -1.0},
187 {
"Og",
"oganesson", -1.0},
202 {
"D",
"deuterium", 2.0141017781, 1},
203 {
"Tr",
"tritium", 3.0160492820, 1},
211 double elementWeight = 0.0;
214 for (
int i = 0; i < numElements; i++) {
223 if (elementWeight > 0.0) {
224 return elementWeight;
225 }
else if (elementWeight < 0.0) {
227 "element '{}' has no stable isotopes", ename);
229 for (
int i = 0; i < numIsotopes; i++) {
236 throw CanteraError(
"getElementWeight",
"element not found: " + ename);
242 if (atomicNumber > num || atomicNumber < 1) {
243 throw IndexError(
"getElementWeight",
"atomicWeightTable", atomicNumber, num);
246 if (elementWeight < 0.0) {
248 "element '{}' has no stable isotopes",
getElementName(atomicNumber));
250 return elementWeight;
258 for (
int i = 0; i < numElements; i++) {
263 for (
int i = 0; i < numIsotopes; i++) {
268 throw CanteraError(
"getElementSymbol",
"element not found: " + ename);
274 if (atomicNumber > num || atomicNumber < 1) {
275 throw IndexError(
"getElementSymbol",
"atomicWeightTable", atomicNumber,
286 for (
int i = 0; i < numElements; i++) {
291 for (
int i = 0; i < numIsotopes; i++) {
296 throw CanteraError(
"getElementName",
"element not found: " + ename);
302 if (atomicNumber > num || atomicNumber < 1) {
303 throw IndexError(
"getElementName",
"atomicWeightTable", atomicNumber,
315 for (
int i = 0; i < numElements; i++) {
322 for (
int i = 0; i < numIsotopes; i++) {
329 throw CanteraError(
"getAtomicNumber",
"element not found: " + ename);
std::string trimCopy(const std::string &input)
Trim.
const double ElectronMass
Electron Mass [kg].
double getElementWeight(int atomicNumber)
Get the atomic weight of an element.
int numElementsDefined()
Get the number of named elements defined in Cantera.
string fullName
Isotope full name, first letter lowercase.
string getElementSymbol(int atomicNumber)
Get the symbol for an element.
string fullName
Element full name, first letter lowercase.
string symbol
Element symbol, first letter capitalized.
double atomicWeight
Element atomic weight in kg / kg-mol, if known. -1 if no stable isotope.
double atomicWeight
Isotope atomic weight in kg / kg-mol.
const double Avogadro
Avogadro's Number [number/kmol].
static struct isotopeWeightData isotopeWeightTable[]
isotopeWeightTable is a vector containing the atomic weights database.
string symbol
Isotope symbol, first letter capitalized.
int numIsotopesDefined()
Get the number of named isotopes defined in Cantera.
string getElementName(int atomicNumber)
Get the name of an element.
int atomicNumber
Isotope atomic number.
std::string toLowerCopy(const std::string &input)
Convert to lower case.
Base class for exceptions thrown by Cantera classes.
static struct atomicWeightData atomicWeightTable[]
atomicWeightTable is a vector containing the atomic weights database.
An array index is out of range.
Namespace for the Cantera kernel.
int getAtomicNumber(const std::string &ename)
Get the atomic number for an element.