root / ase / data / __init__.py @ 12
Historique | Voir | Annoter | Télécharger (10,28 ko)
1 |
import numpy as np |
---|---|
2 |
|
3 |
|
4 |
chemical_symbols = ['X', 'H', 'He', 'Li', 'Be', |
5 |
'B', 'C', 'N', 'O', 'F', |
6 |
'Ne', 'Na', 'Mg', 'Al', 'Si', |
7 |
'P', 'S', 'Cl', 'Ar', 'K', |
8 |
'Ca', 'Sc', 'Ti', 'V', 'Cr', |
9 |
'Mn', 'Fe', 'Co', 'Ni', 'Cu', |
10 |
'Zn', 'Ga', 'Ge', 'As', 'Se', |
11 |
'Br', 'Kr', 'Rb', 'Sr', 'Y', |
12 |
'Zr', 'Nb', 'Mo', 'Tc', 'Ru', |
13 |
'Rh', 'Pd', 'Ag', 'Cd', 'In', |
14 |
'Sn', 'Sb', 'Te', 'I', 'Xe', |
15 |
'Cs', 'Ba', 'La', 'Ce', 'Pr', |
16 |
'Nd', 'Pm', 'Sm', 'Eu', 'Gd', |
17 |
'Tb', 'Dy', 'Ho', 'Er', 'Tm', |
18 |
'Yb', 'Lu', 'Hf', 'Ta', 'W', |
19 |
'Re', 'Os', 'Ir', 'Pt', 'Au', |
20 |
'Hg', 'Tl', 'Pb', 'Bi', 'Po', |
21 |
'At', 'Rn', 'Fr', 'Ra', 'Ac', |
22 |
'Th', 'Pa', 'U', 'Np', 'Pu', |
23 |
'Am', 'Cm', 'Bk', 'Cf', 'Es', |
24 |
'Fm', 'Md', 'No', 'Lw'] |
25 |
|
26 |
atomic_numbers = {} |
27 |
for Z, symbol in enumerate(chemical_symbols): |
28 |
atomic_numbers[symbol] = Z |
29 |
|
30 |
atomic_names = [ |
31 |
'', 'Hydrogen', 'Helium', 'Lithium', 'Beryllium', 'Boron', |
32 |
'Carbon', 'Nitrogen', 'Oxygen', 'Fluorine', 'Neon', 'Sodium', |
33 |
'Magnesium', 'Aluminium', 'Silicon', 'Phosphorus', 'Sulfur', |
34 |
'Chlorine', 'Argon', 'Potassium', 'Calcium', 'Scandium', |
35 |
'Titanium', 'Vanadium', 'Chromium', 'Manganese', 'Iron', |
36 |
'Cobalt', 'Nickel', 'Copper', 'Zinc', 'Gallium', 'Germanium', |
37 |
'Arsenic', 'Selenium', 'Bromine', 'Krypton', 'Rubidium', |
38 |
'Strontium', 'Yttrium', 'Zirconium', 'Niobium', 'Molybdenum', |
39 |
'Technetium', 'Ruthenium', 'Rhodium', 'Palladium', 'Silver', |
40 |
'Cadmium', 'Indium', 'Tin', 'Antimony', 'Tellurium', |
41 |
'Iodine', 'Xenon', 'Caesium', 'Barium', 'Lanthanum', |
42 |
'Cerium', 'Praseodymium', 'Neodymium', 'Promethium', |
43 |
'Samarium', 'Europium', 'Gadolinium', 'Terbium', |
44 |
'Dysprosium', 'Holmium', 'Erbium', 'Thulium', 'Ytterbium', |
45 |
'Lutetium', 'Hafnium', 'Tantalum', 'Tungsten', 'Rhenium', |
46 |
'Osmium', 'Iridium', 'Platinum', 'Gold', 'Mercury', |
47 |
'Thallium', 'Lead', 'Bismuth', 'Polonium', 'Astatine', |
48 |
'Radon', 'Francium', 'Radium', 'Actinium', 'Thorium', |
49 |
'Protactinium', 'Uranium', 'Neptunium', 'Plutonium', |
50 |
'Americium', 'Curium', 'Berkelium', 'Californium', |
51 |
'Einsteinium', 'Fermium', 'Mendelevium', 'Nobelium', |
52 |
'Lawrencium', 'Unnilquadium', 'Unnilpentium', 'Unnilhexium'] |
53 |
|
54 |
atomic_masses = np.array([ |
55 |
0.00000, # X |
56 |
1.00794, # H |
57 |
4.00260, # He |
58 |
6.94100, # Li |
59 |
9.01218, # Be |
60 |
10.81100, # B |
61 |
12.01100, # C |
62 |
14.00670, # N |
63 |
15.99940, # O |
64 |
18.99840, # F |
65 |
20.17970, # Ne |
66 |
22.98977, # Na |
67 |
24.30500, # Mg |
68 |
26.98154, # Al |
69 |
28.08550, # Si |
70 |
30.97376, # P |
71 |
32.06600, # S |
72 |
35.45270, # Cl |
73 |
39.94800, # Ar |
74 |
39.09830, # K |
75 |
40.07800, # Ca |
76 |
44.95590, # Sc |
77 |
47.88000, # Ti |
78 |
50.94150, # V |
79 |
51.99600, # Cr |
80 |
54.93800, # Mn |
81 |
55.84700, # Fe |
82 |
58.93320, # Co |
83 |
58.69340, # Ni |
84 |
63.54600, # Cu |
85 |
65.39000, # Zn |
86 |
69.72300, # Ga |
87 |
72.61000, # Ge |
88 |
74.92160, # As |
89 |
78.96000, # Se |
90 |
79.90400, # Br |
91 |
83.80000, # Kr |
92 |
85.46780, # Rb |
93 |
87.62000, # Sr |
94 |
88.90590, # Y |
95 |
91.22400, # Zr |
96 |
92.90640, # Nb |
97 |
95.94000, # Mo |
98 |
np.nan, # Tc
|
99 |
101.07000, # Ru |
100 |
102.90550, # Rh |
101 |
106.42000, # Pd |
102 |
107.86800, # Ag |
103 |
112.41000, # Cd |
104 |
114.82000, # In |
105 |
118.71000, # Sn |
106 |
121.75700, # Sb |
107 |
127.60000, # Te |
108 |
126.90450, # I |
109 |
131.29000, # Xe |
110 |
132.90540, # Cs |
111 |
137.33000, # Ba |
112 |
138.90550, # La |
113 |
140.12000, # Ce |
114 |
140.90770, # Pr |
115 |
144.24000, # Nd |
116 |
np.nan, # Pm
|
117 |
150.36000, # Sm |
118 |
151.96500, # Eu |
119 |
157.25000, # Gd |
120 |
158.92530, # Tb |
121 |
162.50000, # Dy |
122 |
164.93030, # Ho |
123 |
167.26000, # Er |
124 |
168.93420, # Tm |
125 |
173.04000, # Yb |
126 |
174.96700, # Lu |
127 |
178.49000, # Hf |
128 |
180.94790, # Ta |
129 |
183.85000, # W |
130 |
186.20700, # Re |
131 |
190.20000, # Os |
132 |
192.22000, # Ir |
133 |
195.08000, # Pt |
134 |
196.96650, # Au |
135 |
200.59000, # Hg |
136 |
204.38300, # Tl |
137 |
207.20000, # Pb |
138 |
208.98040, # Bi |
139 |
np.nan, # Po
|
140 |
np.nan, # At
|
141 |
np.nan, # Rn
|
142 |
np.nan, # Fr
|
143 |
226.02540, # Ra |
144 |
np.nan, # Ac
|
145 |
232.03810, # Th |
146 |
231.03590, # Pa |
147 |
238.02900, # U |
148 |
237.04820, # Np |
149 |
np.nan, # Pu
|
150 |
np.nan, # Am
|
151 |
np.nan, # Cm
|
152 |
np.nan, # Bk
|
153 |
np.nan, # Cf
|
154 |
np.nan, # Es
|
155 |
np.nan, # Fm
|
156 |
np.nan, # Md
|
157 |
np.nan, # No
|
158 |
np.nan])# Lw
|
159 |
|
160 |
covalent_radius_default = 0.20 # for anything we don't know better |
161 |
|
162 |
covalent_radii = np.array([ |
163 |
covalent_radius_default, # X
|
164 |
0.32, # H |
165 |
0.93, # He |
166 |
1.23, # Li |
167 |
0.90, # Be |
168 |
0.82, # B |
169 |
0.77, # C |
170 |
0.75, # N |
171 |
0.73, # O |
172 |
0.72, # F |
173 |
0.71, # Ne |
174 |
1.54, # Na |
175 |
1.36, # Mg |
176 |
1.18, # Al |
177 |
1.11, # Si |
178 |
1.06, # P |
179 |
1.02, # S |
180 |
0.99, # Cl |
181 |
0.98, # Ar |
182 |
2.03, # K |
183 |
1.74, # Ca |
184 |
1.44, # Sc |
185 |
1.32, # Ti |
186 |
1.22, # V |
187 |
1.18, # Cr |
188 |
1.17, # Mn |
189 |
1.17, # Fe |
190 |
1.16, # Co |
191 |
1.15, # Ni |
192 |
1.17, # Cu |
193 |
1.25, # Zn |
194 |
1.26, # Ga |
195 |
1.22, # Ge |
196 |
1.20, # As |
197 |
1.16, # Se |
198 |
1.14, # Br |
199 |
1.89, # Kr |
200 |
2.16, # Rb |
201 |
1.91, # Sr |
202 |
1.62, # Y |
203 |
1.45, # Zr |
204 |
1.34, # Nb |
205 |
1.30, # Mo |
206 |
1.27, # Tc |
207 |
1.25, # Ru |
208 |
1.25, # Rh |
209 |
1.28, # Pd |
210 |
1.34, # Ag |
211 |
1.41, # Cd |
212 |
1.44, # In |
213 |
1.41, # Sn |
214 |
1.40, # Sb |
215 |
1.36, # Te |
216 |
1.33, # I |
217 |
1.31, # Xe |
218 |
2.35, # Cs |
219 |
1.98, # Ba |
220 |
1.25, # La |
221 |
1.65, # Ce |
222 |
1.65, # Pr |
223 |
1.64, # Nd |
224 |
1.63, # Pm |
225 |
1.62, # Sm |
226 |
1.85, # Eu |
227 |
1.61, # Gd |
228 |
1.59, # Tb |
229 |
1.59, # Dy |
230 |
1.58, # Ho |
231 |
1.57, # Er |
232 |
1.56, # Tm |
233 |
1.70, # Yb |
234 |
1.56, # Lu |
235 |
1.44, # Hf |
236 |
1.34, # Ta |
237 |
1.30, # W |
238 |
1.28, # Re |
239 |
1.26, # Os |
240 |
1.27, # Ir |
241 |
1.30, # Pt |
242 |
1.34, # Au |
243 |
1.49, # Hg |
244 |
1.48, # Tl |
245 |
1.47, # Pb |
246 |
1.46, # Bi |
247 |
1.53, # Po |
248 |
1.47, # At |
249 |
covalent_radius_default, # Rn
|
250 |
covalent_radius_default, # Fr
|
251 |
covalent_radius_default, # Ra
|
252 |
covalent_radius_default, # Ac
|
253 |
1.65, # Th |
254 |
covalent_radius_default, # Pa
|
255 |
1.42, # U |
256 |
covalent_radius_default, # Np
|
257 |
covalent_radius_default, # Pu
|
258 |
covalent_radius_default, # Am
|
259 |
covalent_radius_default, # Cm
|
260 |
covalent_radius_default, # Bk
|
261 |
covalent_radius_default, # Cf
|
262 |
covalent_radius_default, # Es
|
263 |
covalent_radius_default, # Fm
|
264 |
covalent_radius_default, # Md
|
265 |
covalent_radius_default, # No
|
266 |
covalent_radius_default]) # Lw
|
267 |
|
268 |
# This data is from Ashcroft and Mermin.
|
269 |
reference_states = [\ |
270 |
None, #X |
271 |
{'symmetry': 'diatom', 'd': 0.74}, #H |
272 |
{'symmetry': 'atom'}, #He |
273 |
{'symmetry': 'BCC', 'a': 3.49}, #Li |
274 |
{'symmetry': 'hcp', 'c/a': 1.567, 'a': 2.29}, #Be |
275 |
{'symmetry': 'Tetragonal', 'c/a': 0.576, 'a': 8.73}, #B |
276 |
{'symmetry': 'Diamond', 'a': 3.57},#C |
277 |
{'symmetry': 'diatom', 'd': 1.10},#N |
278 |
{'symmetry': 'diatom', 'd': 1.21},#O |
279 |
{'symmetry': 'diatom', 'd': 1.42},#F |
280 |
{'symmetry': 'fcc', 'a': 4.43},#Ne |
281 |
{'symmetry': 'BCC', 'a': 4.23},#Na |
282 |
{'symmetry': 'hcp', 'c/a': 1.624, 'a': 3.21},#Mg |
283 |
{'symmetry': 'fcc', 'a': 4.05},#Al |
284 |
{'symmetry': 'Diamond', 'a': 5.43},#Si |
285 |
{'symmetry': 'Cubic', 'a': 7.17},#P |
286 |
{'symmetry': 'Orthorhombic', 'c/a': 2.339, 'a': 10.47,'b/a': 1.229},#S |
287 |
{'symmetry': 'Orthorhombic', 'c/a': 1.324, 'a': 6.24, 'b/a': 0.718},#Cl |
288 |
{'symmetry': 'fcc', 'a': 5.26},#Ar |
289 |
{'symmetry': 'BCC', 'a': 5.23},#K |
290 |
{'symmetry': 'fcc', 'a': 5.58},#Ca |
291 |
{'symmetry': 'hcp', 'c/a': 1.594, 'a': 3.31},#Sc |
292 |
{'symmetry': 'hcp', 'c/a': 1.588, 'a': 2.95},#Ti |
293 |
{'symmetry': 'BCC', 'a': 3.02},#V |
294 |
{'symmetry': 'BCC', 'a': 2.88},#Cr |
295 |
{'symmetry': 'Cubic', 'a': 8.89},#Mn |
296 |
{'symmetry': 'BCC', 'a': 2.87},#Fe |
297 |
{'symmetry': 'hcp', 'c/a': 1.622, 'a': 2.51},#Co |
298 |
{'symmetry': 'fcc', 'a': 3.52},#Ni |
299 |
{'symmetry': 'fcc', 'a': 3.61},#Cu |
300 |
{'symmetry': 'hcp', 'c/a': 1.856, 'a': 2.66},#Zn |
301 |
{'symmetry': 'Orthorhombic', 'c/a': 1.695, 'a': 4.51, 'b/a': 1.001},#Ga |
302 |
{'symmetry': 'Diamond', 'a': 5.66},#Ge |
303 |
{'symmetry': 'Rhombohedral', 'a': 4.13, 'alpha': 54.10},#As |
304 |
{'symmetry': 'hcp', 'c/a': 1.136, 'a': 4.36},#Se |
305 |
{'symmetry': 'Orthorhombic', 'c/a': 1.307, 'a': 6.67, 'b/a': 0.672},#Br |
306 |
{'symmetry': 'fcc', 'a': 5.72},#Kr |
307 |
{'symmetry': 'BCC', 'a': 5.59},#Rb |
308 |
{'symmetry': 'fcc', 'a': 6.08},#Sr |
309 |
{'symmetry': 'hcp', 'c/a': 1.571, 'a': 3.65},#Y |
310 |
{'symmetry': 'hcp', 'c/a': 1.593, 'a': 3.23},#Zr |
311 |
{'symmetry': 'BCC', 'a': 3.30},#Nb |
312 |
{'symmetry': 'BCC', 'a': 3.15},#Mo |
313 |
{'symmetry': 'hcp', 'c/a': 1.604, 'a': 2.74},#Tc |
314 |
{'symmetry': 'hcp', 'c/a': 1.584, 'a': 2.70},#Ru |
315 |
{'symmetry': 'fcc', 'a': 3.80},#Rh |
316 |
{'symmetry': 'fcc', 'a': 3.89},#Pd |
317 |
{'symmetry': 'fcc', 'a': 4.09},#Ag |
318 |
{'symmetry': 'hcp', 'c/a': 1.886, 'a': 2.98},#Cd |
319 |
{'symmetry': 'Tetragonal', 'c/a': 1.076, 'a': 4.59},#In |
320 |
{'symmetry': 'Tetragonal', 'c/a': 0.546, 'a': 5.82},#Sn |
321 |
{'symmetry': 'Rhombohedral', 'a': 4.51, 'alpha': 57.60},#Sb |
322 |
{'symmetry': 'hcp', 'c/a': 1.330, 'a': 4.45},#Te |
323 |
{'symmetry': 'Orthorhombic', 'c/a': 1.347, 'a': 7.27, 'b/a': 0.659},#I |
324 |
{'symmetry': 'fcc', 'a': 6.20},#Xe |
325 |
{'symmetry': 'BCC', 'a': 6.05},#Cs |
326 |
{'symmetry': 'BCC', 'a': 5.02},#Ba |
327 |
{'symmetry': 'hcp', 'c/a': 1.619, 'a': 3.75},#La |
328 |
{'symmetry': 'fcc', 'a': 5.16},#Ce |
329 |
{'symmetry': 'hcp', 'c/a': 1.614, 'a': 3.67},#Pr |
330 |
{'symmetry': 'hcp', 'c/a': 1.614, 'a': 3.66},#Nd |
331 |
None,#Pm |
332 |
{'symmetry': 'Rhombohedral', 'a': 9.00, 'alpha': 23.13},#Sm |
333 |
{'symmetry': 'BCC', 'a': 4.61},#Eu |
334 |
{'symmetry': 'hcp', 'c/a': 1.588, 'a': 3.64},#Gd |
335 |
{'symmetry': 'hcp', 'c/a': 1.581, 'a': 3.60},#Th |
336 |
{'symmetry': 'hcp', 'c/a': 1.573, 'a': 3.59},#Dy |
337 |
{'symmetry': 'hcp', 'c/a': 1.570, 'a': 3.58},#Ho |
338 |
{'symmetry': 'hcp', 'c/a': 1.570, 'a': 3.56},#Er |
339 |
{'symmetry': 'hcp', 'c/a': 1.570, 'a': 3.54},#Tm |
340 |
{'symmetry': 'fcc', 'a': 5.49},#Yb |
341 |
{'symmetry': 'hcp', 'c/a': 1.585, 'a': 3.51},#Lu |
342 |
{'symmetry': 'hcp', 'c/a': 1.582, 'a': 3.20},#Hf |
343 |
{'symmetry': 'BCC', 'a': 3.31},#Ta |
344 |
{'symmetry': 'BCC', 'a': 3.16},#W |
345 |
{'symmetry': 'hcp', 'c/a': 1.615, 'a': 2.76},#Re |
346 |
{'symmetry': 'hcp', 'c/a': 1.579, 'a': 2.74},#Os |
347 |
{'symmetry': 'fcc', 'a': 3.84},#Ir |
348 |
{'symmetry': 'fcc', 'a': 3.92},#Pt |
349 |
{'symmetry': 'fcc', 'a': 4.08},#Au |
350 |
{'symmetry': 'Rhombohedral', 'a': 2.99, 'alpha': 70.45},#Hg |
351 |
{'symmetry': 'hcp', 'c/a': 1.599, 'a': 3.46},#Tl |
352 |
{'symmetry': 'fcc', 'a': 4.95},#Pb |
353 |
{'symmetry': 'Rhombohedral', 'a': 4.75, 'alpha': 57.14},#Bi |
354 |
{'symmetry': 'SC', 'a': 3.35},#Po |
355 |
None,#At |
356 |
None,#Rn |
357 |
None,#Fr |
358 |
None,#Ra |
359 |
{'symmetry': 'fcc', 'a': 5.31},#Ac |
360 |
{'symmetry': 'fcc', 'a': 5.08},#Th |
361 |
{'symmetry': 'Tetragonal', 'c/a': 0.825, 'a': 3.92},#Pa |
362 |
{'symmetry': 'Orthorhombic', 'c/a': 2.056, 'a': 2.85, 'b/a': 1.736},#U |
363 |
{'symmetry': 'Orthorhombic', 'c/a': 1.411, 'a': 4.72, 'b/a': 1.035},#Np |
364 |
{'symmetry': 'Monoclinic'},#Pu |
365 |
None,#Am |
366 |
None,#Cm |
367 |
None,#Bk |
368 |
None,#Cf |
369 |
None,#Es |
370 |
None,#Fm |
371 |
None,#Md |
372 |
None,#No |
373 |
None]#Lw |