atomicWeights.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2015 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "atomicWeights.H"
29 
30 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
31 
33 Foam::atomicWeightTable::atomicWeights[atomicWeightTable::nElements] =
34 {
35  {"E", 0},
36  {"e", 5.45e-4},
37  {"H", 1.00797},
38  {"D", 2.01410},
39  {"T", 3.01604},
40  {"He", 4.00260},
41  {"Li", 6.93900},
42  {"Be", 9.01220},
43  {"B", 10.81100},
44  {"C", 12.01115},
45  {"N", 14.00670},
46  {"O", 15.99940},
47  {"F", 18.99840},
48  {"Ne", 20.18300},
49  {"Na", 22.98980},
50  {"Mg", 24.31200},
51  {"Al", 26.98150},
52  {"Si", 28.08600},
53  {"P", 30.97380},
54  {"S", 32.06400},
55  {"Cl", 35.45300},
56  {"Ar", 39.94800},
57  {"K", 39.10200},
58  {"Ca", 40.08000},
59  {"Sc", 44.95600},
60  {"Ti", 47.90000},
61  {"V", 50.94200},
62  {"Cr", 51.99600},
63  {"Mn", 54.93800},
64  {"Fe", 55.84700},
65  {"Co", 58.93320},
66  {"Ni", 58.71000},
67  {"Cu", 63.54000},
68  {"Zn", 65.37000},
69  {"Ga", 69.72000},
70  {"Ge", 72.59000},
71  {"As", 74.92160},
72  {"Se", 78.96000},
73  {"Br", 79.90090},
74  {"Kr", 83.80000},
75  {"Rb", 85.47000},
76  {"Sr", 87.62000},
77  {"Y", 88.90500},
78  {"Zr", 91.22000},
79  {"Nb", 92.90600},
80  {"Mo", 95.94000},
81  {"Tc", 99.00000},
82  {"Ru", 101.07000},
83  {"Rh", 102.90500},
84  {"Pd", 106.40000},
85  {"Ag", 107.87000},
86  {"Cd", 112.40000},
87  {"In", 114.82000},
88  {"Sn", 118.69000},
89  {"Sb", 121.75000},
90  {"Te", 127.60000},
91  {"I", 126.90440},
92  {"Xe", 131.30000},
93  {"Cs", 132.90500},
94  {"Ba", 137.34000},
95  {"La", 138.91000},
96  {"Ce", 140.12000},
97  {"Pr", 140.90700},
98  {"Nd", 144.24000},
99  {"Pm", 145.00000},
100  {"Sm", 150.35000},
101  {"Eu", 151.96000},
102  {"Gd", 157.25000},
103  {"Tb", 158.92400},
104  {"Dy", 162.50000},
105  {"Ho", 164.93000},
106  {"Er", 167.26000},
107  {"Tm", 168.93400},
108  {"Yb", 173.04000},
109  {"Lu", 174.99700},
110  {"Hf", 178.49000},
111  {"Ta", 180.94800},
112  {"W", 183.85000},
113  {"Re", 186.20000},
114  {"Os", 190.20000},
115  {"Ir", 192.20000},
116  {"Pt", 195.09000},
117  {"Au", 196.96700},
118  {"Hg", 200.59000},
119  {"Tl", 204.37000},
120  {"Pb", 207.19000},
121  {"Bi", 208.98000},
122  {"Po", 210.00000},
123  {"At", 210.00000},
124  {"Rn", 222.00000},
125  {"Fr", 223.00000},
126  {"Ra", 226.00000},
127  {"Ac", 227.00000},
128  {"Th", 232.03800},
129  {"Pa", 231.00000},
130  {"U", 238.03000},
131  {"Np", 237.00000},
132  {"Pu", 242.00000},
133  {"Am", 243.00000},
134  {"Cm", 247.00000},
135  {"Bk", 249.00000},
136  {"Cf", 251.00000},
137  {"Es", 254.00000},
138  {"Fm", 253.00000}
139 };
140 
141 
142 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
143 
145 {
146  for (int i=0; i<nElements; i++)
147  {
148  insert(word(atomicWeights[i].name), atomicWeights[i].weight);
149  }
150 }
151 
152 
153 // * * * * * * * * * * * * * * * * Global data * * * * * * * * * * * * * * //
154 
156 
157 
158 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
atomicWeights.H
Foam::atomicWeights
atomicWeightTable atomicWeights
Definition: atomicWeights.C:155
Foam::HashTable< scalar >::insert
bool insert(const word &key, const scalar &obj)
Copy insert a new entry, not overwriting existing entries.
Definition: HashTableI.H:180
Foam::atomicWeightTable::atomicWeightTable
atomicWeightTable()
Construct from atomicWeights_.
Definition: atomicWeights.C:144
Foam::atomicWeightTable
A table of atomic weights for all the elements.
Definition: atomicWeights.H:51
Foam::atomicWeightTable::atomicWeights
static const atomicWeight atomicWeights[nElements]
Static table of the weights of all known elements.
Definition: atomicWeights.H:70
Foam::atomicWeightTable::nElements
static const int nElements
Definition: atomicWeights.H:67
Foam::name
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
Definition: exprTraits.C:59
Foam::atomicWeightTable::atomicWeight
Structure to hold the element name and atomic weight pair.
Definition: atomicWeights.H:61