Open Babel  3.0
elements.h
Go to the documentation of this file.
1 /**********************************************************************
2 Copyright (C) 2017 Noel M. O'Boyle
3 
4 This file is part of the Open Babel project.
5 For more information, see <http://openbabel.org/>
6 
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 ***********************************************************************/
16 #ifndef OB_ELEMENTS_H
17 #define OB_ELEMENTS_H
18 
19 #include <openbabel/babelconfig.h>
20 
21 namespace OpenBabel
22 {
52  namespace OBElements {
53 
55  OBAPI const char* GetSymbol(unsigned int atomic_number);
57  OBAPI const char* GetName(unsigned int atomic_number);
60  OBAPI double GetMass(unsigned int atomic_number);
63  OBAPI double GetExactMass(unsigned int atomic_number, unsigned int isotope=0);
64  // //! \return the atomic number matching the element symbol
65  OBAPI unsigned int GetAtomicNum(const char* ptr);
67  OBAPI double GetAllredRochowElectroNeg(unsigned int atomic_number);
69  OBAPI double GetCovalentRad(unsigned int atomic_number);
71  OBAPI double GetVdwRad(unsigned int atomic_number);
73  OBAPI double GetElectronAffinity(unsigned int atomic_number);
75  OBAPI double GetIonization(unsigned int atomic_number);
77  OBAPI unsigned int GetMaxBonds(unsigned int atomic_number);
79  OBAPI double GetElectroNeg(unsigned int atomic_number);
81  OBAPI void GetRGB(unsigned int atomic_number, double *r, double *g, double *b);
83  const unsigned int Hydrogen = 1; // H
84  const unsigned int Helium = 2; // He
85  const unsigned int Lithium = 3; // Li
86  const unsigned int Beryllium = 4; // Be
87  const unsigned int Boron = 5; // B
88  const unsigned int Carbon = 6; // C
89  const unsigned int Nitrogen = 7; // N
90  const unsigned int Oxygen = 8; // O
91  const unsigned int Fluorine = 9; // F
92  const unsigned int Neon = 10; // Ne
93  const unsigned int Sodium = 11; // Na
94  const unsigned int Magnesium = 12; // Mg
95  const unsigned int Aluminium = 13; // Al
96  const unsigned int Silicon = 14; // Si
97  const unsigned int Phosphorus = 15; // P
98  const unsigned int Sulfur = 16; // S
99  const unsigned int Chlorine = 17; // Cl
100  const unsigned int Argon = 18; // Ar
101  const unsigned int Potassium = 19; // K
102  const unsigned int Calcium = 20; // Ca
103  const unsigned int Scandium = 21; // Sc
104  const unsigned int Titanium = 22; // Ti
105  const unsigned int Vanadium = 23; // V
106  const unsigned int Chromium = 24; // Cr
107  const unsigned int Manganese = 25; // Mn
108  const unsigned int Iron = 26; // Fe
109  const unsigned int Cobalt = 27; // Co
110  const unsigned int Nickel = 28; // Ni
111  const unsigned int Copper = 29; // Cu
112  const unsigned int Zinc = 30; // Zn
113  const unsigned int Gallium = 31; // Ga
114  const unsigned int Germanium = 32; // Ge
115  const unsigned int Arsenic = 33; // As
116  const unsigned int Selenium = 34; // Se
117  const unsigned int Bromine = 35; // Br
118  const unsigned int Krypton = 36; // Kr
119  const unsigned int Rubidium = 37; // Rb
120  const unsigned int Strontium = 38; // Sr
121  const unsigned int Yttrium = 39; // Y
122  const unsigned int Zirconium = 40; // Zr
123  const unsigned int Niobium = 41; // Nb
124  const unsigned int Molybdenum = 42; // Mo
125  const unsigned int Technetium = 43; // Tc
126  const unsigned int Ruthenium = 44; // Ru
127  const unsigned int Rhodium = 45; // Rh
128  const unsigned int Palladium = 46; // Pd
129  const unsigned int Silver = 47; // Ag
130  const unsigned int Cadmium = 48; // Cd
131  const unsigned int Indium = 49; // In
132  const unsigned int Tin = 50; // Sn
133  const unsigned int Antimony = 51; // Sb
134  const unsigned int Tellurium = 52; // Te
135  const unsigned int Iodine = 53; // I
136  const unsigned int Xenon = 54; // Xe
137  const unsigned int Caesium = 55; // Cs
138  const unsigned int Barium = 56; // Ba
139  const unsigned int Lanthanum = 57; // La
140  const unsigned int Cerium = 58; // Ce
141  const unsigned int Praseodymium = 59; // Pr
142  const unsigned int Neodymium = 60; // Nd
143  const unsigned int Promethium = 61; // Pm
144  const unsigned int Samarium = 62; // Sm
145  const unsigned int Europium = 63; // Eu
146  const unsigned int Gadolinium = 64; // Gd
147  const unsigned int Terbium = 65; // Tb
148  const unsigned int Dysprosium = 66; // Dy
149  const unsigned int Holmium = 67; // Ho
150  const unsigned int Erbium = 68; // Er
151  const unsigned int Thulium = 69; // Tm
152  const unsigned int Ytterbium = 70; // Yb
153  const unsigned int Lutetium = 71; // Lu
154  const unsigned int Hafnium = 72; // Hf
155  const unsigned int Tantalum = 73; // Ta
156  const unsigned int Tungsten = 74; // W
157  const unsigned int Rhenium = 75; // Re
158  const unsigned int Osmium = 76; // Os
159  const unsigned int Iridium = 77; // Ir
160  const unsigned int Platinum = 78; // Pt
161  const unsigned int Gold = 79; // Au
162  const unsigned int Mercury = 80; // Hg
163  const unsigned int Thallium = 81; // Tl
164  const unsigned int Lead = 82; // Pb
165  const unsigned int Bismuth = 83; // Bi
166  const unsigned int Polonium = 84; // Po
167  const unsigned int Astatine = 85; // At
168  const unsigned int Radon = 86; // Rn
169  const unsigned int Francium = 87; // Fr
170  const unsigned int Radium = 88; // Ra
171  const unsigned int Actinium = 89; // Ac
172  const unsigned int Thorium = 90; // Th
173  const unsigned int Protactinium = 91; // Pa
174  const unsigned int Uranium = 92; // U
175  const unsigned int Neptunium = 93; // Np
176  const unsigned int Plutonium = 94; // Pu
177  const unsigned int Americium = 95; // Am
178  const unsigned int Curium = 96; // Cm
179  const unsigned int Berkelium = 97; // Bk
180  const unsigned int Californium = 98; // Cf
181  const unsigned int Einsteinium = 99; // Es
182  const unsigned int Fermium = 100; // Fm
183  const unsigned int Mendelevium = 101; // Md
184  const unsigned int Nobelium = 102; // No
185  const unsigned int Lawrencium = 103; // Lr
186  const unsigned int Rutherfordium = 104; // Rf
187  const unsigned int Dubnium = 105; // Db
188  const unsigned int Seaborgium = 106; // Sg
189  const unsigned int Bohrium = 107; // Bh
190  const unsigned int Hassium = 108; // Hs
191  const unsigned int Meitnerium = 109; // Mt
192  const unsigned int Darmstadtium = 110; // Ds
193  const unsigned int Roentgenium = 111; // Rg
194  const unsigned int Copernicium = 112; // Cn
195  const unsigned int Nihonium = 113; // Nh
196  const unsigned int Flerovium = 114; // Fl
197  const unsigned int Moscovium = 115; // Mc
198  const unsigned int Livermorium = 116; // Lv
199  const unsigned int Tennessine = 117; // Ts
200  const unsigned int Oganesson = 118; // Og
201 
202  }
203 }
204 
205 #endif //OB_ELEMENTS_H
206 
const unsigned int Bohrium
Definition: elements.h:189
const unsigned int Thulium
Definition: elements.h:151
const unsigned int Yttrium
Definition: elements.h:121
const unsigned int Iron
Definition: elements.h:108
const unsigned int Einsteinium
Definition: elements.h:181
const unsigned int Caesium
Definition: elements.h:137
const unsigned int Livermorium
Definition: elements.h:198
const unsigned int Germanium
Definition: elements.h:114
const unsigned int Tennessine
Definition: elements.h:199
const unsigned int Barium
Definition: elements.h:138
const unsigned int Lutetium
Definition: elements.h:153
unsigned int GetAtomicNum(const char *ptr)
Definition: elements.cpp:174
const unsigned int Rhenium
Definition: elements.h:157
const unsigned int Carbon
Definition: elements.h:88
const unsigned int Rubidium
Definition: elements.h:119
const unsigned int Polonium
Definition: elements.h:166
const unsigned int Antimony
Definition: elements.h:133
unsigned int GetMaxBonds(unsigned int atomic_number)
Definition: elements.cpp:145
const unsigned int Oxygen
Definition: elements.h:90
const unsigned int Manganese
Definition: elements.h:107
const unsigned int Astatine
Definition: elements.h:167
const unsigned int Boron
Definition: elements.h:87
const unsigned int Aluminium
Definition: elements.h:95
const unsigned int Dysprosium
Definition: elements.h:148
void GetRGB(unsigned int atomic_number, double *r, double *g, double *b)
Sets the red, green, and blue color values for this element.
Definition: elements.cpp:159
const unsigned int Strontium
Definition: elements.h:120
const unsigned int Osmium
Definition: elements.h:158
const unsigned int Seaborgium
Definition: elements.h:188
const unsigned int Bismuth
Definition: elements.h:165
const unsigned int Neon
Definition: elements.h:92
const unsigned int Selenium
Definition: elements.h:116
const unsigned int Tellurium
Definition: elements.h:134
const unsigned int Praseodymium
Definition: elements.h:141
const unsigned int Meitnerium
Definition: elements.h:191
const unsigned int Neptunium
Definition: elements.h:175
const unsigned int Thallium
Definition: elements.h:163
const unsigned int Copernicium
Definition: elements.h:194
const unsigned int Radium
Definition: elements.h:170
const unsigned int Nihonium
Definition: elements.h:195
const unsigned int Sulfur
Definition: elements.h:98
const unsigned int Mercury
Definition: elements.h:162
const unsigned int Nitrogen
Definition: elements.h:89
const unsigned int Francium
Definition: elements.h:169
const unsigned int Lanthanum
Definition: elements.h:139
const unsigned int Indium
Definition: elements.h:131
const unsigned int Nobelium
Definition: elements.h:184
const char * GetName(unsigned int atomic_number)
Definition: elements.cpp:96
const unsigned int Sodium
Definition: elements.h:93
const unsigned int Europium
Definition: elements.h:145
const unsigned int Xenon
Definition: elements.h:136
const unsigned int Zinc
Definition: elements.h:112
const unsigned int Gold
Definition: elements.h:161
const unsigned int Cadmium
Definition: elements.h:130
const unsigned int Holmium
Definition: elements.h:149
const unsigned int Roentgenium
Definition: elements.h:193
const unsigned int Palladium
Definition: elements.h:128
double GetElectroNeg(unsigned int atomic_number)
Definition: elements.cpp:152
const unsigned int Titanium
Definition: elements.h:104
const unsigned int Chlorine
Definition: elements.h:99
const unsigned int Vanadium
Definition: elements.h:105
const unsigned int Arsenic
Definition: elements.h:115
const unsigned int Lithium
Definition: elements.h:85
const unsigned int Technetium
Definition: elements.h:125
const unsigned int Potassium
Definition: elements.h:101
const unsigned int Copper
Definition: elements.h:111
const unsigned int Promethium
Definition: elements.h:143
const unsigned int Cerium
Definition: elements.h:140
const unsigned int Neodymium
Definition: elements.h:142
const unsigned int Silver
Definition: elements.h:129
const unsigned int Iodine
Definition: elements.h:135
const unsigned int Lead
Definition: elements.h:164
const unsigned int Moscovium
Definition: elements.h:197
const unsigned int Hydrogen
The atomic numbers of the elements.
Definition: elements.h:83
const unsigned int Curium
Definition: elements.h:178
const unsigned int Nickel
Definition: elements.h:110
const unsigned int Flerovium
Definition: elements.h:196
const unsigned int Helium
Definition: elements.h:84
const unsigned int Chromium
Definition: elements.h:106
const unsigned int Lawrencium
Definition: elements.h:185
const unsigned int Molybdenum
Definition: elements.h:124
const unsigned int Hassium
Definition: elements.h:190
const unsigned int Gallium
Definition: elements.h:113
double GetExactMass(unsigned int atomic_number, unsigned int isotope=0)
Definition: elements.cpp:831
const unsigned int Actinium
Definition: elements.h:171
const unsigned int Bromine
Definition: elements.h:117
const unsigned int Fermium
Definition: elements.h:182
const unsigned int Tantalum
Definition: elements.h:155
const unsigned int Thorium
Definition: elements.h:172
const unsigned int Oganesson
Definition: elements.h:200
const unsigned int Tin
Definition: elements.h:132
const unsigned int Phosphorus
Definition: elements.h:97
const unsigned int Protactinium
Definition: elements.h:173
const unsigned int Berkelium
Definition: elements.h:179
const unsigned int Rutherfordium
Definition: elements.h:186
const unsigned int Hafnium
Definition: elements.h:154
const unsigned int Magnesium
Definition: elements.h:94
const unsigned int Beryllium
Definition: elements.h:86
const unsigned int Niobium
Definition: elements.h:123
const unsigned int Cobalt
Definition: elements.h:109
const unsigned int Fluorine
Definition: elements.h:91
const unsigned int Uranium
Definition: elements.h:174
double GetVdwRad(unsigned int atomic_number)
Definition: elements.cpp:124
const unsigned int Tungsten
Definition: elements.h:156
const unsigned int Darmstadtium
Definition: elements.h:192
const unsigned int Plutonium
Definition: elements.h:176
const unsigned int Platinum
Definition: elements.h:160
const unsigned int Rhodium
Definition: elements.h:127
const unsigned int Zirconium
Definition: elements.h:122
double GetIonization(unsigned int atomic_number)
Definition: elements.cpp:138
double GetElectronAffinity(unsigned int atomic_number)
Definition: elements.cpp:131
const unsigned int Ytterbium
Definition: elements.h:152
const unsigned int Argon
Definition: elements.h:100
const unsigned int Terbium
Definition: elements.h:147
const unsigned int Calcium
Definition: elements.h:102
const unsigned int Mendelevium
Definition: elements.h:183
double GetAllredRochowElectroNeg(unsigned int atomic_number)
Definition: elements.cpp:110
const unsigned int Scandium
Definition: elements.h:103
double GetMass(unsigned int atomic_number)
Definition: elements.cpp:103
const unsigned int Dubnium
Definition: elements.h:187
const unsigned int Krypton
Definition: elements.h:118
double GetCovalentRad(unsigned int atomic_number)
Definition: elements.cpp:117
const unsigned int Californium
Definition: elements.h:180
const unsigned int Iridium
Definition: elements.h:159
const unsigned int Gadolinium
Definition: elements.h:146
const unsigned int Ruthenium
Definition: elements.h:126
const unsigned int Silicon
Definition: elements.h:96
const unsigned int Radon
Definition: elements.h:168
const unsigned int Erbium
Definition: elements.h:150
const unsigned int Samarium
Definition: elements.h:144
const char * GetSymbol(unsigned int atomic_number)
Definition: elements.cpp:89
const unsigned int Americium
Definition: elements.h:177
Global namespace for all Open Babel code.
Definition: alias.h:22