mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-04 21:54:27 +08:00
164 lines
6.7 KiB
C++
Executable File
164 lines
6.7 KiB
C++
Executable File
//
|
|
// Copyright (C) 2001-2006 Greg Landrum and Rational Discovery LLC
|
|
//
|
|
// @@ All Rights Reserved @@
|
|
//
|
|
|
|
// Automatically generated from elements.txt
|
|
#include "atomic_data.h"
|
|
#include <boost/tokenizer.hpp>
|
|
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
|
|
|
|
namespace RDKit {
|
|
|
|
const std::string periodicTableAtomData =
|
|
"0 Du 0.000 0.000 0.000 0.000 0 1 2 3 4 5 6 \n \
|
|
1 H 0.230 0.330 1.200 1.008 1 1 \n \
|
|
2 He 0.930 0.700 1.400 4.003 2 0 \n \
|
|
3 Li 0.680 1.230 1.820 6.941 1 1 \n \
|
|
4 Be 0.350 0.900 1.700 9.012 2 2 \n \
|
|
5 B 0.830, 0.820 2.080 10.812 3 3 \n \
|
|
6 C 0.680 0.770 1.950 12.011 4 4 \n \
|
|
7 N 0.680 0.700 1.850 14.007 5 3 \n \
|
|
8 O 0.680 0.660 1.700 15.999 6 2 \n \
|
|
9 F 0.640 0.611 1.730 18.998 7 1 \n \
|
|
10 Ne 1.120 0.700 1.540 20.180 8 0 \n"
|
|
"11 Na 0.970 1.540 2.270 22.990 1 1 \n \
|
|
12 Mg 1.100 1.360 1.730 24.305 2 2 \n \
|
|
13 Al 1.350 1.180 2.050 26.982 3 6 \n \
|
|
14 Si 1.200 0.937 2.100 28.086 4 4 6 \n \
|
|
15 P 0.750 0.890 2.080 30.974 5 3 5 \n \
|
|
16 S 1.020 1.040 2.000 32.067 6 2 4 6 \n \
|
|
17 Cl 0.990 0.997 1.970 35.453 7 1 \n \
|
|
18 Ar 1.570 1.740 1.880 39.948 8 0 \n \
|
|
19 K 1.330 2.030 2.750 39.098 1 1 \n \
|
|
20 Ca 0.990 1.740 1.973 40.078 2 2 \n"
|
|
"21 Sc 1.440 1.440 1.700 44.956 3 6 \n \
|
|
22 Ti 1.470 1.320 1.700 47.867 4 6 \n \
|
|
23 V 1.330 1.220 1.700 50.942 5 6 \n \
|
|
24 Cr 1.350 1.180 1.700 51.996 6 6 \n \
|
|
25 Mn 1.350 1.170 1.700 54.938 7 8 \n \
|
|
26 Fe 1.340 1.170 1.700 55.845 8 6 \n \
|
|
27 Co 1.330 1.160 1.700 58.933 9 6 \n \
|
|
28 Ni 1.500 1.150 1.630 58.693 10 6 \n \
|
|
29 Cu 1.520 1.170 1.400 63.546 11 6 \n"
|
|
"30 Zn 1.450 1.250 1.390 65.390 2 6 \n \
|
|
31 Ga 1.220 1.260 1.870 69.723 3 3 \n \
|
|
32 Ge 1.170 1.188 1.700 72.610 4 4 \n \
|
|
33 As 1.210 1.200 1.850 74.922 5 3 5 \n \
|
|
34 Se 1.220 1.170 1.900 78.960 6 2 4 6\n \
|
|
35 Br 1.210 1.167 2.100 79.904 7 1 \n \
|
|
36 Kr 1.910 1.910 2.020 83.800 8 0 \n \
|
|
37 Rb 1.470 2.160 1.700 85.468 1 1 \n \
|
|
38 Sr 1.120 1.910 1.700 87.620 2 2 \n \
|
|
39 Y 1.780 1.620 1.700 88.906 3 6 \n"
|
|
"40 Zr 1.560 1.450 1.700 91.224 4 6 \n \
|
|
41 Nb 1.480 1.340 1.700 92.906 5 6 \n \
|
|
42 Mo 1.470 1.300 1.700 95.940 6 6 \n \
|
|
43 Tc 1.350 1.270 1.700 98.000 7 6 \n \
|
|
44 Ru 1.400 1.250 1.700 101.070 8 6 \n \
|
|
45 Rh 1.450 1.250 1.700 102.906 9 6 \n \
|
|
46 Pd 1.500 1.280 1.630 106.420 10 6 \n \
|
|
47 Ag 1.590 1.340 1.720 107.868 11 6 \n \
|
|
48 Cd 1.690 1.480 1.580 112.412 2 6 \n \
|
|
49 In 1.630 1.440 1.930 114.818 3 3 \n"
|
|
"50 Sn 1.460 1.385 2.170 118.711 4 4 \n \
|
|
51 Sb 1.460 1.400 2.200 121.760 5 3 5 \n \
|
|
52 Te 1.470 1.378 2.060 127.600 6 2 \n \
|
|
53 I 1.400 1.387 2.150 126.904 7 1 2 5 \n \
|
|
54 Xe 1.980 1.980 2.160 131.290 8 0 \n \
|
|
55 Cs 1.670 2.350 1.700 132.905 1 1 \n \
|
|
56 Ba 1.340 1.980 1.700 137.328 2 2 \n \
|
|
57 La 1.870 1.690 1.700 138.906 3 12 \n \
|
|
58 Ce 1.830 1.830 1.700 140.116 4 6 \n \
|
|
59 Pr 1.820 1.820 1.700 140.908 3 6 \n"
|
|
"60 Nd 1.810 1.810 1.700 144.240 4 6 \n \
|
|
61 Pm 1.800 1.800 1.700 145.000 5 6 \n \
|
|
62 Sm 1.800 1.800 1.700 150.360 6 6 \n \
|
|
63 Eu 1.990 1.990 1.700 151.964 7 6 \n \
|
|
64 Gd 1.790 1.790 1.700 157.250 8 6 \n \
|
|
65 Tb 1.760 1.760 1.700 158.925 9 6 \n \
|
|
66 Dy 1.750 1.750 1.700 162.500 10 6 \n \
|
|
67 Ho 1.740 1.740 1.700 164.930 11 6 \n \
|
|
68 Er 1.730 1.730 1.700 167.260 12 6 \n \
|
|
69 Tm 1.720 1.720 1.700 168.934 13 6 \n"
|
|
"70 Yb 1.940 1.940 1.700 173.040 14 6 \n \
|
|
71 Lu 1.720 1.720 1.700 174.967 15 6 \n \
|
|
72 Hf 1.570 1.440 1.700 178.490 4 6 \n \
|
|
73 Ta 1.430 1.340 1.700 180.948 5 6 \n \
|
|
74 W 1.370 1.300 1.700 183.840 6 6 \n \
|
|
75 Re 1.350 1.280 1.700 186.207 7 6 \n \
|
|
76 Os 1.370 1.260 1.700 190.230 8 6 \n \
|
|
77 Ir 1.320 1.270 1.700 192.217 9 6 \n \
|
|
78 Pt 1.500 1.300 1.720 195.078 10 6 \n \
|
|
79 Au 1.500 1.340 1.660 196.967 11 6 \n"
|
|
"80 Hg 1.700 1.490 1.550 200.590 2 6 \n \
|
|
81 Tl 1.550 1.480 1.960 204.383 3 3 \n \
|
|
82 Pb 1.540 1.480 2.020 207.200 4 4 \n \
|
|
83 Bi 1.540 1.450 1.700 208.980 5 3 \n \
|
|
84 Po 1.680 1.460 1.700 209.000 6 2 \n \
|
|
85 At 1.700 1.450 1.700 210.000 7 1 \n \
|
|
86 Rn 2.400 2.400 1.700 222.000 8 0 \n \
|
|
87 Fr 2.000 2.000 1.700 223.000 1 1 \n \
|
|
88 Ra 1.900 1.900 1.700 226.000 2 2 \n \
|
|
89 Ac 1.880 1.880 1.700 227.000 3 6 \n"
|
|
"90 Th 1.790 1.790 1.700 232.038 4 6 \n \
|
|
91 Pa 1.610 1.610 1.700 231.036 3 6 \n \
|
|
92 U 1.580 1.580 1.860 238.029 4 6 \n \
|
|
93 Np 1.550 1.550 1.700 237.000 5 6 \n \
|
|
94 Pu 1.530 1.530 1.700 244.000 6 6 \n \
|
|
95 Am 1.510 1.070 1.700 243.000 7 6 \n \
|
|
96 Cm 1.500 0.000 1.700 247.000 8 6 \n \
|
|
97 Bk 1.500 0.000 1.700 247.000 9 6 \n \
|
|
98 Cf 1.500 0.000 1.700 251.000 10 6 \n \
|
|
99 Es 1.500 0.000 1.700 252.000 11 6 \n"
|
|
"100 Fm 1.500 0.000 1.700 257.000 12 6 \n \
|
|
101 Md 1.500 0.000 1.700 258.000 13 6 \n \
|
|
102 No 1.500 0.000 1.700 259.000 14 6 \n \
|
|
103 Lr 1.500 0.000 1.700 262.000 15 6 \n \
|
|
104 Rf 1.500 0.000 1.700 261.000 4 6 \n \
|
|
";
|
|
|
|
atomicData::atomicData(const std::string &dataLine) {
|
|
boost::char_separator<char> spaceSep(" \t");
|
|
tokenizer tokens(dataLine,spaceSep);
|
|
tokenizer::iterator token=tokens.begin();
|
|
|
|
// atomic number first
|
|
anum = atoi(token->c_str());
|
|
++token;
|
|
|
|
// element symbol
|
|
symb = *token;
|
|
++token;
|
|
|
|
// covalent radius
|
|
rCov = atof(token->c_str());
|
|
++token;
|
|
|
|
// rB0
|
|
rB0 = atof(token->c_str());
|
|
++token;
|
|
|
|
// Van derWaal radius
|
|
rVdw = atof(token->c_str());
|
|
++token;
|
|
|
|
// atomic mass
|
|
mass = atof(token->c_str());
|
|
++token;
|
|
|
|
// number of outshell electrons
|
|
nVal = atoi(token->c_str());
|
|
++token;
|
|
|
|
// now the valences
|
|
valence.clear();
|
|
while (token != tokens.end()) {
|
|
valence.push_back(atoi(token->c_str()));
|
|
++token;
|
|
}
|
|
}
|
|
}
|
|
|