1##################################################################
2##  (c) Copyright 2015-  by Jaron T. Krogel                     ##
3##################################################################
4
5
6#====================================================================#
7#  periodic_table.py                                                 #
8#    Collected periodic table data.                                  #
9#                                                                    #
10#  Content summary:                                                  #
11#    PeriodicTable                                                   #
12#      Class representing the periodic table.                        #
13#                                                                    #
14#    periodic_table or pt                                            #
15#      References to a single, complete PeriodicTable instance.      #
16#      Used extensively by importing modules for data access.        #
17#                                                                    #
18#    Element                                                         #
19#      Class representing a single element.                          #
20#                                                                    #
21#====================================================================#
22
23
24from generic import obj
25from developer import DevBase
26from unit_converter import UnitConverter
27
28
29def phys_value_dict(value=None,units=None):
30    vdict = UnitConverter.convert_scalar_to_all(units,value)
31    return obj(**vdict)
32#end def phys_value_dict
33
34
35
36
37class SimpleElement(DevBase):
38    def __init__(self):
39
40        self.atomic_number     = None
41        self.name              = None
42        self.symbol            = None
43        self.group             = None
44        self.atomic_weight     = None
45        self.atomic_radius     = None
46        self.nuclear_charge    = None
47        self.abundance         = None
48        self.electron_affinity = None
49        self.electronegativity = None
50        self.ionization_energy = None
51        self.ionic_radius      = None
52        self.melting_point     = None
53        self.boiling_point     = None
54
55        self.string_rep = None
56        self.var_dict = None
57    #end def __init__
58
59    def create_var_dict(self):
60        self.var_dict = dict()
61        self.var_dict['atomic_number'    ] = self.atomic_number
62        self.var_dict['name'             ] = self.name
63        self.var_dict['symbol'           ] = self.symbol
64        self.var_dict['group'            ] = self.group
65        self.var_dict['atomic_weight'    ] = self.atomic_weight
66        self.var_dict['atomic_radius'    ] = self.atomic_radius
67        self.var_dict['nuclear_charge'   ] = self.nuclear_charge
68        self.var_dict['abundance'        ] = self.abundance
69        self.var_dict['electron_affinity'] = self.electron_affinity
70        self.var_dict['electronegativity'] = self.electronegativity
71        self.var_dict['ionization_energy'] = self.ionization_energy
72        self.var_dict['ionic_radius'     ] = self.ionic_radius
73        self.var_dict['melting_point'    ] = self.melting_point
74        self.var_dict['boiling_point'    ] = self.boiling_point
75
76        self.replace_None()
77    #end def create_var_dict
78
79    def replace_None(self):
80        none_rep = -1.0
81        for k,v in self.var_dict.items():
82            if(v==None):
83                self.var_dict[k] = none_rep
84            #end if
85        #end for
86        self.atomic_number      = self.var_dict['atomic_number'    ]
87        self.name               = self.var_dict['name'             ]
88        self.symbol             = self.var_dict['symbol'           ]
89        self.group              = self.var_dict['group'            ]
90        self.atomic_weight      = self.var_dict['atomic_weight'    ]
91        self.atomic_radius      = self.var_dict['atomic_radius'    ]
92        self.nuclear_charge     = self.var_dict['nuclear_charge'   ]
93        self.abundance          = self.var_dict['abundance'        ]
94        self.electron_affinity  = self.var_dict['electron_affinity']
95        self.electronegativity  = self.var_dict['electronegativity']
96        self.ionization_energy  = self.var_dict['ionization_energy']
97        self.ionic_radius       = self.var_dict['ionic_radius'     ]
98        self.melting_point      = self.var_dict['melting_point'    ]
99        self.boiling_point      = self.var_dict['boiling_point'    ]
100    #end def replace_None
101
102    def create_string_representation(self):
103        ind = 4*' '
104
105        iformat = '%6i'
106        rformat = '%7.5f'
107
108        s = ''
109        s += self.symbol+'{\n'
110        s += ind + 'atomic_number = '     + str(self.atomic_number)+'\n'
111        s += ind + 'name = '              + str(self.name)+'\n'
112        s += ind + 'symbol = '            + str(self.symbol)+'\n'
113        s += ind + 'group = '             + str(self.group)+'\n'
114        s += ind + 'atomic_weight = '     + str(self.atomic_weight)+'\n'
115        s += ind + 'atomic_radius = '     + str(self.atomic_radius)+'\n'
116        s += ind + 'nuclear_charge = '    + str(self.nuclear_charge)+'\n'
117        s += ind + 'abundance = '         + str(self.abundance)+'\n'
118        s += ind + 'electron_affinity = ' + str(self.electron_affinity)+'\n'
119        s += ind + 'electronegativity = ' + str(self.electronegativity)+'\n'
120        s += ind + 'ionization_energy = ' + str(self.ionization_energy)+'\n'
121        s += ind + 'ionic_radius = '      + str(self.ionic_radius)+'\n'
122        s += ind + 'melting_point = '     + str(self.melting_point)+'\n'
123        s += ind + 'boiling_point = '     + str(self.boiling_point)+'\n'
124        s += '}\n'
125
126        self.string_rep = s
127
128    #end def create_string_representation
129#end class SimpleElement
130
131
132class Element(SimpleElement):
133    def __init__(self,se):
134        SimpleElement.__init__(self)
135
136        awu = PeriodicTable.atomic_weight_unit
137        aru = PeriodicTable.atomic_radius_unit
138        ncu = PeriodicTable.nuclear_charge_unit
139        eau = PeriodicTable.electron_affinity_unit
140        ieu = PeriodicTable.ionization_energy_units
141        iru = PeriodicTable.ionic_radius_units
142        tcu = PeriodicTable.thermal_cond_units
143        mpu = PeriodicTable.melting_point_units
144        bpu = PeriodicTable.boiling_point_units
145
146        self.atomic_number = se.atomic_number
147        self.name          = se.name
148        self.symbol        = se.symbol
149        self.group         = PeriodicTable.group_dict[se.group]
150        self.abundance     = se.abundance
151
152        self.atomic_weight     = phys_value_dict(se.atomic_weight    , awu)
153        self.atomic_radius     = phys_value_dict(se.atomic_radius    , aru)
154        self.nuclear_charge    = phys_value_dict(se.nuclear_charge   , ncu)
155        self.electron_affinity = phys_value_dict(se.electron_affinity, eau)
156        self.ionization_energy = phys_value_dict(se.ionization_energy, ieu)
157        self.ionic_radius      = phys_value_dict(se.ionic_radius     , iru)
158        self.thermal_cond      = phys_value_dict(se.thermal_cond     , tcu)
159        self.melting_point     = phys_value_dict(se.melting_point    , mpu)
160        self.boiling_point     = phys_value_dict(se.boiling_point    , bpu)
161
162    #end def __init__
163#end class Element
164
165
166
167class PeriodicTable(DevBase):
168
169    element_set=set([
170       'Ac','Al','Am','Sb','Ar','As','At','Ba','Bk','Be','Bi','B' ,'Br',
171       'Cd','Ca','Cf','C' ,'Ce','Cs','Cl','Cr','Co','Cu','Cm','Dy','Es',
172       'Er','Eu','Fm','F' ,'Fr','Gd','Ga','Ge','Au','Hf','Ha','Hs','He',
173       'Ho','H' ,'In','I' ,'Ir','Fe','Kr','La','Lr','Pb','Li','Lu','Mg',
174       'Mn','Mt','Md','Hg','Mo','Ns','Nd','Ne','Np','Ni','Nb','N' ,'No',
175       'Os','O' ,'Pd','P' ,'Pt','Pu','Po','K' ,'Pr','Pm','Pa','Ra','Rn',
176       'Re','Rh','Rb','Ru','Rf','Sm','Sc','Sg','Se','Si','Ag','Na','Sr',
177       'S' ,'Ta','Tc','Te','Tb','Tl','Th','Tm','Sn','Ti','W' ,'U' ,'V' ,
178       'Xe','Yb','Y' ,'Zn','Zr'])
179
180
181    element_dict=dict({
182        'Ac':'Actinium',
183        'Al':'Aluminum',
184        'Am':'Americium',
185        'Sb':'Antimony',
186        'Ar':'Argon',
187        'As':'Arsenic',
188        'At':'Astatine',
189        'Ba':'Barium',
190        'Bk':'Berkelium',
191        'Be':'Beryllium',
192        'Bi':'Bismuth',
193        'B':'Boron',
194        'Br':'Bromine',
195        'Cd':'Cadmium',
196        'Ca':'Calcium',
197        'Cf':'Californium',
198        'C' :'Carbon',
199        'Ce':'Cerium',
200        'Cs':'Cesium',
201        'Cl':'Chlorine',
202        'Cr':'Chromium',
203        'Co':'Cobalt',
204        'Cu':'Copper',
205        'Cm':'Curium',
206        'Dy':'Dysprosium',
207        'Es':'Einsteinium',
208        'Er':'Erbium',
209        'Eu':'Europium',
210        'Fm':'Fermium',
211        'F' :'Flourine',
212        'Fr':'Francium',
213        'Gd':'Gadolinium',
214        'Ga':'Gallium',
215        'Ge':'Germanium',
216        'Au':'Gold',
217        'Hf':'Hafnium',
218        'Ha':'Hahnium',
219        'Hs':'Hassium',
220        'He':'Helium',
221        'Ho':'Holmium',
222        'H' :'Hydrogen',
223        'In':'Indium',
224        'I' :'Iodine',
225        'Ir':'Iridium',
226        'Fe':'Iron',
227        'Kr':'Krypton',
228        'La':'Lanthanum',
229        'Lr':'Lawrencium',
230        'Pb':'Lead',
231        'Li':'Lithium',
232        'Lu':'Lutetium',
233        'Mg':'Magnesium',
234        'Mn':'Manganese',
235        'Mt':'Meitnerium',
236        'Md':'Mendelevium',
237        'Hg':'Mercury',
238        'Mo':'Molybdenum',
239        'Ns':'Neilsborium',
240        'Nd':'Neodymium',
241        'Ne':'Neon',
242        'Np':'Neptunium',
243        'Ni':'Nickel',
244        'Nb':'Niobium',
245        'N' :'Nitrogen',
246        'No':'Nobelium',
247        'Os':'Osmium',
248        'O' :'Oxygen',
249        'Pd':'Palladium',
250        'P' :'Phosphorus',
251        'Pt':'Platinum',
252        'Pu':'Plutonium',
253        'Po':'Polonium',
254        'K' :'Potassium',
255        'Pr':'Praseodymium',
256        'Pm':'Promethium',
257        'Pa':'Protactinium',
258        'Ra':'Radium',
259        'Rn':'Radon',
260        'Re':'Rhenium',
261        'Rh':'Rhodium',
262        'Rb':'Rubidium',
263        'Ru':'Ruthenium',
264        'Rf':'Rutherfordium',
265        'Sm':'Samarium',
266        'Sc':'Scandium',
267        'Sg':'Seaborgium',
268        'Se':'Selenium',
269        'Si':'Silicon',
270        'Ag':'Silver',
271        'Na':'Sodium',
272        'Sr':'Strontium',
273        'S' :'Sulfur',
274        'Ta':'Tantalum',
275        'Tc':'Technetium',
276        'Te':'Tellurium',
277        'Tb':'Terbium',
278        'Tl':'Thalium',
279        'Th':'Thorium',
280        'Tm':'Thulium',
281        'Sn':'Tin',
282        'Ti':'Titanium',
283        'W' :'Tungsten',
284        'U' :'Uranium',
285        'V' :'Vanadium',
286        'Xe':'Xenon',
287        'Yb':'Ytterbium',
288        'Y' :'Yttrium',
289        'Zn':'Zinc',
290        'Zr':'Zirconium',
291        })
292
293    group_dict = dict([
294        (0 ,'LanAct'),
295        (1 ,'IA'),
296        (2 ,'IIA'),
297        (3 ,'IIIB'),
298        (4 ,'IVB'),
299        (5 ,'VB'),
300        (6 ,'VIB'),
301        (7 ,'VIIB'),
302        (8 ,'VII'),
303        (9 ,'VII'),
304        (10,'VII'),
305        (11,'IB'),
306        (12,'IIB'),
307        (13,'IIIA'),
308        (14,'IVA'),
309        (15,'VA'),
310        (16,'VIA'),
311        (17,'VIIA'),
312        (18,'0')
313        ])
314
315
316    atomic_weight_unit      = 'amu'
317    atomic_radius_unit      = 'pm'
318    nuclear_charge_unit     = 'e'
319    electron_affinity_unit  = 'kJ_mol'
320    ionization_energy_units = 'eV'
321    ionic_radius_units      = 'pm'
322    thermal_cond_units      = 'W_mK'
323    melting_point_units     = 'degC'
324    boiling_point_units     = 'degC'
325
326    def __init__(self):
327        self.nelements = None
328        self.elements = None
329
330        nelements  = 103
331        e = obj()
332        for i in range(1,nelements+1):
333            e[i] = SimpleElement()
334        #end for
335
336        for i in range(1,nelements+1):
337            e[i].atomic_number = i
338        #end for
339
340
341        e[1].symbol='H'
342        e[2].symbol='He'
343        e[3].symbol='Li'
344        e[4].symbol='Be'
345        e[5].symbol='B'
346        e[6].symbol='C'
347        e[7].symbol='N'
348        e[8].symbol='O'
349        e[9].symbol='F'
350        e[10].symbol='Ne'
351        e[11].symbol='Na'
352        e[12].symbol='Mg'
353        e[13].symbol='Al'
354        e[14].symbol='Si'
355        e[15].symbol='P'
356        e[16].symbol='S'
357        e[17].symbol='Cl'
358        e[18].symbol='Ar'
359        e[19].symbol='K'
360        e[20].symbol='Ca'
361        e[21].symbol='Sc'
362        e[22].symbol='Ti'
363        e[23].symbol='V'
364        e[24].symbol='Cr'
365        e[25].symbol='Mn'
366        e[26].symbol='Fe'
367        e[27].symbol='Co'
368        e[28].symbol='Ni'
369        e[29].symbol='Cu'
370        e[30].symbol='Zn'
371        e[31].symbol='Ga'
372        e[32].symbol='Ge'
373        e[33].symbol='As'
374        e[34].symbol='Se'
375        e[35].symbol='Br'
376        e[36].symbol='Kr'
377        e[37].symbol='Rb'
378        e[38].symbol='Sr'
379        e[39].symbol='Y'
380        e[40].symbol='Zr'
381        e[41].symbol='Nb'
382        e[42].symbol='Mo'
383        e[43].symbol='Tc'
384        e[44].symbol='Ru'
385        e[45].symbol='Rh'
386        e[46].symbol='Pd'
387        e[47].symbol='Ag'
388        e[48].symbol='Cd'
389        e[49].symbol='In'
390        e[50].symbol='Sn'
391        e[51].symbol='Sb'
392        e[52].symbol='Te'
393        e[53].symbol='I'
394        e[54].symbol='Xe'
395        e[55].symbol='Cs'
396        e[56].symbol='Ba'
397        e[57].symbol='La'
398        e[58].symbol='Ce'
399        e[59].symbol='Pr'
400        e[60].symbol='Nd'
401        e[61].symbol='Pm'
402        e[62].symbol='Sm'
403        e[63].symbol='Eu'
404        e[64].symbol='Gd'
405        e[65].symbol='Tb'
406        e[66].symbol='Dy'
407        e[67].symbol='Ho'
408        e[68].symbol='Er'
409        e[69].symbol='Tm'
410        e[70].symbol='Yb'
411        e[71].symbol='Lu'
412        e[72].symbol='Hf'
413        e[73].symbol='Ta'
414        e[74].symbol='W'
415        e[75].symbol='Re'
416        e[76].symbol='Os'
417        e[77].symbol='Ir'
418        e[78].symbol='Pt'
419        e[79].symbol='Au'
420        e[80].symbol='Hg'
421        e[81].symbol='Tl'
422        e[82].symbol='Pb'
423        e[83].symbol='Bi'
424        e[84].symbol='Po'
425        e[85].symbol='At'
426        e[86].symbol='Rn'
427        e[87].symbol='Fr'
428        e[88].symbol='Ra'
429        e[89].symbol='Ac'
430        e[90].symbol='Th'
431        e[91].symbol='Pa'
432        e[92].symbol='U'
433        e[93].symbol='Np'
434        e[94].symbol='Pu'
435        e[95].symbol='Am'
436        e[96].symbol='Cm'
437        e[97].symbol='Bk'
438        e[98].symbol='Cf'
439        e[99].symbol='Es'
440        e[100].symbol='Fm'
441        e[101].symbol='Md'
442        e[102].symbol='No'
443        e[103].symbol='Lr'
444
445        for i in range(1,len(e)):
446            e[i].name = PeriodicTable.element_dict[e[i].symbol]
447        #end for
448
449        e[1].group = 1
450        e[2].group = 18
451        e[3].group = 1
452        e[4].group = 2
453        e[5].group = 13
454        e[6].group = 14
455        e[7].group = 15
456        e[8].group = 16
457        e[9].group = 17
458        e[10].group = 18
459        e[11].group = 1
460        e[12].group = 2
461        e[13].group = 13
462        e[14].group = 14
463        e[15].group = 15
464        e[16].group = 16
465        e[17].group = 17
466        e[18].group = 18
467        e[19].group = 1
468        e[20].group = 2
469        e[21].group = 3
470        e[22].group = 4
471        e[23].group = 5
472        e[24].group = 6
473        e[25].group = 7
474        e[26].group = 8
475        e[27].group = 9
476        e[28].group = 10
477        e[29].group = 11
478        e[30].group = 12
479        e[31].group = 13
480        e[32].group = 14
481        e[33].group = 15
482        e[34].group = 16
483        e[35].group = 17
484        e[36].group = 18
485        e[37].group = 1
486        e[38].group = 2
487        e[39].group = 3
488        e[40].group = 4
489        e[41].group = 5
490        e[42].group = 6
491        e[43].group = 7
492        e[44].group = 8
493        e[45].group = 9
494        e[46].group = 10
495        e[47].group = 11
496        e[48].group = 12
497        e[49].group = 13
498        e[50].group = 14
499        e[51].group = 15
500        e[52].group = 16
501        e[53].group = 17
502        e[54].group = 18
503        e[55].group = 1
504        e[56].group = 2
505        e[57].group = 3
506        e[58].group = 0
507        e[59].group = 0
508        e[60].group = 0
509        e[61].group = 0
510        e[62].group = 0
511        e[63].group = 0
512        e[64].group = 0
513        e[65].group = 0
514        e[66].group = 0
515        e[67].group = 0
516        e[68].group = 0
517        e[69].group = 0
518        e[70].group = 0
519        e[71].group = 0
520        e[72].group = 4
521        e[73].group = 5
522        e[74].group = 6
523        e[75].group = 7
524        e[76].group = 8
525        e[77].group = 9
526        e[78].group = 10
527        e[79].group = 11
528        e[80].group = 12
529        e[81].group = 13
530        e[82].group = 14
531        e[83].group = 15
532        e[84].group = 16
533        e[85].group = 17
534        e[86].group = 18
535        e[87].group = 1
536        e[88].group = 2
537        e[89].group = 3
538        e[90].group = 0
539        e[91].group = 0
540        e[92].group = 0
541        e[93].group = 0
542        e[94].group = 0
543        e[95].group = 0
544        e[96].group = 0
545        e[97].group = 0
546        e[98].group = 0
547        e[99].group = 0
548        e[100].group = 0
549        e[101].group = 0
550        e[102].group = 0
551        e[103].group = 0
552
553        e[1].atomic_weight = 1.00794
554        e[2].atomic_weight = 4.002602
555        e[3].atomic_weight = 6.941
556        e[4].atomic_weight = 9.0122
557        e[5].atomic_weight = 10.811
558        e[6].atomic_weight = 12.011000
559        e[7].atomic_weight = 14.007
560        e[8].atomic_weight = 15.999
561        e[9].atomic_weight = 18.998
562        e[10].atomic_weight = 20.180
563        e[11].atomic_weight = 22.990
564        e[12].atomic_weight = 24.305
565        e[13].atomic_weight = 26.982
566        e[14].atomic_weight = 28.086
567        e[15].atomic_weight = 30.974
568        e[16].atomic_weight = 32.064
569        e[17].atomic_weight = 35.453
570        e[18].atomic_weight = 39.948
571        e[19].atomic_weight = 39.098
572        e[20].atomic_weight = 40.08
573        e[21].atomic_weight = 44.956
574        e[22].atomic_weight = 47.90
575        e[23].atomic_weight = 50.942
576        e[24].atomic_weight = 51.996
577        e[25].atomic_weight = 54.938
578        e[26].atomic_weight = 55.845
579        e[27].atomic_weight = 58.933
580        e[28].atomic_weight = 58.69
581        e[29].atomic_weight = 63.546
582        e[30].atomic_weight = 65.38
583        e[31].atomic_weight = 65.38
584        e[32].atomic_weight = 72.61
585        e[33].atomic_weight = 74.992
586        e[34].atomic_weight = 78.96
587        e[35].atomic_weight = 79.904
588        e[36].atomic_weight = 83.80
589        e[37].atomic_weight = 85.47
590        e[38].atomic_weight = 87.956
591        e[39].atomic_weight = 88.905
592        e[40].atomic_weight = 91.22
593        e[41].atomic_weight = 92.906
594        e[42].atomic_weight = 95.94
595        e[43].atomic_weight = 98.00
596        e[44].atomic_weight = 101.07
597        e[45].atomic_weight = 102.91
598        e[46].atomic_weight = 106.42
599        e[47].atomic_weight = 107.87
600        e[48].atomic_weight = 112.41
601        e[49].atomic_weight = 114.82
602        e[50].atomic_weight = 118.69
603        e[51].atomic_weight = 121.175
604        e[52].atomic_weight = 127.60
605        e[53].atomic_weight = 126.90
606        e[54].atomic_weight = 131.29
607        e[55].atomic_weight = 132.91
608        e[56].atomic_weight = 137.33
609        e[57].atomic_weight = 138.92
610        e[58].atomic_weight = 140.12
611        e[59].atomic_weight = 140.91
612        e[60].atomic_weight = 144.24
613        e[61].atomic_weight = 145.00
614        e[62].atomic_weight = 150.36
615        e[63].atomic_weight = 151.97
616        e[64].atomic_weight = 157.25
617        e[65].atomic_weight = 158.924
618        e[66].atomic_weight = 162.5
619        e[67].atomic_weight = 164.930
620        e[68].atomic_weight = 167.26
621        e[69].atomic_weight = 169.934
622        e[70].atomic_weight = 173.04
623        e[71].atomic_weight = 174.97
624        e[72].atomic_weight = 178.49
625        e[73].atomic_weight = 180.948
626        e[74].atomic_weight = 183.85
627        e[75].atomic_weight = 186.2
628        e[76].atomic_weight = 190.2
629        e[77].atomic_weight = 192.2
630        e[78].atomic_weight = 195.09
631        e[79].atomic_weight = 196.197
632        e[80].atomic_weight = 200.59
633        e[81].atomic_weight = 204.37
634        e[82].atomic_weight = 207.19
635        e[83].atomic_weight = 208.980
636        e[84].atomic_weight = 209.0
637        e[85].atomic_weight = 210.0
638        e[86].atomic_weight = 222.0
639        e[87].atomic_weight = 223.0
640        e[88].atomic_weight = 226.0
641        e[89].atomic_weight = 227.028
642        e[90].atomic_weight = 204.37
643        e[91].atomic_weight = 231.0
644        e[92].atomic_weight = 238.03
645        e[93].atomic_weight = 237.05
646        e[94].atomic_weight = 244.0
647        e[95].atomic_weight = 243.0
648        e[96].atomic_weight = 245.0
649        e[97].atomic_weight = 247.0
650        e[98].atomic_weight = 249.0
651        e[99].atomic_weight = 254.0
652        e[100].atomic_weight = 252.0
653        e[101].atomic_weight = 256.0
654        e[102].atomic_weight = 254.0
655        e[103].atomic_weight = 257
656
657        #atomic radius (in picometers)
658        e[1].atomic_radius = 78.000000
659        e[2].atomic_radius = 128.000000
660        e[3].atomic_radius = 152.000000
661        e[4].atomic_radius = 111.300000
662        e[5].atomic_radius = 79.500000
663        e[6].atomic_radius = 77.200000
664        e[7].atomic_radius = 54.900000
665        e[8].atomic_radius = 60.400000
666        e[9].atomic_radius = 70.900000
667        e[10].atomic_radius = 0.000000
668        e[11].atomic_radius = 185.800000
669        e[12].atomic_radius = 159.900000
670        e[13].atomic_radius = 143.200000
671        e[14].atomic_radius = 117.600000
672        e[15].atomic_radius = 110.500000
673        e[16].atomic_radius = 103.500000
674        e[17].atomic_radius = 99.400000
675        e[18].atomic_radius = 180.000000
676        e[19].atomic_radius = 227.200000
677        e[20].atomic_radius = 197.400000
678        e[21].atomic_radius = 160.600000
679        e[22].atomic_radius = 144.800000
680        e[23].atomic_radius = 131.100000
681        e[24].atomic_radius = 124.900000
682        e[25].atomic_radius = 136.700000
683        e[26].atomic_radius = 124.100000
684        e[27].atomic_radius = 125.300000
685        e[28].atomic_radius = 124.600000
686        e[29].atomic_radius = 127.800000
687        e[30].atomic_radius = 133.500000
688        e[31].atomic_radius = 122.100000
689        e[32].atomic_radius = 122.500000
690        e[33].atomic_radius = 124.500000
691        e[34].atomic_radius = 116.000000
692        e[35].atomic_radius = 114.500000
693        e[36].atomic_radius = 0.000000
694        e[37].atomic_radius = 247.500000
695        e[38].atomic_radius = 215.100000
696        e[39].atomic_radius = 177.600000
697        e[40].atomic_radius = 159.000000
698        e[41].atomic_radius = 142.900000
699        e[42].atomic_radius = 136.300000
700        e[43].atomic_radius = 135.200000
701        e[44].atomic_radius = 132.500000
702        e[45].atomic_radius = 134.500000
703        e[46].atomic_radius = 137.600000
704        e[47].atomic_radius = 144.500000
705        e[48].atomic_radius = 148.900000
706        e[49].atomic_radius = 162.600000
707        e[50].atomic_radius = 140.500000
708        e[51].atomic_radius = 145.000000
709        e[52].atomic_radius = 143.200000
710        e[53].atomic_radius = 133.100000
711        e[54].atomic_radius = 210.000000
712        e[55].atomic_radius = 265.500000
713        e[56].atomic_radius = 217.400000
714        e[57].atomic_radius = 187.000000
715        e[58].atomic_radius = 182.500000
716        e[59].atomic_radius = 182.000000
717        e[60].atomic_radius = 181.400000
718        e[61].atomic_radius = 181.000000
719        e[62].atomic_radius = 180.200000
720        e[63].atomic_radius = 199.500000
721        e[64].atomic_radius = 178.700000
722        e[65].atomic_radius = 176.300000
723        e[66].atomic_radius = 175.200000
724        e[67].atomic_radius = 174.300000
725        e[68].atomic_radius = 173.400000
726        e[69].atomic_radius = 172.400000
727        e[70].atomic_radius = 194.000000
728        e[71].atomic_radius = 171.800000
729        e[72].atomic_radius = 156.400000
730        e[73].atomic_radius = 143.000000
731        e[74].atomic_radius = 137.000000
732        e[75].atomic_radius = 137.100000
733        e[76].atomic_radius = 133.800000
734        e[77].atomic_radius = 135.700000
735        e[78].atomic_radius = 137.300000
736        e[79].atomic_radius = 144.200000
737        e[80].atomic_radius = 150.300000
738        e[81].atomic_radius = 170.000000
739        e[82].atomic_radius = 175.000000
740        e[83].atomic_radius = 154.500000
741        e[84].atomic_radius = 167.300000
742        e[85].atomic_radius = 0.000000
743        e[86].atomic_radius = 0.000000
744        e[87].atomic_radius = 270.000000
745        e[88].atomic_radius = 223.000000
746        e[89].atomic_radius = 187.800000
747        e[90].atomic_radius = 179.800000
748        e[91].atomic_radius = 156.100000
749        e[92].atomic_radius = 138.500000
750        e[93].atomic_radius = 130.000000
751        e[94].atomic_radius = 151.300000
752        e[95].atomic_radius = 0.000000
753        e[96].atomic_radius = 0.000000
754        e[97].atomic_radius = 0.000000
755        e[98].atomic_radius = 0.000000
756        e[99].atomic_radius = 0.000000
757        e[100].atomic_radius = 0.000000
758        e[101].atomic_radius = 0.000000
759        e[102].atomic_radius = 0.000000
760        e[103].atomic_radius = 0.000000
761
762        # Nuclear charge (Slater)
763        # 0 for those not available
764        e[1].nuclear_charge = 1.00
765        e[2].nuclear_charge = 1.70
766        e[3].nuclear_charge = 1.30
767        e[4].nuclear_charge = 1.95
768        e[5].nuclear_charge = 2.60
769        e[6].nuclear_charge = 3.25
770        e[7].nuclear_charge = 3.90
771        e[8].nuclear_charge = 4.55
772        e[9].nuclear_charge = 5.20
773        e[10].nuclear_charge = 5.85
774        e[11].nuclear_charge = 2.20
775        e[12].nuclear_charge = 2.85
776        e[13].nuclear_charge = 3.50
777        e[14].nuclear_charge = 4.15
778        e[15].nuclear_charge = 4.80
779        e[16].nuclear_charge = 5.45
780        e[17].nuclear_charge = 6.10
781        e[18].nuclear_charge = 6.75
782        e[19].nuclear_charge = 2.20
783        e[20].nuclear_charge = 2.85
784        e[21].nuclear_charge = 3.00
785        e[22].nuclear_charge = 3.15
786        e[23].nuclear_charge = 3.30
787        e[24].nuclear_charge = 3.45
788        e[25].nuclear_charge = 3.60
789        e[26].nuclear_charge = 3.75
790        e[27].nuclear_charge = 3.90
791        e[28].nuclear_charge = 4.05
792        e[29].nuclear_charge = 4.20
793        e[30].nuclear_charge = 4.35
794        e[31].nuclear_charge = 5.00
795        e[32].nuclear_charge = 5.65
796        e[33].nuclear_charge = 6.30
797        e[34].nuclear_charge = 6.95
798        e[35].nuclear_charge = 7.60
799        e[36].nuclear_charge = 8.25
800        e[37].nuclear_charge = 2.20
801        e[38].nuclear_charge = 2.85
802        e[39].nuclear_charge = 3.00
803        e[40].nuclear_charge = 3.15
804        e[41].nuclear_charge = 3.30
805        e[42].nuclear_charge = 3.45
806        e[43].nuclear_charge = 3.60
807        e[44].nuclear_charge = 3.75
808        e[45].nuclear_charge = 3.90
809        e[46].nuclear_charge = 4.05
810        e[47].nuclear_charge = 4.20
811        e[48].nuclear_charge = 4.35
812        e[49].nuclear_charge = 5.00
813        e[50].nuclear_charge = 5.65
814        e[51].nuclear_charge = 6.30
815        e[52].nuclear_charge = 6.95
816        e[53].nuclear_charge = 7.60
817        e[54].nuclear_charge = 8.25
818        e[55].nuclear_charge = 2.20
819        e[56].nuclear_charge = 2.85
820        e[57].nuclear_charge = 2.85
821        e[58].nuclear_charge = 2.85
822        e[59].nuclear_charge = 2.85
823        e[60].nuclear_charge = 2.85
824        e[61].nuclear_charge = 2.85
825        e[62].nuclear_charge = 2.85
826        e[63].nuclear_charge = 2.85
827        e[64].nuclear_charge = 2.85
828        e[65].nuclear_charge = 2.85
829        e[66].nuclear_charge = 2.85
830        e[67].nuclear_charge = 2.85
831        e[68].nuclear_charge = 2.85
832        e[69].nuclear_charge = 2.85
833        e[70].nuclear_charge = 2.854
834        e[71].nuclear_charge = 3.00
835        e[72].nuclear_charge = 3.15
836        e[73].nuclear_charge = 3.30
837        e[74].nuclear_charge = 4.35
838        e[75].nuclear_charge = 3.60
839        e[76].nuclear_charge = 3.75
840        e[77].nuclear_charge = 3.90
841        e[78].nuclear_charge = 4.05
842        e[79].nuclear_charge = 4.20
843        e[80].nuclear_charge = 4.35
844        e[81].nuclear_charge = 5.00
845        e[82].nuclear_charge = 5.65
846        e[83].nuclear_charge = 6.30
847        e[84].nuclear_charge = 6.95
848        e[85].nuclear_charge = 7.60
849        e[86].nuclear_charge = 8.25
850        e[87].nuclear_charge = 2.20
851        e[88].nuclear_charge = 1.65
852        e[89].nuclear_charge = 1.8
853        e[90].nuclear_charge = 1.95
854        e[91].nuclear_charge = 1.80
855        e[92].nuclear_charge = 1.80
856        e[93].nuclear_charge = 1.80
857        e[94].nuclear_charge = 1.65
858        e[95].nuclear_charge = 4.65
859        e[96].nuclear_charge = 1.80
860        e[97].nuclear_charge = 1.65
861        e[98].nuclear_charge = 1.65
862        e[99].nuclear_charge = 1.65
863        e[100].nuclear_charge = 1.65
864        e[101].nuclear_charge = 1.65
865        e[102].nuclear_charge = 1.65
866        e[103].nuclear_charge = 1.8
867
868        e[1].abundance = 0.880000
869        e[2].abundance = 0.000000
870        e[3].abundance = 0.006000
871        e[4].abundance = 0.000500
872        e[5].abundance = 0.001000
873        e[6].abundance = 0.090000
874        e[7].abundance = 0.030000
875        e[8].abundance = 49.400000
876        e[9].abundance = 0.030000
877        e[10].abundance = 0.000000
878        e[11].abundance = 2.640000
879        e[12].abundance = 1.940000
880        e[13].abundance = 7.570000
881        e[14].abundance = 25.800000
882        e[15].abundance = 0.090000
883        e[16].abundance = 0.050000
884        e[17].abundance = 0.190000
885        e[18].abundance = 0.000400
886        e[19].abundance = 2.400000
887        e[20].abundance = 3.390000
888        e[21].abundance = 0.000500
889        e[22].abundance = 0.410000
890        e[23].abundance = 0.010000
891        e[24].abundance = 0.020000
892        e[25].abundance = 0.090000
893        e[26].abundance = 4.700000
894        e[27].abundance = 0.004000
895        e[28].abundance = 0.010000
896        e[29].abundance = 0.010000
897        e[30].abundance = 0.010000
898        e[31].abundance = 0.001000
899        e[32].abundance = 0.000600
900        e[33].abundance = 0.000600
901        e[34].abundance = 0.000100
902        e[35].abundance = 0.000600
903        e[36].abundance = 0.000000
904        e[37].abundance = 0.030000
905        e[38].abundance = 0.010000
906        e[39].abundance = 0.003000
907        e[40].abundance = 0.020000
908        e[41].abundance = 0.002000
909        e[42].abundance = 0.001000
910        e[43].abundance = 0.000000
911        e[44].abundance = 0.000002
912        e[45].abundance = 0.000000
913        e[46].abundance = 0.000001
914        e[47].abundance = 0.000010
915        e[48].abundance = 0.000030
916        e[49].abundance = 0.000010
917        e[50].abundance = 0.001000
918        e[51].abundance = 0.000100
919        e[52].abundance = 0.000001
920        e[53].abundance = 0.000006
921        e[54].abundance = 0.000000
922        e[55].abundance = 0.000600
923        e[56].abundance = 0.030000
924        e[57].abundance = 0.002000
925        e[58].abundance = 0.004000
926        e[59].abundance = 0.000500
927        e[60].abundance = 0.002000
928        e[61].abundance = 0.000000
929        e[62].abundance = 0.000600
930        e[63].abundance = 0.000010
931        e[64].abundance = 0.000600
932        e[65].abundance = 0.000090
933        e[66].abundance = 0.000400
934        e[67].abundance = 0.000100
935        e[68].abundance = 0.000200
936        e[69].abundance = 0.000020
937        e[70].abundance = 0.000020
938        e[71].abundance = 0.000070
939        e[72].abundance = 0.000400
940        e[73].abundance = 0.000800
941        e[74].abundance = 0.006000
942        e[75].abundance = 0.000000
943        e[76].abundance = 0.000001
944        e[77].abundance = 0.000000
945        e[78].abundance = 0.000000
946        e[79].abundance = 0.000000
947        e[80].abundance = 0.000040
948        e[81].abundance = 0.000030
949        e[82].abundance = 0.002000
950        e[83].abundance = 0.000020
951        e[84].abundance = 0.000000
952        e[85].abundance = 0.000000
953        e[86].abundance = 0.000000
954        e[87].abundance = 0.000000
955        e[88].abundance = 0.000000
956        e[89].abundance = 0.000000
957        e[90].abundance = 0.001000
958        e[91].abundance = 9.0
959        e[92].abundance = 0.000300
960        e[93].abundance = 0.000000
961        e[94].abundance = 0.000000
962        e[95].abundance = 0.000000
963        e[96].abundance = 0.000000
964        e[97].abundance = 0.000000
965        e[98].abundance = 0.000000
966        e[99].abundance = 0.000000
967        e[100].abundance = 0.000000
968        e[101].abundance = 0.000000
969        e[102].abundance = 0.000000
970        e[103].abundance = 0.000000
971
972        # Electron Aff.
973        # 0 for those not available
974        # Defined as 0 for Elements 2, 25,66 and 72
975        e[1].electron_affinity = 72.8
976        e[2].electron_affinity = 0.0
977        e[3].electron_affinity = 59.6
978        e[4].electron_affinity = -18
979        e[5].electron_affinity = 26.7
980        e[6].electron_affinity = 121.9
981        e[7].electron_affinity = -7
982        e[8].electron_affinity = 141
983        e[9].electron_affinity = 328
984        e[10].electron_affinity = -29
985        e[11].electron_affinity = 52.9
986        e[12].electron_affinity = -21
987        e[13].electron_affinity = 44
988        e[14].electron_affinity = 133.6
989        e[15].electron_affinity = 72
990        e[16].electron_affinity = 200.4
991        e[17].electron_affinity = 349.0
992        e[18].electron_affinity = -35
993        e[19].electron_affinity = 48.4
994        e[20].electron_affinity = -186
995        e[21].electron_affinity = 18.1
996        e[22].electron_affinity = 7.6
997        e[23].electron_affinity = 50.7
998        e[24].electron_affinity = 64.3
999        e[25].electron_affinity = 0
1000        e[26].electron_affinity = 15.7
1001        e[27].electron_affinity = 63.8
1002        e[28].electron_affinity = 156
1003        e[29].electron_affinity = 188.5
1004        e[30].electron_affinity = 9
1005        e[31].electron_affinity = 30
1006        e[32].electron_affinity = 116
1007        e[33].electron_affinity = 78
1008        e[34].electron_affinity = 195
1009        e[35].electron_affinity = 324.7
1010        e[36].electron_affinity = -39
1011        e[37].electron_affinity = 46.9
1012        e[38].electron_affinity = -164
1013        e[39].electron_affinity = 29.6
1014        e[40].electron_affinity = 41.1
1015        e[41].electron_affinity = 86.2
1016        e[42].electron_affinity = 72.0
1017        e[43].electron_affinity = 96
1018        e[44].electron_affinity = 101
1019        e[45].electron_affinity = 109.7
1020        e[46].electron_affinity = 53.7
1021        e[47].electron_affinity = 125.7
1022        e[48].electron_affinity = -26
1023        e[49].electron_affinity = 30
1024        e[50].electron_affinity = 116
1025        e[51].electron_affinity = 101
1026        e[52].electron_affinity = 190.2
1027        e[53].electron_affinity = 295.2
1028        e[54].electron_affinity = -41
1029        e[55].electron_affinity = 45.5
1030        e[56].electron_affinity = -46
1031        e[57].electron_affinity = 50
1032        e[58].electron_affinity = 50
1033        e[59].electron_affinity = 50
1034        e[60].electron_affinity = 50
1035        e[61].electron_affinity = 50
1036        e[62].electron_affinity = 50
1037        e[63].electron_affinity = 50
1038        e[64].electron_affinity = 50
1039        e[65].electron_affinity = 50
1040        e[66].electron_affinity = 0
1041        e[67].electron_affinity = 50
1042        e[68].electron_affinity = 50
1043        e[69].electron_affinity = 50
1044        e[70].electron_affinity = 50
1045        e[71].electron_affinity = 50
1046        e[72].electron_affinity = 0
1047        e[73].electron_affinity = 14
1048        e[74].electron_affinity = 78.6
1049        e[75].electron_affinity = 14
1050        e[76].electron_affinity = 106
1051        e[77].electron_affinity = 151
1052        e[78].electron_affinity = 205.3
1053        e[79].electron_affinity = 222.8
1054        e[80].electron_affinity = -18
1055        e[81].electron_affinity = 20
1056        e[82].electron_affinity = 35.1
1057        e[83].electron_affinity = 91.3
1058        e[84].electron_affinity = 183
1059        e[85].electron_affinity = 270
1060        e[86].electron_affinity = -41
1061        e[87].electron_affinity = 44
1062        e[88].electron_affinity = 159
1063        e[89].electron_affinity = 406
1064        e[90].electron_affinity = 598.3
1065        e[91].electron_affinity = 607
1066        e[92].electron_affinity = 535.6
1067        e[93].electron_affinity = 0
1068        e[94].electron_affinity = 0
1069        e[95].electron_affinity = 0
1070        e[96].electron_affinity = 0
1071        e[97].electron_affinity = 0
1072        e[98].electron_affinity = 0
1073        e[99].electron_affinity = 50
1074        e[100].electron_affinity = 0
1075        e[101].electron_affinity = 0
1076        e[102].electron_affinity = 0
1077        e[103].electron_affinity = 0
1078
1079        # Electronegativity (Pauling)
1080        # 0 for those not available
1081        # Some noble gases defined as zero
1082        e[1].electronegativity = 2.20
1083        e[2].electronegativity = 0
1084        e[3].electronegativity = 0.98
1085        e[4].electronegativity = 1.57
1086        e[5].electronegativity = 2.04
1087        e[6].electronegativity = 2.55
1088        e[7].electronegativity = 3.04
1089        e[8].electronegativity = 3.44
1090        e[9].electronegativity = 3.98
1091        e[10].electronegativity = 0
1092        e[11].electronegativity = 0.93
1093        e[12].electronegativity = 1.31
1094        e[13].electronegativity = 1.61
1095        e[14].electronegativity = 1.90
1096        e[15].electronegativity = 2.19
1097        e[16].electronegativity = 2.58
1098        e[17].electronegativity = 3.16
1099        e[18].electronegativity = 0
1100        e[19].electronegativity = 0.82
1101        e[20].electronegativity = 1.00
1102        e[21].electronegativity = 1.36
1103        e[22].electronegativity = 1.54
1104        e[23].electronegativity = 1.63
1105        e[24].electronegativity = 1.66
1106        e[25].electronegativity = 1.55
1107        e[26].electronegativity = 1.83
1108        e[27].electronegativity = 1.88
1109        e[28].electronegativity = 1.91
1110        e[29].electronegativity = 1.90
1111        e[30].electronegativity = 1.65
1112        e[31].electronegativity = 1.81
1113        e[32].electronegativity = 2.01
1114        e[33].electronegativity = 2.18
1115        e[34].electronegativity = 2.55
1116        e[35].electronegativity = 2.96
1117        e[36].electronegativity = 0
1118        e[37].electronegativity = 0.82
1119        e[38].electronegativity = 0.95
1120        e[39].electronegativity = 1.22
1121        e[40].electronegativity = 1.33
1122        e[41].electronegativity = 1.6
1123        e[42].electronegativity = 2.16
1124        e[43].electronegativity = 1.9
1125        e[44].electronegativity = 2.2
1126        e[45].electronegativity = 2.28
1127        e[46].electronegativity = 2.20
1128        e[47].electronegativity = 1.93
1129        e[48].electronegativity = 1.96
1130        e[49].electronegativity = 1.78
1131        e[50].electronegativity = 1.96
1132        e[51].electronegativity = 2.05
1133        e[52].electronegativity = 2.1
1134        e[53].electronegativity = 2.66
1135        e[54].electronegativity = 2.6
1136        e[55].electronegativity = 0.79
1137        e[56].electronegativity = 0.89
1138        e[57].electronegativity = 1.10
1139        e[58].electronegativity = 1.12
1140        e[59].electronegativity = 1.13
1141        e[60].electronegativity = 1.14
1142        e[61].electronegativity = 0
1143        e[62].electronegativity = 1.17
1144        e[63].electronegativity = 0
1145        e[64].electronegativity = 1.20
1146        e[65].electronegativity = 0
1147        e[66].electronegativity = 1.22
1148        e[67].electronegativity = 1.23
1149        e[68].electronegativity = 1.24
1150        e[69].electronegativity = 1.25
1151        e[70].electronegativity = 0
1152        e[71].electronegativity = 1.27
1153        e[72].electronegativity = 1.3
1154        e[73].electronegativity = 1.5
1155        e[74].electronegativity = 2.36
1156        e[75].electronegativity = 1.9
1157        e[76].electronegativity = 2.2
1158        e[77].electronegativity = 2.20
1159        e[78].electronegativity = 2.28
1160        e[79].electronegativity = 2.54
1161        e[80].electronegativity = 2.00
1162        e[81].electronegativity = 2.04
1163        e[82].electronegativity = 2.33
1164        e[83].electronegativity = 2.02
1165        e[84].electronegativity = 2.0
1166        e[85].electronegativity = 2.2
1167        e[86].electronegativity = 0
1168        e[87].electronegativity = 0.7
1169        e[88].electronegativity = 0.89
1170        e[89].electronegativity = 1.1
1171        e[90].electronegativity = 1.3
1172        e[91].electronegativity = 1.5
1173        e[92].electronegativity = 1.38
1174        e[93].electronegativity = 1.36
1175        e[94].electronegativity = 1.28
1176        e[95].electronegativity = 1.3
1177        e[96].electronegativity = 1.3
1178        e[97].electronegativity = 1.3
1179        e[98].electronegativity = 1.3
1180        e[99].electronegativity = 1.3
1181        e[100].electronegativity = 1.3
1182        e[101].electronegativity = 1.3
1183        e[102].electronegativity = 1.3
1184        e[103].electronegativity = 1.3
1185
1186        # ionization energy (in electronvolts].ionization_energy
1187        e[1].ionization_energy = 13.598
1188        e[2].ionization_energy = 24.587000
1189        e[3].ionization_energy = 5.392000
1190        e[4].ionization_energy = 9.322000
1191        e[5].ionization_energy = 8.298000
1192        e[6].ionization_energy = 11.260000
1193        e[7].ionization_energy = 14.534000
1194        e[8].ionization_energy = 13.618000
1195        e[9].ionization_energy = 17.422000
1196        e[10].ionization_energy = 21.564000
1197        e[11].ionization_energy = 5.139000
1198        e[12].ionization_energy = 7.646000
1199        e[13].ionization_energy = 5.986000
1200        e[14].ionization_energy = 8.151000
1201        e[15].ionization_energy = 10.486000
1202        e[16].ionization_energy = 10.360000
1203        e[17].ionization_energy = 12.967000
1204        e[18].ionization_energy = 15.759000
1205        e[19].ionization_energy = 4.341000
1206        e[20].ionization_energy = 6.113000
1207        e[21].ionization_energy = 6.540000
1208        e[22].ionization_energy = 6.820000
1209        e[23].ionization_energy = 6.740000
1210        e[24].ionization_energy = 6.766000
1211        e[25].ionization_energy = 7.435000
1212        e[26].ionization_energy = 7.870000
1213        e[27].ionization_energy = 7.860000
1214        e[28].ionization_energy = 7.635000
1215        e[29].ionization_energy = 7.726000
1216        e[30].ionization_energy = 9.394000
1217        e[31].ionization_energy = 5.999000
1218        e[32].ionization_energy = 7.899000
1219        e[33].ionization_energy = 9.810000
1220        e[34].ionization_energy = 9.752000
1221        e[35].ionization_energy = 11.814000
1222        e[36].ionization_energy = 13.999000
1223        e[37].ionization_energy = 4.177000
1224        e[38].ionization_energy = 5.695000
1225        e[39].ionization_energy = 6.380000
1226        e[40].ionization_energy = 6.840000
1227        e[41].ionization_energy = 6.880000
1228        e[42].ionization_energy = 7.099000
1229        e[43].ionization_energy = 7.280000
1230        e[44].ionization_energy = 7.370000
1231        e[45].ionization_energy = 7.460000
1232        e[46].ionization_energy = 8.340000
1233        e[47].ionization_energy = 7.576000
1234        e[48].ionization_energy = 8.993000
1235        e[49].ionization_energy = 5.786000
1236        e[50].ionization_energy = 7.344000
1237        e[51].ionization_energy = 8.641000
1238        e[52].ionization_energy = 9.009000
1239        e[53].ionization_energy = 10.451000
1240        e[54].ionization_energy = 12.130000
1241        e[55].ionization_energy = 3.894000
1242        e[56].ionization_energy = 5.212000
1243        e[57].ionization_energy = 5.577000
1244        e[58].ionization_energy = 5.470000
1245        e[59].ionization_energy = 5.420000
1246        e[60].ionization_energy = 5.490000
1247        e[61].ionization_energy = 5.550000
1248        e[62].ionization_energy = 5.630000
1249        e[63].ionization_energy = 5.670000
1250        e[64].ionization_energy = 6.140000
1251        e[65].ionization_energy = 5.850000
1252        e[66].ionization_energy = 5.930000
1253        e[67].ionization_energy = 6.020000
1254        e[68].ionization_energy = 6.100000
1255        e[69].ionization_energy = 6.180000
1256        e[70].ionization_energy = 6.254000
1257        e[71].ionization_energy = 5.426000
1258        e[72].ionization_energy = 7.000000
1259        e[73].ionization_energy = 7.890000
1260        e[74].ionization_energy = 7.980000
1261        e[75].ionization_energy = 7.880000
1262        e[76].ionization_energy = 8.700000
1263        e[77].ionization_energy = 9.100000
1264        e[78].ionization_energy = 9.000000
1265        e[79].ionization_energy = 9.255000
1266        e[80].ionization_energy = 10.437000
1267        e[81].ionization_energy = 6.108000
1268        e[82].ionization_energy = 6.108000
1269        e[83].ionization_energy = 7.289000
1270        e[84].ionization_energy = 8.420000
1271        e[85].ionization_energy = 9.500000
1272        e[86].ionization_energy = 10.748000
1273        e[87].ionization_energy = 4.000000
1274        e[88].ionization_energy = 5.279000
1275        e[89].ionization_energy = 6.900000
1276        e[90].ionization_energy = 6.950000
1277        e[91].ionization_energy = 0.000000
1278        e[92].ionization_energy = 6.080000
1279        e[93].ionization_energy = 0.000000
1280        e[94].ionization_energy = 5.800000
1281        e[95].ionization_energy = 6.000000
1282        e[96].ionization_energy = 0.000000
1283        e[97].ionization_energy = 0.000000
1284        e[98].ionization_energy = 0.000000
1285        e[99].ionization_energy = 0.000000
1286        e[100].ionization_energy = 0.000000
1287        e[101].ionization_energy = 0.000000
1288        e[102].ionization_energy = 0.000000
1289        e[103].ionization_energy = 0.000000
1290
1291
1292        # Ionic Radius (picometers)
1293        # Radius for smallest charge where more than one possible
1294        # Radius for H is for hydride
1295        # 0 for those not available or those that don't form ions
1296        e[1].ionic_radius = 154
1297        e[2].ionic_radius = 0
1298        e[3].ionic_radius = 78
1299        e[4].ionic_radius = 34
1300        e[5].ionic_radius = 23
1301        e[6].ionic_radius = 260
1302        e[7].ionic_radius = 171
1303        e[8].ionic_radius = 132
1304        e[9].ionic_radius = 133
1305        e[10].ionic_radius = 112
1306        e[11].ionic_radius = 98
1307        e[12].ionic_radius = 78
1308        e[13].ionic_radius = 57
1309        e[14].ionic_radius = 271
1310        e[15].ionic_radius = 212
1311        e[16].ionic_radius = 184
1312        e[17].ionic_radius = 181
1313        e[18].ionic_radius = 154
1314        e[19].ionic_radius = 133
1315        e[20].ionic_radius = 106
1316        e[21].ionic_radius = 83
1317        e[22].ionic_radius = 80
1318        e[23].ionic_radius = 72
1319        e[24].ionic_radius = 84
1320        e[25].ionic_radius = 91
1321        e[26].ionic_radius = 82
1322        e[27].ionic_radius = 82
1323        e[28].ionic_radius = 78
1324        e[29].ionic_radius = 96
1325        e[30].ionic_radius = 83
1326        e[31].ionic_radius = 113
1327        e[32].ionic_radius = 90
1328        e[33].ionic_radius = 69
1329        e[34].ionic_radius = 69
1330        e[35].ionic_radius = 196
1331        e[36].ionic_radius = 169
1332        e[37].ionic_radius = 149
1333        e[38].ionic_radius = 127
1334        e[39].ionic_radius = 106
1335        e[40].ionic_radius = 109
1336        e[41].ionic_radius = 74
1337        e[42].ionic_radius = 92
1338        e[43].ionic_radius = 95
1339        e[44].ionic_radius = 77
1340        e[45].ionic_radius = 86
1341        e[46].ionic_radius = 86
1342        e[47].ionic_radius = 113
1343        e[48].ionic_radius = 114
1344        e[49].ionic_radius = 132
1345        e[50].ionic_radius = 93
1346        e[51].ionic_radius = 89
1347        e[52].ionic_radius = 211
1348        e[53].ionic_radius = 220
1349        e[54].ionic_radius = 190
1350        e[55].ionic_radius = 165
1351        e[56].ionic_radius = 143
1352        e[57].ionic_radius = 122
1353        e[58].ionic_radius = 107
1354        e[59].ionic_radius = 106
1355        e[60].ionic_radius = 104
1356        e[61].ionic_radius = 106
1357        e[62].ionic_radius = 111
1358        e[63].ionic_radius = 112
1359        e[64].ionic_radius = 97
1360        e[65].ionic_radius = 93
1361        e[66].ionic_radius = 91
1362        e[67].ionic_radius = 89
1363        e[68].ionic_radius = 89
1364        e[69].ionic_radius = 87
1365        e[70].ionic_radius = 113
1366        e[71].ionic_radius = 85
1367        e[72].ionic_radius = 84
1368        e[73].ionic_radius = 72
1369        e[74].ionic_radius = 68
1370        e[75].ionic_radius = 72
1371        e[76].ionic_radius = 89
1372        e[77].ionic_radius = 89
1373        e[78].ionic_radius = 85
1374        e[79].ionic_radius = 137
1375        e[80].ionic_radius = 127
1376        e[81].ionic_radius = 149
1377        e[82].ionic_radius = 132
1378        e[83].ionic_radius = 96
1379        e[84].ionic_radius = 65
1380        e[85].ionic_radius = 227
1381        e[86].ionic_radius = 0
1382        e[87].ionic_radius = 180
1383        e[88].ionic_radius = 152
1384        e[89].ionic_radius = 118
1385        e[90].ionic_radius = 101
1386        e[91].ionic_radius = 113
1387        e[92].ionic_radius = 103
1388        e[93].ionic_radius = 110
1389        e[94].ionic_radius = 108
1390        e[95].ionic_radius = 107
1391        e[96].ionic_radius = 119
1392        e[97].ionic_radius =118
1393        e[98].ionic_radius = 117
1394        e[99].ionic_radius = 116
1395        e[100].ionic_radius = 115
1396        e[101].ionic_radius = 114
1397        e[102].ionic_radius = 113
1398        e[103].ionic_radius = 112
1399
1400        # Thermal Conditions (W/mK at 300K)
1401        # 0 for those not available
1402        e[1].thermal_cond = 0.1815
1403        e[2].thermal_cond = 0.152
1404        e[3].thermal_cond = 84.7
1405        e[4].thermal_cond = 200
1406        e[5].thermal_cond = 27
1407        e[6].thermal_cond = 1960
1408        e[7].thermal_cond = 0.02598
1409        e[8].thermal_cond = 0.2674
1410        e[9].thermal_cond = 0.0279
1411        e[10].thermal_cond = 0.0493
1412        e[11].thermal_cond = 141
1413        e[12].thermal_cond = 156
1414        e[13].thermal_cond = 273
1415        e[14].thermal_cond = 148
1416        e[15].thermal_cond = 0.235
1417        e[16].thermal_cond = 0.269
1418        e[17].thermal_cond = 0.0089
1419        e[18].thermal_cond = 0.0177
1420        e[19].thermal_cond = 102.4
1421        e[20].thermal_cond = 200
1422        e[21].thermal_cond = 15.8
1423        e[22].thermal_cond = 21.9
1424        e[23].thermal_cond = 30.7
1425        e[24].thermal_cond = 93.7
1426        e[25].thermal_cond = 7.82
1427        e[26].thermal_cond = 80.2
1428        e[27].thermal_cond = 100
1429        e[28].thermal_cond = 90.7
1430        e[29].thermal_cond = 401
1431        e[30].thermal_cond = 116
1432        e[31].thermal_cond = 40.6
1433        e[32].thermal_cond = 59.9
1434        e[33].thermal_cond = 50.0
1435        e[34].thermal_cond = 2.04
1436        e[35].thermal_cond = 0.122
1437        e[36].thermal_cond = 0.00949
1438        e[37].thermal_cond = 58.2
1439        e[38].thermal_cond = 35.3
1440        e[39].thermal_cond = 17.2
1441        e[40].thermal_cond = 22.7
1442        e[41].thermal_cond = 53.7
1443        e[42].thermal_cond = 138
1444        e[43].thermal_cond = 50.6
1445        e[44].thermal_cond = 117
1446        e[45].thermal_cond = 150
1447        e[46].thermal_cond = 71.8
1448        e[47].thermal_cond = 429
1449        e[48].thermal_cond = 96.8
1450        e[49].thermal_cond = 81.6
1451        e[50].thermal_cond = 66.6
1452        e[51].thermal_cond = 24.3
1453        e[52].thermal_cond = 2.35
1454        e[53].thermal_cond = 0.449
1455        e[54].thermal_cond = 0.00569
1456        e[55].thermal_cond = 35.9
1457        e[56].thermal_cond = 18.4
1458        e[57].thermal_cond = 13.5
1459        e[58].thermal_cond = 11.4
1460        e[59].thermal_cond = 12.5
1461        e[60].thermal_cond = 16.5
1462        e[61].thermal_cond = 17.9
1463        e[62].thermal_cond = 13.3
1464        e[63].thermal_cond = 13.9
1465        e[64].thermal_cond = 10.6
1466        e[65].thermal_cond = 11.1
1467        e[66].thermal_cond = 10.7
1468        e[67].thermal_cond = 16.2
1469        e[68].thermal_cond = 14.3
1470        e[69].thermal_cond = 16.8
1471        e[70].thermal_cond = 34.9
1472        e[71].thermal_cond = 16.4
1473        e[72].thermal_cond = 23
1474        e[73].thermal_cond = 57.5
1475        e[74].thermal_cond = 174
1476        e[75].thermal_cond = 47.9
1477        e[76].thermal_cond = 87.6
1478        e[77].thermal_cond = 147
1479        e[78].thermal_cond = 71.6
1480        e[79].thermal_cond = 317
1481        e[80].thermal_cond = 8.34
1482        e[81].thermal_cond = 46.1
1483        e[82].thermal_cond = 35.3
1484        e[83].thermal_cond = 7.87
1485        e[84].thermal_cond = 20
1486        e[85].thermal_cond = 1.7
1487        e[86].thermal_cond = 0.00364
1488        e[87].thermal_cond = 15
1489        e[88].thermal_cond = 18.6
1490        e[89].thermal_cond = 12
1491        e[90].thermal_cond = 54.0
1492        e[91].thermal_cond = 47
1493        e[92].thermal_cond = 27.6
1494        e[93].thermal_cond = 6.3
1495        e[94].thermal_cond = 6.74
1496        e[95].thermal_cond = 10
1497        e[96].thermal_cond = 10
1498        e[97].thermal_cond = 10
1499        e[98].thermal_cond = 10
1500        e[99].thermal_cond = 10
1501        e[100].thermal_cond = 10
1502        e[101].thermal_cond = 10
1503        e[102].thermal_cond = 10
1504        e[103].thermal_cond = 10
1505
1506        # mpt.m creates e[deg C].melting_point
1507        e[1].melting_point=-259.14
1508        e[2].melting_point=-272.2
1509        e[3].melting_point=180.54
1510        e[4].melting_point=1278.000000
1511        e[5].melting_point=2300.
1512        e[6].melting_point=3550.000000
1513        e[7].melting_point=-209.86
1514        e[8].melting_point=-218.4
1515        e[9].melting_point=-219.62
1516        e[10].melting_point=-248.67
1517        e[11].melting_point=97.81
1518        e[12].melting_point=648.8
1519        e[13].melting_point=660.37
1520        e[14].melting_point=1410.
1521        e[15].melting_point=44.100000
1522        e[16].melting_point=112.8
1523        e[17].melting_point=-100.98
1524        e[18].melting_point=-189.2
1525        e[19].melting_point=63.65
1526        e[20].melting_point=839.000
1527        e[21].melting_point=1541.
1528        e[22].melting_point=1660.
1529        e[23].melting_point=1890.
1530        e[24].melting_point=1857.
1531        e[25].melting_point=1244.
1532        e[26].melting_point=1553.
1533        e[27].melting_point=1495.
1534        e[28].melting_point=1453.
1535        e[29].melting_point=1083.4
1536        e[30].melting_point=419.58
1537        e[31].melting_point=29.78
1538        e[32].melting_point=937.4
1539        e[33].melting_point=817.00
1540        e[34].melting_point=217.
1541        e[35].melting_point=-7.2
1542        e[36].melting_point=-156.6
1543        e[37].melting_point=38.89
1544        e[38].melting_point=769.
1545        e[39].melting_point=1522
1546        e[40].melting_point=1852.00
1547        e[41].melting_point=2468.
1548        e[42].melting_point=2617.
1549        e[43].melting_point=2172.
1550        e[44].melting_point=2310.
1551        e[45].melting_point=1966
1552        e[46].melting_point=1552.
1553        e[47].melting_point=961.93
1554        e[48].melting_point=320.9
1555        e[49].melting_point=156.61
1556        e[50].melting_point=231.9681
1557        e[51].melting_point=630.74
1558        e[52].melting_point=449.5
1559        e[53].melting_point=113.5
1560        e[54].melting_point=-111.9
1561        e[55].melting_point=28.40
1562        e[56].melting_point=725.
1563        e[57].melting_point=921
1564        e[58].melting_point=799
1565        e[59].melting_point=931
1566        e[60].melting_point=1021
1567        e[61].melting_point=1168
1568        e[62].melting_point=1077
1569        e[63].melting_point=822
1570        e[64].melting_point=1313
1571        e[65].melting_point=1356
1572        e[66].melting_point=1356
1573        e[67].melting_point=1474
1574        e[68].melting_point=1529
1575        e[69].melting_point=1545
1576        e[70].melting_point=819
1577        e[71].melting_point=1663
1578        e[72].melting_point=2227.0
1579        e[73].melting_point=2996
1580        e[74].melting_point=3410.
1581        e[75].melting_point=3180.
1582        e[76].melting_point=3045.
1583        e[77].melting_point=2410.
1584        e[78].melting_point=1772.
1585        e[79].melting_point=1064.43
1586        e[80].melting_point=-38.87
1587        e[81].melting_point=303.5
1588        e[82].melting_point=327.502
1589        e[83].melting_point=271.3
1590        e[84].melting_point=254.
1591        e[85].melting_point=302.
1592        e[86].melting_point=-71.
1593        e[87].melting_point=27.
1594        e[88].melting_point=700.
1595        e[89].melting_point=1050.
1596        e[90].melting_point=1750.
1597        e[91].melting_point=1554.000000
1598        e[92].melting_point=1132.3
1599        e[93].melting_point=640.
1600        e[94].melting_point=641.
1601        e[95].melting_point=994.
1602        e[96].melting_point=1340.
1603        e[97].melting_point=986.
1604        e[98].melting_point=900.0000
1605
1606        # bpt.m creates e[deg C].boiling_point
1607        e[1].boiling_point=-252.87
1608        e[2].boiling_point=-268.934
1609        e[3].boiling_point=1347
1610        e[4].boiling_point=2870.0
1611        e[5].boiling_point=2550
1612        e[6].boiling_point=4827.0
1613        e[7].boiling_point=-195.8
1614        e[8].boiling_point=-183.962
1615        e[9].boiling_point=-188.14
1616        e[10].boiling_point=-246.048
1617        e[11].boiling_point=882.9
1618        e[12].boiling_point=1090
1619        e[13].boiling_point=2467
1620        e[14].boiling_point=2355
1621        e[15].boiling_point=280
1622        e[16].boiling_point=444.674
1623        e[17].boiling_point=-34.6
1624        e[18].boiling_point=-185.7
1625        e[19].boiling_point=774
1626        e[20].boiling_point=1484
1627        e[21].boiling_point=2831
1628        e[22].boiling_point=3287
1629        e[23].boiling_point=3380
1630        e[24].boiling_point=2672
1631        e[25].boiling_point=1962
1632        e[26].boiling_point=2750
1633        e[27].boiling_point=2870
1634        e[28].boiling_point=2732
1635        e[29].boiling_point=2567
1636        e[30].boiling_point=907
1637        e[31].boiling_point=2403
1638        e[32].boiling_point=2830
1639        e[33].boiling_point=613.0
1640        e[34].boiling_point=684.9
1641        e[35].boiling_point=58.78
1642        e[36].boiling_point=-152.30
1643        e[37].boiling_point=688
1644        e[38].boiling_point=1384
1645        e[39].boiling_point=3338
1646        e[40].boiling_point=4377
1647        e[41].boiling_point=4742
1648        e[42].boiling_point=4612
1649        e[43].boiling_point=4877
1650        e[44].boiling_point=3900
1651        e[45].boiling_point=3727
1652        e[46].boiling_point=3140
1653        e[47].boiling_point=2212
1654        e[48].boiling_point=765
1655        e[49].boiling_point=2080
1656        e[50].boiling_point=2270
1657        e[51].boiling_point=1750
1658        e[52].boiling_point=989.8
1659        e[53].boiling_point=184.35
1660        e[54].boiling_point=-107.100000
1661        e[55].boiling_point=678.4
1662        e[56].boiling_point=1640
1663        e[57].boiling_point=3457
1664        e[58].boiling_point=3426
1665        e[59].boiling_point=3512
1666        e[60].boiling_point=3068
1667        e[61].boiling_point=2700
1668        e[62].boiling_point=1791
1669        e[63].boiling_point=1597
1670        e[64].boiling_point=3266
1671        e[65].boiling_point=3123
1672        e[66].boiling_point=2562
1673        e[67].boiling_point=2695
1674        e[68].boiling_point=2863
1675        e[69].boiling_point=1947
1676        e[70].boiling_point=1194
1677        e[71].boiling_point=3395
1678        e[72].boiling_point=4602
1679        e[73].boiling_point=5425
1680        e[74].boiling_point=5660
1681        e[75].boiling_point=5627
1682        e[76].boiling_point=5027
1683        e[77].boiling_point=4130
1684        e[78].boiling_point=3827
1685        e[79].boiling_point=2807
1686        e[80].boiling_point=356.58
1687        e[81].boiling_point=1457
1688        e[82].boiling_point=1740
1689        e[83].boiling_point=560
1690        e[84].boiling_point=962
1691        e[85].boiling_point=337
1692        e[86].boiling_point=-61.8
1693        e[87].boiling_point=677
1694        e[88].boiling_point=1140
1695        e[86].boiling_point=3200
1696        e[90].boiling_point=4790
1697        e[92].boiling_point=3818
1698        e[93].boiling_point=3902
1699        e[94].boiling_point=3232
1700        e[95].boiling_point=2607
1701
1702        for i in range(1,nelements+1):
1703            e[i].create_var_dict()
1704        #end for
1705
1706        #for i in range(len(e)):
1707        #    e[i].create_string_representation()
1708        ##end for
1709
1710
1711        isotope_masses  =  obj(
1712            H  = {1:1.00782503207,  2:2.0141017778,  3:3.0160492777},
1713            He = {3:3.0160293191,  4:4.00260325415},
1714            Li = {6:6.015122795,  7:7.01600455},
1715            Be = {9:9.0121822},
1716            B  = {10:10.0129370,  11:11.0093054},
1717            C  = {12:12.0000000,  13:13.0033548378,  14:14.003241989},
1718            N  = {14:14.0030740048,  15:15.0001088982},
1719            O  = {16:15.99491461956,  17:16.99913170,  18:17.9991610},
1720            F  = {19:18.99840322},
1721            Ne = {20:19.9924401754,  21:20.99384668,  22:21.991385114},
1722            Na = {23:22.9897692809},
1723            Mg = {24:23.985041700,  25:24.98583692,  26:25.982592929},
1724            Al = {27:26.98153863},
1725            Si = {28:27.9769265325,  29:28.976494700,  30:29.97377017},
1726            P  = {31:30.97376163},
1727            S  = {32:31.97207100,  33:32.97145876,  34:33.96786690,  36:35.96708076},
1728            Cl = {35:34.96885268,  37:36.96590259},
1729            Ar = {36:35.967545106,  38:37.9627324,  40:39.9623831225},
1730            K  = {39:38.96370668,  40:39.96399848,  41:40.96182576},
1731            Ca = {40:39.96259098,  42:41.95861801,  43:42.9587666,  44:43.9554818,  46:45.9536926,  48:47.952534},
1732            Sc = {45:44.9559119},
1733            Ti = {46:45.9526316,  47:46.9517631,  48:47.9479463,  49:48.9478700,  50:49.9447912},
1734            V  = {50:49.9471585,  51:50.9439595},
1735            Cr = {50:49.9460442,  52:51.9405075,  53:52.9406494,  54:53.9388804},
1736            Mn = {55:54.9380451},
1737            Fe = {54:53.9396105,  56:55.9349375,  57:56.9353940,  58:57.9332756},
1738            Co = {59:58.9331950},
1739            Ni = {58:57.9353429,  60:59.9307864,  61:60.9310560,  62:61.9283451,  64:63.9279660},
1740            Cu = {63:62.9295975,  65:64.9277895},
1741            Zn = {64:63.9291422,  66:65.9260334,  67:66.9271273,  68:67.9248442,  70:69.9253193},
1742            Ga = {69:68.9255736,  71:70.9247013},
1743            Ge = {70:69.9242474,  72:71.9220758,  73:72.9234589,  74:73.9211778,  76:75.9214026},
1744            As = {75:74.9215965},
1745            Se = {74:73.9224764,  76:75.9192136,  77:76.9199140,  78:77.9173091,  80:79.9165213,  82:81.9166994},
1746            Br = {79:78.9183371,  81:80.9162906},
1747            Kr = {78:77.9203648,  80:79.9163790,  82:81.9134836,  83:82.914136,  84:83.911507,  86:85.91061073},
1748            Rb = {85:84.911789738,  87:86.909180527},
1749            Sr = {84:83.913425,  86:85.9092602,  87:86.9088771,  88:87.9056121},
1750            Y  = {89:88.9058483},
1751            Zr = {90:89.9047044,  91:90.9056458,  92:91.9050408,  94:93.9063152,  96:95.9082734},
1752            Nb = {93:92.9063781},
1753            Mo = {92:91.906811,  94:93.9050883,  95:94.9058421,  96:95.9046795,  97:96.9060215,  98:97.9054082,  100:99.907477},
1754            Tc = {97:96.906365,  98:97.907216,  99:98.9062547},
1755            Ru = {96:95.907598,  98:97.905287,  99:98.9059393,  100:99.9042195,  101:100.9055821,  102:101.9043493,  104:103.905433},
1756            Rh = {103:102.905504},
1757            Pd = {102:101.905609,  104:103.904036,  105:104.905085,  106:105.903486,  108:107.903892,  110:109.905153},
1758            Ag = {107:106.905097,  109:108.904752},
1759            Cd = {106:105.906459,  108:107.904184,  110:109.9030021,  111:110.9041781,  112:111.9027578,  113:112.9044017,  114:113.9033585,  116:115.904756},
1760            In = {113:112.904058,  115:114.903878},
1761            Sn = {112:111.904818,  114:113.902779,  115:114.903342,  116:115.901741,  117:116.902952,  118:117.901603,  119:118.903308,  120:119.9021947,  122:121.9034390,  124:123.9052739},
1762            Sb = {121:120.9038157,  123:122.9042140},
1763            Te = {120:119.904020,  122:121.9030439,  123:122.9042700,  124:123.9028179,  125:124.9044307,  126:125.9033117,  128:127.9044631,  130:129.9062244},
1764            I  = {127:126.904473},
1765            Xe = {124:123.9058930,  126:125.904274,  128:127.9035313,  129:128.9047794,  130:129.9035080,  131:130.9050824,  132:131.9041535,  134:133.9053945,  136:135.907219},
1766            Cs = {133:132.905451933},
1767            Ba = {130:129.9063208,  132:131.9050613,  134:133.9045084,  135:134.9056886,  136:135.9045759,  137:136.9058274,  138:137.9052472},
1768            La = {138:137.907112,  139:138.9063533},
1769            Ce = {136:135.907172,  138:137.905991,  140:139.9054387,  142:141.909244},
1770            Pr = {141:140.9076528},
1771            Nd = {142:141.9077233,  143:142.9098143,  144:143.9100873,  145:144.9125736,  146:145.9131169,  148:147.916893,  150:149.920891},
1772            Pm = {145:144.912749,  147:146.9151385},
1773            Sm = {144:143.911999,  147:146.9148979,  148:147.9148227,  149:148.9171847,  150:149.9172755,  152:151.9197324,  154:153.9222093},
1774            Eu = {151:150.9198502,  153:152.9212303},
1775            Gd = {152:151.9197910,  154:153.9208656,  155:154.9226220,  156:155.9221227,  157:156.9239601,  158:157.9241039,  160:159.9270541},
1776            Tb = {159:158.9253468},
1777            Dy = {156:155.924283,  158:157.924409,  160:159.9251975,  161:160.9269334,  162:161.9267984,  163:162.9287312,  164:163.9291748},
1778            Ho = {165:164.9303221},
1779            Er = {162:161.928778,  164:163.929200,  166:165.9302931,  167:166.9320482,  168:167.9323702,  170:169.9354643},
1780            Tm = {169:168.9342133},
1781            Yb = {168:167.933897,  170:169.9347618,  171:170.9363258,  172:171.9363815,  173:172.9382108,  174:173.9388621,  176:175.9425717},
1782            Lu = {175:174.9407718,  176:175.9426863},
1783            Hf = {174:173.940046,  176:175.9414086,  177:176.9432207,  178:177.9436988,  179:178.9458161,  180:179.9465500},
1784            Ta = {180:179.9474648,  181:180.9479958},
1785            W  = {180:179.946704,  182:181.9482042,  183:182.9502230,  184:183.9509312,  186:185.9543641},
1786            Re = {185:184.9529550,  187:186.9557531},
1787            Os = {184:183.9524891,  186:185.9538382,  187:186.9557505,  188:187.9558382,  189:188.9581475,  190:189.9584470,  192:191.9614807},
1788            Ir = {191:190.9605940,  193:192.9629264},
1789            Pt = {190:189.959932,  192:191.9610380,  194:193.9626803,  195:194.9647911,  196:195.9649515,  198:197.967893},
1790            Au = {197:196.9665687},
1791            Hg = {196:195.965833,  198:197.9667690,  199:198.9682799,  200:199.9683260,  201:200.9703023,  202:201.9706430,  204:203.9734939},
1792            Tl = {203:202.9723442,  205:204.9744275},
1793            Pb = {204:203.9730436,  206:205.9744653,  207:206.9758969,  208:207.9766521},
1794            Bi = {209:208.9803987},
1795            Po = {209:208.9824304,  210:209.9828737},
1796            At = {210:209.987148,  211:210.9874963},
1797            Rn = {211:210.990601,  220:220.0113940,  222:222.0175777},
1798            Fr = {223:223.0197359},
1799            Ra = {223:223.0185022,  224:224.0202118,  226:226.0254098,  228:228.0310703},
1800            Ac = {227:227.0277521},
1801            Th = {230:230.0331338,  232:232.0380553},
1802            Pa = {231:231.0358840},
1803            U  = {233:233.0396352,  234:234.0409521,  235:235.0439299,  236:236.0455680,  238:238.0507882},
1804            Np = {236:236.046570,  237:237.0481734},
1805            Pu = {238:238.0495599,  239:239.0521634,  240:240.0538135,  241:241.0568515,  242:242.0587426,  244:244.064204},
1806            Am = {241:241.0568291,  243:243.0613811},
1807            Cm = {243:243.0613891,  244:244.0627526,  245:245.0654912,  246:246.0672237,  247:247.070354,  248:248.072349},
1808            Bk = {247:247.070307,  249:249.0749867},
1809            Cf = {249:249.0748535,  250:250.0764061,  251:251.079587,  252:252.081626},
1810            Es = {252:252.082980},
1811            Fm = {257:257.095105},
1812            Md = {258:258.098431,  260:260.10365},
1813            No = {259:259.10103},
1814            Lr = {262:262.10963},
1815            Rf = {265:265.11670},
1816            Db = {268:268.12545},
1817            Sg = {271:271.13347},
1818            Bh = {272:272.13803},
1819            Hs = {270:270.13465},
1820            Mt = {276:276.15116},
1821            Ds = {281:281.16206},
1822            Rg = {280:280.16447},
1823            Cn = {285:285.17411}
1824            )
1825
1826
1827        self.nelements = nelements
1828        self.simple_elements = e
1829
1830        self.elements = obj()
1831        for i in range(1,self.nelements+1):
1832            elem = self.simple_elements[i]
1833            element = Element(elem)
1834            self.elements[elem.symbol] = element
1835            self[elem.symbol] = element
1836        #end for
1837
1838        isotopes = obj()
1839        for symbol,element in self.elements.items():
1840            elem_isotopes = obj()
1841            for mass_number,mass in isotope_masses[symbol].items():
1842                isotope = element.copy()
1843                isotope.atomic_weight = phys_value_dict(mass,'amu')
1844                elem_isotopes[mass_number] = isotope
1845            #end for
1846            isotopes[symbol] = elem_isotopes
1847        #end for
1848        self.isotopes = isotopes
1849
1850    #end def __init__
1851
1852    def show(self):
1853        for i in range(self.nelements):
1854            print()
1855            print(self.elements[i].string_rep)
1856        #end for
1857    #end def show
1858#end class PeriodicTable
1859
1860
1861pt = PeriodicTable()
1862periodic_table = pt
1863ptable = pt
1864
1865
1866
1867
1868def is_element(name,symbol=False):
1869    s      = name
1870    iselem = False
1871    if isinstance(name,str):
1872        iselem = name in periodic_table.elements
1873        if not iselem:
1874            nlen = len(name)
1875            if name.find('_')!=-1:
1876                s,n = name.split('_',1)
1877            elif nlen>1 and name[1:].isdigit():
1878                s = name[0:1]
1879            elif nlen>2 and name[2:].isdigit():
1880                s = name[0:2]
1881            #end if
1882            if len(s)==1:
1883                s = s.upper()
1884            elif len(s)==2:
1885                s = s[0].upper()+s[1].lower()
1886            #end if
1887            iselem = s in periodic_table.elements
1888        #end if
1889    #end if
1890    if symbol:
1891        return iselem,s
1892    else:
1893        return iselem
1894    #end if
1895#end def is_element
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906