Statistiques
| Révision :

root / ase / data / __init__.py @ 1

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