1
2
3
4
5
6
7
8
9
10
11 """ periodic table data, **obsolete**
12
13 now that the C++ code exposes an interface to the internal PT stuff,
14 this data is mostly obsolete
15
16 """
17
18 periodicData=\
19 """
20 0 X 0.0 0.0 0.0 0 0.000 0
21 1 H 0.230 0.330 1.200 1 1.008 1
22 2 He 0.930 0.700 1.400 0 4.003 2
23 3 Li 0.680 1.230 1.820 1 6.941 1
24 4 Be 0.350 0.900 1.700 2 9.012 2
25 5 B 0.830 0.820 2.080 3 10.812 3
26 6 C 0.680 0.770 1.950 4 12.011 4
27 7 N 0.680 0.700 1.850 4 14.007 5
28 8 O 0.680 0.660 1.700 2 15.999 6
29 9 F 0.640 0.611 1.730 1 18.998 7
30 10 Ne 1.120 0.700 1.540 0 20.180 8
31 11 Na 0.970 1.540 2.270 1 22.990 1
32 12 Mg 1.100 1.360 1.730 2 24.305 2
33 13 Al 1.350 1.180 2.050 6 26.982 3
34 14 Si 1.200 0.937 2.100 6 28.086 4
35 15 P 0.750 0.890 2.080 5 30.974 5
36 16 S 1.020 1.040 2.000 6 32.067 6
37 17 Cl 0.990 0.997 1.970 1 35.453 7
38 18 Ar 1.570 1.740 1.880 0 39.948 8
39 19 K 1.330 2.030 2.750 1 39.098 1
40 20 Ca 0.990 1.740 1.973 2 40.078 2
41 21 Sc 1.440 1.440 1.700 6 44.956 3
42 22 Ti 1.470 1.320 1.700 6 47.867 4
43 23 V 1.330 1.220 1.700 6 50.942 5
44 24 Cr 1.350 1.180 1.700 6 51.996 6
45 25 Mn 1.350 1.170 1.700 8 54.938 7
46 26 Fe 1.340 1.170 1.700 6 55.845 8
47 27 Co 1.330 1.160 1.700 6 58.933 9
48 28 Ni 1.500 1.150 1.630 6 58.693 10
49 29 Cu 1.520 1.170 1.400 6 63.546 11
50 30 Zn 1.450 1.250 1.390 6 65.39 2
51 31 Ga 1.220 1.260 1.870 3 69.723 3
52 32 Ge 1.170 1.188 1.700 4 72.61 4
53 33 As 1.210 1.200 1.850 3 74.922 5
54 34 Se 1.220 1.170 1.900 2 78.96 6
55 35 Br 1.210 1.167 2.100 1 79.904 7
56 36 Kr 1.910 1.910 2.020 0 83.80 8
57 37 Rb 1.470 2.160 1.700 1 85.468 1
58 38 Sr 1.120 1.910 1.700 2 87.62 2
59 39 Y 1.780 1.620 1.700 6 88.906 3
60 40 Zr 1.560 1.450 1.700 6 91.224 4
61 41 Nb 1.480 1.340 1.700 6 92.906 5
62 42 Mo 1.470 1.300 1.700 6 95.94 6
63 43 Tc 1.350 1.270 1.700 6 98.0 7
64 44 Ru 1.400 1.250 1.700 6 101.07 8
65 45 Rh 1.450 1.250 1.700 6 102.906 9
66 46 Pd 1.500 1.280 1.630 6 106.42 10
67 47 Ag 1.590 1.340 1.720 6 107.868 11
68 48 Cd 1.690 1.480 1.580 6 112.412 2
69 49 In 1.630 1.440 1.930 3 114.818 3
70 50 Sn 1.460 1.385 2.170 4 118.711 4
71 51 Sb 1.460 1.400 2.200 3 121.760 5
72 52 Te 1.470 1.378 2.060 2 127.60 6
73 53 I 1.400 1.387 2.150 1 126.904 7
74 54 Xe 1.980 1.980 2.160 0 131.29 8
75 55 Cs 1.670 2.350 1.700 1 132.905 1
76 56 Ba 1.340 1.980 1.700 2 137.328 2
77 57 La 1.870 1.690 1.700 12 138.906 3
78 58 Ce 1.830 1.830 1.700 6 140.116 4
79 59 Pr 1.820 1.820 1.700 6 140.908 3
80 60 Nd 1.810 1.810 1.700 6 144.24 4
81 61 Pm 1.800 1.800 1.700 6 145.0 5
82 62 Sm 1.800 1.800 1.700 6 150.36 6
83 63 Eu 1.990 1.990 1.700 6 151.964 7
84 64 Gd 1.790 1.790 1.700 6 157.25 8
85 65 Tb 1.760 1.760 1.700 6 158.925 9
86 66 Dy 1.750 1.750 1.700 6 162.50 10
87 67 Ho 1.740 1.740 1.700 6 164.930 11
88 68 Er 1.730 1.730 1.700 6 167.26 12
89 69 Tm 1.720 1.720 1.700 6 168.934 13
90 70 Yb 1.940 1.940 1.700 6 173.04 14
91 71 Lu 1.720 1.720 1.700 6 174.967 15
92 72 Hf 1.570 1.440 1.700 6 178.49 4
93 73 Ta 1.430 1.340 1.700 6 180.948 5
94 74 W 1.370 1.300 1.700 6 183.84 6
95 75 Re 1.350 1.280 1.700 6 186.207 7
96 76 Os 1.370 1.260 1.700 6 190.23 8
97 77 Ir 1.320 1.270 1.700 6 192.217 9
98 78 Pt 1.500 1.300 1.720 6 195.078 10
99 79 Au 1.500 1.340 1.660 6 196.967 11
100 80 Hg 1.700 1.490 1.550 6 200.59 2
101 81 Tl 1.550 1.480 1.960 3 204.383 3
102 82 Pb 1.540 1.480 2.020 4 207.2 4
103 83 Bi 1.540 1.450 1.700 3 208.980 5
104 84 Po 1.680 1.460 1.700 2 209.0 6
105 85 At 1.700 1.450 1.700 1 210.0 7
106 86 Rn 2.400 2.400 1.700 0 222.0 8
107 87 Fr 2.000 2.000 1.700 1 223.0 1
108 88 Ra 1.900 1.900 1.700 2 226.0 2
109 89 Ac 1.880 1.880 1.700 6 227.0 3
110 90 Th 1.790 1.790 1.700 6 232.038 4
111 91 Pa 1.610 1.610 1.700 6 231.036 3
112 92 U 1.580 1.580 1.860 6 238.029 4
113 93 Np 1.550 1.550 1.700 6 237.0 5
114 94 Pu 1.530 1.530 1.700 6 244.0 6
115 95 Am 1.510 1.070 1.700 6 243.0 7
116 96 Cm 1.500 0.000 1.700 6 247.0 8
117 97 Bk 1.500 0.000 1.700 6 247.0 9
118 98 Cf 1.500 0.000 1.700 6 251.0 10
119 99 Es 1.500 0.000 1.700 6 252.0 11
120 100 Fm 1.500 0.000 1.700 6 257.0 12
121 101 Md 1.500 0.000 1.700 6 258.0 13
122 102 No 1.500 0.000 1.700 6 259.0 14
123 103 Lr 1.500 0.000 1.700 6 262.0 15
124 """
125
126 nameTable = {}
127 numTable = {}
128 for line in periodicData.split('\n'):
129 splitLine = line.split()
130 if len(splitLine)>1:
131 nameTable[splitLine[1]] = (int(splitLine[0]),float(splitLine[6]),int(splitLine[7]),\
132 int(splitLine[5]),float(splitLine[2]),float(splitLine[3]),
133 float(splitLine[4]))
134 numTable[int(splitLine[0])] = (splitLine[1],float(splitLine[6]),int(splitLine[7]),\
135 int(splitLine[5]),float(splitLine[2]),float(splitLine[3]),
136 float(splitLine[4]))
137
138
139 metalRanges = ["13","21-32","39-51","57-84","89-103"]
140 metalNumList = []
141 for entry in metalRanges:
142 t = entry.split('-')
143 start = int(t[0])
144 if len(t)>1:
145 end = int(t[1])
146 else:
147 end = start
148 if start > end:
149 start,end = end,start
150 metalNumList += range(start,end+1)
151 metalNames = map(lambda x:numTable[x][0],metalNumList)
152
153
154
155
156 hallKierAlphas = {
157 'H':[0.0,0.0,0.0],
158 'C':[-0.22,-0.13,0.0],
159 'N':[-0.29,-0.20,-0.04],
160 'O':[None,-0.20,-0.04],
161 'F':[None,None,-0.07],
162 'P':[None,0.30,0.43],
163 'S':[None,0.22,0.35],
164 'Cl':[None,None,0.29],
165 'Br':[None,None,0.48],
166 'I':[None,None,0.73]}
167