1# -*- coding: utf-8 -*-
2# elements.py
3
4# Copyright (c) 2005-2014, Christoph Gohlke
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions are met:
9#
10# * Redistributions of source code must retain the above copyright
11#   notice, this list of conditions and the following disclaimer.
12# * Redistributions in binary form must reproduce the above copyright
13#   notice, this list of conditions and the following disclaimer in the
14#   documentation and/or other materials provided with the distribution.
15# * Neither the name of the copyright holders nor the names of any
16#   contributors may be used to endorse or promote products derived
17#   from this software without specific prior written permission.
18#
19# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22# ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29# POSSIBILITY OF SUCH DAMAGE.
30
31"""Properties of the chemical elements.
32
33Each chemical element is represented as an object instance. Physicochemical
34and descriptive properties of the elements are stored as instance attributes.
35
36:Author: `Christoph Gohlke <http://www.lfd.uci.edu/~gohlke/>`_
37
38:Version: 2013.03.18
39
40Requirements
41------------
42* `CPython 2.7 or 3.3 <http://www.python.org>`_
43
44References
45----------
46(1) http://physics.nist.gov/PhysRefData/Compositions/
47(2) http://physics.nist.gov/PhysRefData/IonEnergy/tblNew.html
48(3) http://en.wikipedia.org/wiki/%(element.name)s
49(4) http://www.miranda.org/~jkominek/elements/elements.db
50
51Examples
52--------
53>>> from elements import ELEMENTS
54>>> len(ELEMENTS)
55109
56>>> str(ELEMENTS[109])
57'Meitnerium'
58>>> ele = ELEMENTS['C']
59>>> ele.number, ele.symbol, ele.name, ele.eleconfig
60(6, 'C', 'Carbon', '[He] 2s2 2p2')
61>>> ele.eleconfig_dict
62{(1, 's'): 2, (2, 'p'): 2, (2, 's'): 2}
63>>> sum(ele.mass for ele in ELEMENTS)
6414659.1115599
65>>> for ele in ELEMENTS:
66...     ele.validate()
67...     ele = eval(repr(ele))
68
69"""
70
71from __future__ import division, print_function
72
73__version__ = '2013.03.18'
74__docformat__ = 'restructuredtext en'
75__all__ = ['ELEMENTS']
76
77
78class lazyattr(object):
79    """Lazy object attribute whose value is computed on first access."""
80    __slots__ = ['func']
81
82    def __init__(self, func):
83        self.func = func
84
85    def __get__(self, instance, owner):
86        result = self.func(instance)
87        if result is NotImplemented:
88            return getattr(super(owner, instance), self.func.__name__)
89        setattr(instance, self.func.__name__, result)
90        return result
91
92
93class Element(object):
94    """Chemical element.
95
96    Attributes
97    ----------
98    number : int
99        Atomic number
100    symbol : str of length 1 or 2
101        Chemical symbol
102    name : str
103        Name in english
104    group : int
105        Group in periodic table
106    period : int
107        Period in periodic table
108    block : int
109        Block in periodic table
110    series : int
111        Index to chemical series
112    protons : int
113        Number of protons
114    neutrons : int
115        Number of neutrons in the most abundant naturally occurring stable
116        isotope
117    nominalmass : int
118        Mass number of the most abundant naturally occurring stable isotope
119    electrons : int
120        Number of electrons
121    mass : float
122        Relative atomic mass. Ratio of the average mass of atoms
123        of the element to 1/12 of the mass of an atom of 12C
124    exactmass : float
125        Relative atomic mass calculated from the isotopic composition
126    eleneg : float
127        Electronegativity (Pauling scale)
128    covrad : float
129        Covalent radius in Angstrom
130    atmrad :
131        Atomic radius in Angstrom
132    vdwrad : float
133        Van der Waals radius in Angstrom
134    tboil : float
135        Boiling temperature in K
136    tmelt : float
137        Melting temperature in K
138    density : float
139        Density at 295K in g/cm3 respectively g/L
140    oxistates : str
141        Oxidation states
142    eleaffin : float
143        Electron affinity in eV
144    eleconfig : str
145        Ground state electron configuration
146    eleconfig_dict : dict
147        Ground state electron configuration (shell, subshell): electrons
148    eleshells : int
149        Number of electrons per shell
150    ionenergy : tuple
151        Ionization energies in eV
152    isotopes : dict
153        Isotopic composition.
154        keys: isotope mass number
155        values: Isotope(relative atomic mass, abundance)
156
157    """
158    def __init__(self, number, symbol, name, **kwargs):
159        self.number = number
160        self.symbol = symbol
161        self.name = name
162        self.electrons = number
163        self.protons = number
164        self.__dict__.update(kwargs)
165
166    def __str__(self):
167        return self.name
168
169    def __repr__(self):
170        ionenergy = []
171        for i, j in enumerate(self.ionenergy):
172            if i and (i % 5 == 0):
173                ionenergy.append("\n" + " " * 15)
174            ionenergy.append("%s, " % j)
175        ionenergy = "".join(ionenergy)
176
177        isotopes = []
178        for massnum in sorted(self.isotopes):
179            iso = self.isotopes[massnum]
180            isotopes.append("%i: Isotope(%s, %s, %i)" % (
181                massnum, iso.mass, iso.abundance, massnum))
182        isotopes = ",\n              ".join(isotopes)
183
184        description = word_wrap(self.description, linelen=66, indent=0,
185                                joinstr=""" "\n        \"""")
186        description = """    e['%s'].description = (\n        "%s\")""" % (
187            self.symbol, description)
188        # return description
189
190        result = [
191            "Element(\n    %i, '%s', '%s'" % (
192                self.number, self.symbol, self.name),
193            "group=%s, period=%s, block='%s', series=%i" % (
194                self.group, self.period, self.block, self.series),
195            "mass=%s, eleneg=%s, eleaffin=%s" % (
196                self.mass, self.eleneg, self.eleaffin),
197            "covrad=%s, atmrad=%s, vdwrad=%s" % (
198                self.covrad, self.atmrad, self.vdwrad),
199            "tboil=%s, tmelt=%s, density=%s" % (
200                self.tboil, self.tmelt, self.density),
201            "eleconfig='%s'" % self.eleconfig,
202            "oxistates='%s'" % self.oxistates,
203            "ionenergy=(%s)" % ionenergy,
204            "isotopes={%s})" % isotopes
205        ]
206        return ",\n    ".join(result)
207
208    @lazyattr
209    def nominalmass(self):
210        """Return mass number of most abundant natural stable isotope."""
211        nominalmass = 0
212        maxabundance = 0
213        for massnum, iso in self.isotopes.items():
214            if iso.abundance > maxabundance:
215                maxabundance = iso.abundance
216                nominalmass = massnum
217        return nominalmass
218
219    @lazyattr
220    def neutrons(self):
221        """Return number neutrons in most abundant natural stable isotope."""
222        return self.nominalmass - self.protons
223
224    @lazyattr
225    def exactmass(self):
226        """Return relative atomic mass calculated from isotopic composition."""
227        return sum(iso.mass * iso.abundance for iso in self.isotopes.values())
228
229    @lazyattr
230    def eleconfig_dict(self):
231        """Return electron configuration as dict."""
232        adict = {}
233        if self.eleconfig.startswith('['):
234            base = self.eleconfig.split(' ', 1)[0][1:-1]
235            adict.update(ELEMENTS[base].eleconfig_dict)
236        for e in self.eleconfig.split()[bool(adict):]:
237            adict[(int(e[0]), e[1])] = int(e[2:]) if len(e) > 2 else 1
238        return adict
239
240    @lazyattr
241    def eleshells(self):
242        """Return number of electrons in shell as tuple."""
243        eleshells = [0, 0, 0, 0, 0, 0, 0]
244        for key, val in self.eleconfig_dict.items():
245            eleshells[key[0] - 1] += val
246        return tuple(ele for ele in eleshells if ele)
247
248    @lazyattr
249    def description(self):
250        """Return text description of element."""
251        return _descriptions(self.symbol)
252
253    def validate(self):
254        """Check consistency of data. Raise Error on failure."""
255        assert self.period in PERIODS
256        assert self.group in GROUPS
257        assert self.block in BLOCKS
258        assert self.series in SERIES
259
260        if self.number != self.protons:
261            raise ValueError(
262                "%s - atomic number must equal proton number" % self.symbol)
263        if self.protons != sum(self.eleshells):
264            raise ValueError(
265                "%s - number of protons must equal electrons" % self.symbol)
266
267        mass = 0.0
268        frac = 0.0
269        for iso in self.isotopes.values():
270            mass += iso.abundance * iso.mass
271            frac += iso.abundance
272        if abs(mass - self.mass) > 0.03:
273            raise ValueError(
274                "%s - average of isotope masses (%.4f) != mass (%.4f)" % (
275                    self.symbol, mass, self.mass))
276        if abs(frac - 1.0) > 1e-9:
277            raise ValueError(
278                "%s - sum of isotope abundances != 1.0" % self.symbol)
279
280
281class Isotope(object):
282    """Isotope massnumber, relative atomic mass, and abundance."""
283    __slots__ = ['massnumber', 'mass', 'abundance']
284
285    def __init__(self, mass=0.0, abundance=1.0, massnumber=0):
286        self.mass = mass
287        self.abundance = abundance
288        self.massnumber = massnumber
289
290    def __str__(self):
291        return "%i, %.4f, %.6f%%" % (self.massnumber, self.mass,
292                                     self.abundance * 100)
293
294    def __repr__(self):
295        return "Isotope(%s, %s, %s)" % (
296            repr(self.mass), repr(self.abundance), repr(self.massnumber))
297
298
299class ElementsDict(object):
300    """Ordered dict of Elements with lookup by number, symbol, and name."""
301    def __init__(self, *elements):
302        self._list = []
303        self._dict = {}
304        for element in elements:
305            if element.number > len(self._list) + 1:
306                raise ValueError("Elements must be added in order")
307            if element.number <= len(self._list):
308                self._list[element.number - 1] = element
309            else:
310                self._list.append(element)
311            self._dict[element.number] = element
312            self._dict[element.symbol] = element
313            self._dict[element.name] = element
314
315    def __str__(self):
316        return "[%s]" % ", ".join(ele.symbol for ele in self._list)
317
318    def __contains__(self, item):
319        return item in self._dict
320
321    def __iter__(self):
322        return iter(self._list)
323
324    def __len__(self):
325        return len(self._list)
326
327    def __getitem__(self, key):
328        try:
329            return self._dict[key]
330        except KeyError:
331            try:
332                start, stop, step = key.indices(len(self._list))
333                return self._list[slice(start - 1, stop - 1, step)]
334            except:
335                raise KeyError("key %s not found" % key)
336
337
338ELEMENTS = ElementsDict(
339    Element(
340        1, 'H', 'Hydrogen',
341        group=1, period=1, block='s', series=1,
342        mass=1.00794, eleneg=2.2, eleaffin=0.75420375,
343        covrad=0.32, atmrad=0.79, vdwrad=1.2,
344        tboil=20.28, tmelt=13.81, density=0.084,
345        eleconfig='1s',
346        oxistates='1*, -1',
347        ionenergy=(13.5984, ),
348        isotopes={1: Isotope(1.0078250321, 0.999885, 1),
349                  2: Isotope(2.014101778, 0.000115, 2)}),
350    Element(
351        2, 'He', 'Helium',
352        group=18, period=1, block='s', series=2,
353        mass=4.002602, eleneg=0.0, eleaffin=0.0,
354        covrad=0.93, atmrad=0.49, vdwrad=1.4,
355        tboil=4.216, tmelt=0.95, density=0.1785,
356        eleconfig='1s2',
357        oxistates='*',
358        ionenergy=(24.5874, 54.416, ),
359        isotopes={3: Isotope(3.0160293097, 1.37e-06, 3),
360                  4: Isotope(4.0026032497, 0.99999863, 4)}),
361    Element(
362        3, 'Li', 'Lithium',
363        group=1, period=2, block='s', series=3,
364        mass=6.941, eleneg=0.98, eleaffin=0.618049,
365        covrad=1.23, atmrad=2.05, vdwrad=1.82,
366        tboil=1615.0, tmelt=453.7, density=0.53,
367        eleconfig='[He] 2s',
368        oxistates='1*',
369        ionenergy=(5.3917, 75.638, 122.451, ),
370        isotopes={6: Isotope(6.0151223, 0.0759, 6),
371                  7: Isotope(7.016004, 0.9241, 7)}),
372    Element(
373        4, 'Be', 'Beryllium',
374        group=2, period=2, block='s', series=4,
375        mass=9.012182, eleneg=1.57, eleaffin=0.0,
376        covrad=0.9, atmrad=1.4, vdwrad=0.0,
377        tboil=3243.0, tmelt=1560.0, density=1.85,
378        eleconfig='[He] 2s2',
379        oxistates='2*',
380        ionenergy=(9.3227, 18.211, 153.893, 217.713, ),
381        isotopes={9: Isotope(9.0121821, 1.0, 9)}),
382    Element(
383        5, 'B', 'Boron',
384        group=13, period=2, block='p', series=5,
385        mass=10.811, eleneg=2.04, eleaffin=0.279723,
386        covrad=0.82, atmrad=1.17, vdwrad=0.0,
387        tboil=4275.0, tmelt=2365.0, density=2.46,
388        eleconfig='[He] 2s2 2p',
389        oxistates='3*',
390        ionenergy=(8.298, 25.154, 37.93, 59.368, 340.217, ),
391        isotopes={10: Isotope(10.012937, 0.199, 10),
392                  11: Isotope(11.0093055, 0.801, 11)}),
393    Element(
394        6, 'C', 'Carbon',
395        group=14, period=2, block='p', series=1,
396        mass=12.0107, eleneg=2.55, eleaffin=1.262118,
397        covrad=0.77, atmrad=0.91, vdwrad=1.7,
398        tboil=5100.0, tmelt=3825.0, density=3.51,
399        eleconfig='[He] 2s2 2p2',
400        oxistates='4*, 2, -4*',
401        ionenergy=(11.2603, 24.383, 47.877, 64.492, 392.077,
402                   489.981, ),
403        isotopes={12: Isotope(12.0, 0.9893, 12),
404                  13: Isotope(13.0033548378, 0.0107, 13)}),
405    Element(
406        7, 'N', 'Nitrogen',
407        group=15, period=2, block='p', series=1,
408        mass=14.0067, eleneg=3.04, eleaffin=-0.07,
409        covrad=0.75, atmrad=0.75, vdwrad=1.55,
410        tboil=77.344, tmelt=63.15, density=1.17,
411        eleconfig='[He] 2s2 2p3',
412        oxistates='5, 4, 3, 2, -3*',
413        ionenergy=(14.5341, 39.601, 47.488, 77.472, 97.888,
414                   522.057, 667.029, ),
415        isotopes={14: Isotope(14.0030740052, 0.99632, 14),
416                  15: Isotope(15.0001088984, 0.00368, 15)}),
417    Element(
418        8, 'O', 'Oxygen',
419        group=16, period=2, block='p', series=1,
420        mass=15.9994, eleneg=3.44, eleaffin=1.461112,
421        covrad=0.73, atmrad=0.65, vdwrad=1.52,
422        tboil=90.188, tmelt=54.8, density=1.33,
423        eleconfig='[He] 2s2 2p4',
424        oxistates='-2*, -1',
425        ionenergy=(13.6181, 35.116, 54.934, 54.934, 77.412,
426                   113.896, 138.116, 739.315, 871.387, ),
427        isotopes={16: Isotope(15.9949146221, 0.99757, 16),
428                  17: Isotope(16.9991315, 0.00038, 17),
429                  18: Isotope(17.9991604, 0.00205, 18)}),
430    Element(
431        9, 'F', 'Fluorine',
432        group=17, period=2, block='p', series=6,
433        mass=18.9984032, eleneg=3.98, eleaffin=3.4011887,
434        covrad=0.72, atmrad=0.57, vdwrad=1.47,
435        tboil=85.0, tmelt=53.55, density=1.58,
436        eleconfig='[He] 2s2 2p5',
437        oxistates='-1*',
438        ionenergy=(17.4228, 34.97, 62.707, 87.138, 114.24,
439                   157.161, 185.182, 953.886, 1103.089, ),
440        isotopes={19: Isotope(18.9984032, 1.0, 19)}),
441    Element(
442        10, 'Ne', 'Neon',
443        group=18, period=2, block='p', series=2,
444        mass=20.1797, eleneg=0.0, eleaffin=0.0,
445        covrad=0.71, atmrad=0.51, vdwrad=1.54,
446        tboil=27.1, tmelt=24.55, density=0.8999,
447        eleconfig='[He] 2s2 2p6',
448        oxistates='*',
449        ionenergy=(21.5645, 40.962, 63.45, 97.11, 126.21,
450                   157.93, 207.27, 239.09, 1195.797, 1362.164, ),
451        isotopes={20: Isotope(19.9924401759, 0.9048, 20),
452                  21: Isotope(20.99384674, 0.0027, 21),
453                  22: Isotope(21.99138551, 0.0925, 22)}),
454    Element(
455        11, 'Na', 'Sodium',
456        group=1, period=3, block='s', series=3,
457        mass=22.98977, eleneg=0.93, eleaffin=0.547926,
458        covrad=1.54, atmrad=2.23, vdwrad=2.27,
459        tboil=1156.0, tmelt=371.0, density=0.97,
460        eleconfig='[Ne] 3s',
461        oxistates='1*',
462        ionenergy=(5.1391, 47.286, 71.64, 98.91, 138.39,
463                   172.15, 208.47, 264.18, 299.87, 1465.091,
464                   1648.659, ),
465        isotopes={23: Isotope(22.98976967, 1.0, 23)}),
466    Element(
467        12, 'Mg', 'Magnesium',
468        group=2, period=3, block='s', series=4,
469        mass=24.305, eleneg=1.31, eleaffin=0.0,
470        covrad=1.36, atmrad=1.72, vdwrad=1.73,
471        tboil=1380.0, tmelt=922.0, density=1.74,
472        eleconfig='[Ne] 3s2',
473        oxistates='2*',
474        ionenergy=(7.6462, 15.035, 80.143, 109.24, 141.26,
475                   186.5, 224.94, 265.9, 327.95, 367.53,
476                   1761.802, 1962.613, ),
477        isotopes={24: Isotope(23.9850419, 0.7899, 24),
478                  25: Isotope(24.98583702, 0.1, 25),
479                  26: Isotope(25.98259304, 0.1101, 26)}),
480    Element(
481        13, 'Al', 'Aluminium',
482        group=13, period=3, block='p', series=7,
483        mass=26.981538, eleneg=1.61, eleaffin=0.43283,
484        covrad=1.18, atmrad=1.82, vdwrad=0.0,
485        tboil=2740.0, tmelt=933.5, density=2.7,
486        eleconfig='[Ne] 3s2 3p',
487        oxistates='3*',
488        ionenergy=(5.9858, 18.828, 28.447, 119.99, 153.71,
489                   190.47, 241.43, 284.59, 330.21, 398.57,
490                   442.07, 2085.983, 2304.08, ),
491        isotopes={27: Isotope(26.98153844, 1.0, 27)}),
492    Element(
493        14, 'Si', 'Silicon',
494        group=14, period=3, block='p', series=5,
495        mass=28.0855, eleneg=1.9, eleaffin=1.389521,
496        covrad=1.11, atmrad=1.46, vdwrad=2.1,
497        tboil=2630.0, tmelt=1683.0, density=2.33,
498        eleconfig='[Ne] 3s2 3p2',
499        oxistates='4*, -4',
500        ionenergy=(8.1517, 16.345, 33.492, 45.141, 166.77,
501                   205.05, 246.52, 303.17, 351.1, 401.43,
502                   476.06, 523.5, 2437.676, 2673.108, ),
503        isotopes={28: Isotope(27.9769265327, 0.922297, 28),
504                  29: Isotope(28.97649472, 0.046832, 29),
505                  30: Isotope(29.97377022, 0.030871, 30)}),
506    Element(
507        15, 'P', 'Phosphorus',
508        group=15, period=3, block='p', series=1,
509        mass=30.973761, eleneg=2.19, eleaffin=0.7465,
510        covrad=1.06, atmrad=1.23, vdwrad=1.8,
511        tboil=553.0, tmelt=317.3, density=1.82,
512        eleconfig='[Ne] 3s2 3p3',
513        oxistates='5*, 3, -3',
514        ionenergy=(10.4867, 19.725, 30.18, 51.37, 65.023,
515                   220.43, 263.22, 309.41, 371.73, 424.5,
516                   479.57, 560.41, 611.85, 2816.943, 3069.762, ),
517        isotopes={31: Isotope(30.97376151, 1.0, 31)}),
518    Element(
519        16, 'S', 'Sulfur',
520        group=16, period=3, block='p', series=1,
521        mass=32.065, eleneg=2.58, eleaffin=2.0771029,
522        covrad=1.02, atmrad=1.09, vdwrad=1.8,
523        tboil=717.82, tmelt=392.2, density=2.06,
524        eleconfig='[Ne] 3s2 3p4',
525        oxistates='6*, 4, 2, -2',
526        ionenergy=(10.36, 23.33, 34.83, 47.3, 72.68,
527                   88.049, 280.93, 328.23, 379.1, 447.09,
528                   504.78, 564.65, 651.63, 707.14, 3223.836,
529                   3494.099, ),
530        isotopes={32: Isotope(31.97207069, 0.9493, 32),
531                  33: Isotope(32.9714585, 0.0076, 33),
532                  34: Isotope(33.96786683, 0.0429, 34),
533                  36: Isotope(35.96708088, 0.0002, 36)}),
534    Element(
535        17, 'Cl', 'Chlorine',
536        group=17, period=3, block='p', series=6,
537        mass=35.453, eleneg=3.16, eleaffin=3.612724,
538        covrad=0.99, atmrad=0.97, vdwrad=1.75,
539        tboil=239.18, tmelt=172.17, density=2.95,
540        eleconfig='[Ne] 3s2 3p5',
541        oxistates='7, 5, 3, 1, -1*',
542        ionenergy=(12.9676, 23.81, 39.61, 53.46, 67.8,
543                   98.03, 114.193, 348.28, 400.05, 455.62,
544                   529.97, 591.97, 656.69, 749.75, 809.39,
545                   3658.425, 3946.193, ),
546        isotopes={35: Isotope(34.96885271, 0.7578, 35),
547                  37: Isotope(36.9659026, 0.2422, 37)}),
548    Element(
549        18, 'Ar', 'Argon',
550        group=18, period=3, block='p', series=2,
551        mass=39.948, eleneg=0.0, eleaffin=0.0,
552        covrad=0.98, atmrad=0.88, vdwrad=1.88,
553        tboil=87.45, tmelt=83.95, density=1.66,
554        eleconfig='[Ne] 3s2 3p6',
555        oxistates='*',
556        ionenergy=(15.7596, 27.629, 40.74, 59.81, 75.02,
557                   91.007, 124.319, 143.456, 422.44, 478.68,
558                   538.95, 618.24, 686.09, 755.73, 854.75,
559                   918.0, 4120.778, 4426.114, ),
560        isotopes={36: Isotope(35.96754628, 0.003365, 36),
561                  38: Isotope(37.9627322, 0.000632, 38),
562                  40: Isotope(39.962383123, 0.996003, 40)}),
563    Element(
564        19, 'K', 'Potassium',
565        group=1, period=4, block='s', series=3,
566        mass=39.0983, eleneg=0.82, eleaffin=0.501459,
567        covrad=2.03, atmrad=2.77, vdwrad=2.75,
568        tboil=1033.0, tmelt=336.8, density=0.86,
569        eleconfig='[Ar] 4s',
570        oxistates='1*',
571        ionenergy=(4.3407, 31.625, 45.72, 60.91, 82.66,
572                   100.0, 117.56, 154.86, 175.814, 503.44,
573                   564.13, 629.09, 714.02, 787.13, 861.77,
574                   968.0, 1034.0, 4610.955, 4933.931, ),
575        isotopes={39: Isotope(38.9637069, 0.932581, 39),
576                  40: Isotope(39.96399867, 0.000117, 40),
577                  41: Isotope(40.96182597, 0.067302, 41)}),
578    Element(
579        20, 'Ca', 'Calcium',
580        group=2, period=4, block='s', series=4,
581        mass=40.078, eleneg=1.0, eleaffin=0.02455,
582        covrad=1.74, atmrad=2.23, vdwrad=0.0,
583        tboil=1757.0, tmelt=1112.0, density=1.54,
584        eleconfig='[Ar] 4s2',
585        oxistates='2*',
586        ionenergy=(6.1132, 11.71, 50.908, 67.1, 84.41,
587                   108.78, 127.7, 147.24, 188.54, 211.27,
588                   591.25, 656.39, 726.03, 816.61, 895.12,
589                   974.0, 1087.0, 1157.0, 5129.045, 5469.738, ),
590        isotopes={40: Isotope(39.9625912, 0.96941, 40),
591                  42: Isotope(41.9586183, 0.00647, 42),
592                  43: Isotope(42.9587668, 0.00135, 43),
593                  44: Isotope(43.9554811, 0.02086, 44),
594                  46: Isotope(45.9536928, 4e-05, 46),
595                  48: Isotope(47.952534, 0.00187, 48)}),
596    Element(
597        21, 'Sc', 'Scandium',
598        group=3, period=4, block='d', series=8,
599        mass=44.95591, eleneg=1.36, eleaffin=0.188,
600        covrad=1.44, atmrad=2.09, vdwrad=0.0,
601        tboil=3109.0, tmelt=1814.0, density=2.99,
602        eleconfig='[Ar] 3d 4s2',
603        oxistates='3*',
604        ionenergy=(6.5615, 12.8, 24.76, 73.47, 91.66,
605                   11.1, 138.0, 158.7, 180.02, 225.32,
606                   225.32, 685.89, 755.47, 829.79, 926.0, ),
607        isotopes={45: Isotope(44.9559102, 1.0, 45)}),
608    Element(
609        22, 'Ti', 'Titanium',
610        group=4, period=4, block='d', series=8,
611        mass=47.867, eleneg=1.54, eleaffin=0.084,
612        covrad=1.32, atmrad=2.0, vdwrad=0.0,
613        tboil=3560.0, tmelt=1935.0, density=4.51,
614        eleconfig='[Ar] 3d2 4s2',
615        oxistates='4*, 3',
616        ionenergy=(6.8281, 13.58, 27.491, 43.266, 99.22,
617                   119.36, 140.8, 168.5, 193.5, 193.2,
618                   215.91, 265.23, 291.497, 787.33, 861.33, ),
619        isotopes={46: Isotope(45.9526295, 0.0825, 46),
620                  47: Isotope(46.9517638, 0.0744, 47),
621                  48: Isotope(47.9479471, 0.7372, 48),
622                  49: Isotope(48.9478708, 0.0541, 49),
623                  50: Isotope(49.9447921, 0.0518, 50)}),
624    Element(
625        23, 'V', 'Vanadium',
626        group=5, period=4, block='d', series=8,
627        mass=50.9415, eleneg=1.63, eleaffin=0.525,
628        covrad=1.22, atmrad=1.92, vdwrad=0.0,
629        tboil=3650.0, tmelt=2163.0, density=6.09,
630        eleconfig='[Ar] 3d3 4s2',
631        oxistates='5*, 4, 3, 2, 0',
632        ionenergy=(6.7462, 14.65, 29.31, 46.707, 65.23,
633                   128.12, 150.17, 173.7, 205.8, 230.5,
634                   255.04, 308.25, 336.267, 895.58, 974.02, ),
635        isotopes={50: Isotope(49.9471628, 0.0025, 50),
636                  51: Isotope(50.9439637, 0.9975, 51)}),
637    Element(
638        24, 'Cr', 'Chromium',
639        group=6, period=4, block='d', series=8,
640        mass=51.9961, eleneg=1.66, eleaffin=0.67584,
641        covrad=1.18, atmrad=1.85, vdwrad=0.0,
642        tboil=2945.0, tmelt=2130.0, density=7.14,
643        eleconfig='[Ar] 3d5 4s',
644        oxistates='6, 3*, 2, 0',
645        ionenergy=(6.7665, 16.5, 30.96, 49.1, 69.3,
646                   90.56, 161.1, 184.7, 209.3, 244.4,
647                   270.8, 298.0, 355.0, 384.3, 1010.64, ),
648        isotopes={50: Isotope(49.9460496, 0.04345, 50),
649                  52: Isotope(51.9405119, 0.83789, 52),
650                  53: Isotope(52.9406538, 0.09501, 53),
651                  54: Isotope(53.9388849, 0.02365, 54)}),
652    Element(
653        25, 'Mn', 'Manganese',
654        group=7, period=4, block='d', series=8,
655        mass=54.938049, eleneg=1.55, eleaffin=0.0,
656        covrad=1.17, atmrad=1.79, vdwrad=0.0,
657        tboil=2235.0, tmelt=1518.0, density=7.44,
658        eleconfig='[Ar] 3d5 4s2',
659        oxistates='7, 6, 4, 3, 2*, 0, -1',
660        ionenergy=(7.434, 15.64, 33.667, 51.2, 72.4,
661                   95.0, 119.27, 196.46, 221.8, 248.3,
662                   286.0, 314.4, 343.6, 404.0, 435.3,
663                   1136.2, ),
664        isotopes={55: Isotope(54.9380496, 1.0, 55)}),
665    Element(
666        26, 'Fe', 'Iron',
667        group=8, period=4, block='d', series=8,
668        mass=55.845, eleneg=1.83, eleaffin=0.151,
669        covrad=1.17, atmrad=1.72, vdwrad=0.0,
670        tboil=3023.0, tmelt=1808.0, density=7.874,
671        eleconfig='[Ar] 3d6 4s2',
672        oxistates='6, 3*, 2, 0, -2',
673        ionenergy=(7.9024, 16.18, 30.651, 54.8, 75.0,
674                   99.0, 125.0, 151.06, 235.04, 262.1,
675                   290.4, 330.8, 361.0, 392.2, 457.0,
676                   485.5, 1266.1, ),
677        isotopes={54: Isotope(53.9396148, 0.05845, 54),
678                  56: Isotope(55.9349421, 0.91754, 56),
679                  57: Isotope(56.9353987, 0.02119, 57),
680                  58: Isotope(57.9332805, 0.00282, 58)}),
681    Element(
682        27, 'Co', 'Cobalt',
683        group=9, period=4, block='d', series=8,
684        mass=58.9332, eleneg=1.88, eleaffin=0.6633,
685        covrad=1.16, atmrad=1.67, vdwrad=0.0,
686        tboil=3143.0, tmelt=1768.0, density=8.89,
687        eleconfig='[Ar] 3d7 4s2',
688        oxistates='3, 2*, 0, -1',
689        ionenergy=(7.881, 17.06, 33.5, 51.3, 79.5,
690                   102.0, 129.0, 157.0, 186.13, 276.0,
691                   305.0, 336.0, 376.0, 411.0, 444.0,
692                   512.0, 546.8, 1403.0, ),
693        isotopes={59: Isotope(58.9332002, 1.0, 59)}),
694    Element(
695        28, 'Ni', 'Nickel',
696        group=10, period=4, block='d', series=8,
697        mass=58.6934, eleneg=1.91, eleaffin=1.15716,
698        covrad=1.15, atmrad=1.62, vdwrad=1.63,
699        tboil=3005.0, tmelt=1726.0, density=8.91,
700        eleconfig='[Ar] 3d8 4s2',
701        oxistates='3, 2*, 0',
702        ionenergy=(7.6398, 18.168, 35.17, 54.9, 75.5,
703                   108.0, 133.0, 162.0, 193.0, 224.5,
704                   321.2, 352.0, 384.0, 430.0, 464.0,
705                   499.0, 571.0, 607.2, 1547.0, ),
706        isotopes={58: Isotope(57.9353479, 0.680769, 58),
707                  60: Isotope(59.9307906, 0.262231, 60),
708                  61: Isotope(60.9310604, 0.011399, 61),
709                  62: Isotope(61.9283488, 0.036345, 62),
710                  64: Isotope(63.9279696, 0.009256, 64)}),
711    Element(
712        29, 'Cu', 'Copper',
713        group=11, period=4, block='d', series=8,
714        mass=63.546, eleneg=1.9, eleaffin=1.23578,
715        covrad=1.17, atmrad=1.57, vdwrad=1.4,
716        tboil=2840.0, tmelt=1356.6, density=8.92,
717        eleconfig='[Ar] 3d10 4s',
718        oxistates='2*, 1',
719        ionenergy=(7.7264, 20.292, 26.83, 55.2, 79.9,
720                   103.0, 139.0, 166.0, 199.0, 232.0,
721                   266.0, 368.8, 401.0, 435.0, 484.0,
722                   520.0, 557.0, 633.0, 671.0, 1698.0, ),
723        isotopes={63: Isotope(62.9296011, 0.6917, 63),
724                  65: Isotope(64.9277937, 0.3083, 65)}),
725    Element(
726        30, 'Zn', 'Zinc',
727        group=12, period=4, block='d', series=8,
728        mass=65.409, eleneg=1.65, eleaffin=0.0,
729        covrad=1.25, atmrad=1.53, vdwrad=1.39,
730        tboil=1180.0, tmelt=692.73, density=7.14,
731        eleconfig='[Ar] 3d10 4s2',
732        oxistates='2*',
733        ionenergy=(9.3942, 17.964, 39.722, 59.4, 82.6,
734                   108.0, 134.0, 174.0, 203.0, 238.0,
735                   274.0, 310.8, 419.7, 454.0, 490.0,
736                   542.0, 579.0, 619.0, 698.8, 738.0,
737                   1856.0, ),
738        isotopes={64: Isotope(63.9291466, 0.4863, 64),
739                  66: Isotope(65.9260368, 0.279, 66),
740                  67: Isotope(66.9271309, 0.041, 67),
741                  68: Isotope(67.9248476, 0.1875, 68),
742                  70: Isotope(69.925325, 0.0062, 70)}),
743    Element(
744        31, 'Ga', 'Gallium',
745        group=13, period=4, block='p', series=7,
746        mass=69.723, eleneg=1.81, eleaffin=0.41,
747        covrad=1.26, atmrad=1.81, vdwrad=1.87,
748        tboil=2478.0, tmelt=302.92, density=5.91,
749        eleconfig='[Ar] 3d10 4s2 4p',
750        oxistates='3*',
751        ionenergy=(5.9993, 20.51, 30.71, 64.0, ),
752        isotopes={69: Isotope(68.925581, 0.60108, 69),
753                  71: Isotope(70.924705, 0.39892, 71)}),
754    Element(
755        32, 'Ge', 'Germanium',
756        group=14, period=4, block='p', series=5,
757        mass=72.64, eleneg=2.01, eleaffin=1.232712,
758        covrad=1.22, atmrad=1.52, vdwrad=0.0,
759        tboil=3107.0, tmelt=1211.5, density=5.32,
760        eleconfig='[Ar] 3d10 4s2 4p2',
761        oxistates='4*',
762        ionenergy=(7.8994, 15.934, 34.22, 45.71, 93.5, ),
763        isotopes={70: Isotope(69.9242504, 0.2084, 70),
764                  72: Isotope(71.9220762, 0.2754, 72),
765                  73: Isotope(72.9234594, 0.0773, 73),
766                  74: Isotope(73.9211782, 0.3628, 74),
767                  76: Isotope(75.9214027, 0.0761, 76)}),
768    Element(
769        33, 'As', 'Arsenic',
770        group=15, period=4, block='p', series=5,
771        mass=74.9216, eleneg=2.18, eleaffin=0.814,
772        covrad=1.2, atmrad=1.33, vdwrad=1.85,
773        tboil=876.0, tmelt=1090.0, density=5.72,
774        eleconfig='[Ar] 3d10 4s2 4p3',
775        oxistates='5, 3*, -3',
776        ionenergy=(9.7886, 18.633, 28.351, 50.13, 62.63,
777                   127.6, ),
778        isotopes={75: Isotope(74.9215964, 1.0, 75)}),
779    Element(
780        34, 'Se', 'Selenium',
781        group=16, period=4, block='p', series=1,
782        mass=78.96, eleneg=2.55, eleaffin=2.02067,
783        covrad=1.16, atmrad=1.22, vdwrad=1.9,
784        tboil=958.0, tmelt=494.0, density=4.82,
785        eleconfig='[Ar] 3d10 4s2 4p4',
786        oxistates='6, 4*, -2',
787        ionenergy=(9.7524, 21.9, 30.82, 42.944, 68.3,
788                   81.7, 155.4, ),
789        isotopes={74: Isotope(73.9224766, 0.0089, 74),
790                  76: Isotope(75.9192141, 0.0937, 76),
791                  77: Isotope(76.9199146, 0.0763, 77),
792                  78: Isotope(77.9173095, 0.2377, 78),
793                  80: Isotope(79.9165218, 0.4961, 80),
794                  82: Isotope(81.9167, 0.0873, 82)}),
795    Element(
796        35, 'Br', 'Bromine',
797        group=17, period=4, block='p', series=6,
798        mass=79.904, eleneg=2.96, eleaffin=3.363588,
799        covrad=1.14, atmrad=1.12, vdwrad=1.85,
800        tboil=331.85, tmelt=265.95, density=3.14,
801        eleconfig='[Ar] 3d10 4s2 4p5',
802        oxistates='7, 5, 3, 1, -1*',
803        ionenergy=(11.8138, 21.8, 36.0, 47.3, 59.7,
804                   88.6, 103.0, 192.8, ),
805        isotopes={79: Isotope(78.9183376, 0.5069, 79),
806                  81: Isotope(80.916291, 0.4931, 81)}),
807    Element(
808        36, 'Kr', 'Krypton',
809        group=18, period=4, block='p', series=2,
810        mass=83.798, eleneg=0.0, eleaffin=0.0,
811        covrad=1.12, atmrad=1.03, vdwrad=2.02,
812        tboil=120.85, tmelt=116.0, density=4.48,
813        eleconfig='[Ar] 3d10 4s2 4p6',
814        oxistates='2*',
815        ionenergy=(13.9996, 24.359, 36.95, 52.5, 64.7,
816                   78.5, 110.0, 126.0, 230.39, ),
817        isotopes={78: Isotope(77.920386, 0.0035, 78),
818                  80: Isotope(79.916378, 0.0228, 80),
819                  82: Isotope(81.9134846, 0.1158, 82),
820                  83: Isotope(82.914136, 0.1149, 83),
821                  84: Isotope(83.911507, 0.57, 84),
822                  86: Isotope(85.9106103, 0.173, 86)}),
823    Element(
824        37, 'Rb', 'Rubidium',
825        group=1, period=5, block='s', series=3,
826        mass=85.4678, eleneg=0.82, eleaffin=0.485916,
827        covrad=2.16, atmrad=2.98, vdwrad=0.0,
828        tboil=961.0, tmelt=312.63, density=1.53,
829        eleconfig='[Kr] 5s',
830        oxistates='1*',
831        ionenergy=(4.1771, 27.28, 40.0, 52.6, 71.0,
832                   84.4, 99.2, 136.0, 150.0, 277.1, ),
833        isotopes={85: Isotope(84.9117893, 0.7217, 85),
834                  87: Isotope(86.9091835, 0.2783, 87)}),
835    Element(
836        38, 'Sr', 'Strontium',
837        group=2, period=5, block='s', series=4,
838        mass=87.62, eleneg=0.95, eleaffin=0.05206,
839        covrad=1.91, atmrad=2.45, vdwrad=0.0,
840        tboil=1655.0, tmelt=1042.0, density=2.63,
841        eleconfig='[Kr] 5s2',
842        oxistates='2*',
843        ionenergy=(5.6949, 11.03, 43.6, 57.0, 71.6,
844                   90.8, 106.0, 122.3, 162.0, 177.0,
845                   324.1, ),
846        isotopes={84: Isotope(83.913425, 0.0056, 84),
847                  86: Isotope(85.9092624, 0.0986, 86),
848                  87: Isotope(86.9088793, 0.07, 87),
849                  88: Isotope(87.9056143, 0.8258, 88)}),
850    Element(
851        39, 'Y', 'Yttrium',
852        group=3, period=5, block='d', series=8,
853        mass=88.90585, eleneg=1.22, eleaffin=0.307,
854        covrad=1.62, atmrad=2.27, vdwrad=0.0,
855        tboil=3611.0, tmelt=1795.0, density=4.47,
856        eleconfig='[Kr] 4d 5s2',
857        oxistates='3*',
858        ionenergy=(6.2173, 12.24, 20.52, 61.8, 77.0,
859                   93.0, 116.0, 129.0, 146.52, 191.0,
860                   206.0, 374.0, ),
861        isotopes={89: Isotope(88.9058479, 1.0, 89)}),
862    Element(
863        40, 'Zr', 'Zirconium',
864        group=4, period=5, block='d', series=8,
865        mass=91.224, eleneg=1.33, eleaffin=0.426,
866        covrad=1.45, atmrad=2.16, vdwrad=0.0,
867        tboil=4682.0, tmelt=2128.0, density=6.51,
868        eleconfig='[Kr] 4d2 5s2',
869        oxistates='4*',
870        ionenergy=(6.6339, 13.13, 22.99, 34.34, 81.5, ),
871        isotopes={90: Isotope(89.9047037, 0.5145, 90),
872                  91: Isotope(90.905645, 0.1122, 91),
873                  92: Isotope(91.9050401, 0.1715, 92),
874                  94: Isotope(93.9063158, 0.1738, 94),
875                  96: Isotope(95.908276, 0.028, 96)}),
876    Element(
877        41, 'Nb', 'Niobium',
878        group=5, period=5, block='d', series=8,
879        mass=92.90638, eleneg=1.6, eleaffin=0.893,
880        covrad=1.34, atmrad=2.08, vdwrad=0.0,
881        tboil=5015.0, tmelt=2742.0, density=8.58,
882        eleconfig='[Kr] 4d4 5s',
883        oxistates='5*, 3',
884        ionenergy=(6.7589, 14.32, 25.04, 38.3, 50.55,
885                   102.6, 125.0, ),
886        isotopes={93: Isotope(92.9063775, 1.0, 93)}),
887    Element(
888        42, 'Mo', 'Molybdenum',
889        group=6, period=5, block='d', series=8,
890        mass=95.94, eleneg=2.16, eleaffin=0.7472,
891        covrad=1.3, atmrad=2.01, vdwrad=0.0,
892        tboil=4912.0, tmelt=2896.0, density=10.28,
893        eleconfig='[Kr] 4d5 5s',
894        oxistates='6*, 5, 4, 3, 2, 0',
895        ionenergy=(7.0924, 16.15, 27.16, 46.4, 61.2,
896                   68.0, 126.8, 153.0, ),
897        isotopes={92: Isotope(91.90681, 0.1484, 92),
898                  94: Isotope(93.9050876, 0.0925, 94),
899                  95: Isotope(94.9058415, 0.1592, 95),
900                  96: Isotope(95.9046789, 0.1668, 96),
901                  97: Isotope(96.906021, 0.0955, 97),
902                  98: Isotope(97.9054078, 0.2413, 98),
903                  100: Isotope(99.907477, 0.0963, 100)}),
904    Element(
905        43, 'Tc', 'Technetium',
906        group=7, period=5, block='d', series=8,
907        mass=97.907216, eleneg=1.9, eleaffin=0.55,
908        covrad=1.27, atmrad=1.95, vdwrad=0.0,
909        tboil=4538.0, tmelt=2477.0, density=11.49,
910        eleconfig='[Kr] 4d5 5s2',
911        oxistates='7*',
912        ionenergy=(7.28, 15.26, 29.54, ),
913        isotopes={98: Isotope(97.907216, 1.0, 98)}),
914    Element(
915        44, 'Ru', 'Ruthenium',
916        group=8, period=5, block='d', series=8,
917        mass=101.07, eleneg=2.2, eleaffin=1.04638,
918        covrad=1.25, atmrad=1.89, vdwrad=0.0,
919        tboil=4425.0, tmelt=2610.0, density=12.45,
920        eleconfig='[Kr] 4d7 5s',
921        oxistates='8, 6, 4*, 3*, 2, 0, -2',
922        ionenergy=(7.3605, 16.76, 28.47, ),
923        isotopes={96: Isotope(95.907598, 0.0554, 96),
924                  98: Isotope(97.905287, 0.0187, 98),
925                  99: Isotope(98.9059393, 0.1276, 99),
926                  100: Isotope(99.9042197, 0.126, 100),
927                  101: Isotope(100.9055822, 0.1706, 101),
928                  102: Isotope(101.9043495, 0.3155, 102),
929                  104: Isotope(103.90543, 0.1862, 104)}),
930    Element(
931        45, 'Rh', 'Rhodium',
932        group=9, period=5, block='d', series=8,
933        mass=102.9055, eleneg=2.28, eleaffin=1.14289,
934        covrad=1.25, atmrad=1.83, vdwrad=0.0,
935        tboil=3970.0, tmelt=2236.0, density=12.41,
936        eleconfig='[Kr] 4d8 5s',
937        oxistates='5, 4, 3*, 1*, 2, 0',
938        ionenergy=(7.4589, 18.08, 31.06, ),
939        isotopes={103: Isotope(102.905504, 1.0, 103)}),
940    Element(
941        46, 'Pd', 'Palladium',
942        group=10, period=5, block='d', series=8,
943        mass=106.42, eleneg=2.2, eleaffin=0.56214,
944        covrad=1.28, atmrad=1.79, vdwrad=1.63,
945        tboil=3240.0, tmelt=1825.0, density=12.02,
946        eleconfig='[Kr] 4d10',
947        oxistates='4, 2*, 0',
948        ionenergy=(8.3369, 19.43, 32.93, ),
949        isotopes={102: Isotope(101.905608, 0.0102, 102),
950                  104: Isotope(103.904035, 0.1114, 104),
951                  105: Isotope(104.905084, 0.2233, 105),
952                  106: Isotope(105.903483, 0.2733, 106),
953                  108: Isotope(107.903894, 0.2646, 108),
954                  110: Isotope(109.905152, 0.1172, 110)}),
955    Element(
956        47, 'Ag', 'Silver',
957        group=11, period=5, block='d', series=8,
958        mass=107.8682, eleneg=1.93, eleaffin=1.30447,
959        covrad=1.34, atmrad=1.75, vdwrad=1.72,
960        tboil=2436.0, tmelt=1235.1, density=10.49,
961        eleconfig='[Kr] 4d10 5s',
962        oxistates='2, 1*',
963        ionenergy=(7.5762, 21.49, 34.83, ),
964        isotopes={107: Isotope(106.905093, 0.51839, 107),
965                  109: Isotope(108.904756, 0.48161, 109)}),
966    Element(
967        48, 'Cd', 'Cadmium',
968        group=12, period=5, block='d', series=8,
969        mass=112.411, eleneg=1.69, eleaffin=0.0,
970        covrad=1.48, atmrad=1.71, vdwrad=1.58,
971        tboil=1040.0, tmelt=594.26, density=8.64,
972        eleconfig='[Kr] 4d10 5s2',
973        oxistates='2*',
974        ionenergy=(8.9938, 16.908, 37.48, ),
975        isotopes={106: Isotope(105.906458, 0.0125, 106),
976                  108: Isotope(107.904183, 0.0089, 108),
977                  110: Isotope(109.903006, 0.1249, 110),
978                  111: Isotope(110.904182, 0.128, 111),
979                  112: Isotope(111.9027572, 0.2413, 112),
980                  113: Isotope(112.9044009, 0.1222, 113),
981                  114: Isotope(113.9033581, 0.2873, 114),
982                  116: Isotope(115.904755, 0.0749, 116)}),
983    Element(
984        49, 'In', 'Indium',
985        group=13, period=5, block='p', series=7,
986        mass=114.818, eleneg=1.78, eleaffin=0.404,
987        covrad=1.44, atmrad=2.0, vdwrad=1.93,
988        tboil=2350.0, tmelt=429.78, density=7.31,
989        eleconfig='[Kr] 4d10 5s2 5p',
990        oxistates='3*',
991        ionenergy=(5.7864, 18.869, 28.03, 28.03, ),
992        isotopes={113: Isotope(112.904061, 0.0429, 113),
993                  115: Isotope(114.903878, 0.9571, 115)}),
994    Element(
995        50, 'Sn', 'Tin',
996        group=14, period=5, block='p', series=7,
997        mass=118.71, eleneg=1.96, eleaffin=1.112066,
998        covrad=1.41, atmrad=1.72, vdwrad=2.17,
999        tboil=2876.0, tmelt=505.12, density=7.29,
1000        eleconfig='[Kr] 4d10 5s2 5p2',
1001        oxistates='4*, 2*',
1002        ionenergy=(7.3439, 14.632, 30.502, 40.734, 72.28, ),
1003        isotopes={112: Isotope(111.904821, 0.0097, 112),
1004                  114: Isotope(113.902782, 0.0066, 114),
1005                  115: Isotope(114.903346, 0.0034, 115),
1006                  116: Isotope(115.901744, 0.1454, 116),
1007                  117: Isotope(116.902954, 0.0768, 117),
1008                  118: Isotope(117.901606, 0.2422, 118),
1009                  119: Isotope(118.903309, 0.0859, 119),
1010                  120: Isotope(119.9021966, 0.3258, 120),
1011                  122: Isotope(121.9034401, 0.0463, 122),
1012                  124: Isotope(123.9052746, 0.0579, 124)}),
1013    Element(
1014        51, 'Sb', 'Antimony',
1015        group=15, period=5, block='p', series=5,
1016        mass=121.76, eleneg=2.05, eleaffin=1.047401,
1017        covrad=1.4, atmrad=1.53, vdwrad=0.0,
1018        tboil=1860.0, tmelt=903.91, density=6.69,
1019        eleconfig='[Kr] 4d10 5s2 5p3',
1020        oxistates='5, 3*, -3',
1021        ionenergy=(8.6084, 16.53, 25.3, 44.2, 56.0,
1022                   108.0, ),
1023        isotopes={121: Isotope(120.903818, 0.5721, 121),
1024                  123: Isotope(122.9042157, 0.4279, 123)}),
1025    Element(
1026        52, 'Te', 'Tellurium',
1027        group=16, period=5, block='p', series=5,
1028        mass=127.6, eleneg=2.1, eleaffin=1.970875,
1029        covrad=1.36, atmrad=1.42, vdwrad=2.06,
1030        tboil=1261.0, tmelt=722.72, density=6.25,
1031        eleconfig='[Kr] 4d10 5s2 5p4',
1032        oxistates='6, 4*, -2',
1033        ionenergy=(9.0096, 18.6, 27.96, 37.41, 58.75,
1034                   70.7, 137.0, ),
1035        isotopes={120: Isotope(119.90402, 0.0009, 120),
1036                  122: Isotope(121.9030471, 0.0255, 122),
1037                  123: Isotope(122.904273, 0.0089, 123),
1038                  124: Isotope(123.9028195, 0.0474, 124),
1039                  125: Isotope(124.9044247, 0.0707, 125),
1040                  126: Isotope(125.9033055, 0.1884, 126),
1041                  128: Isotope(127.9044614, 0.3174, 128),
1042                  130: Isotope(129.9062228, 0.3408, 130)}),
1043    Element(
1044        53, 'I', 'Iodine',
1045        group=17, period=5, block='p', series=6,
1046        mass=126.90447, eleneg=2.66, eleaffin=3.059038,
1047        covrad=1.33, atmrad=1.32, vdwrad=1.98,
1048        tboil=457.5, tmelt=386.7, density=4.94,
1049        eleconfig='[Kr] 4d10 5s2 5p5',
1050        oxistates='7, 5, 1, -1*',
1051        ionenergy=(10.4513, 19.131, 33.0, ),
1052        isotopes={127: Isotope(126.904468, 1.0, 127)}),
1053    Element(
1054        54, 'Xe', 'Xenon',
1055        group=18, period=5, block='p', series=2,
1056        mass=131.293, eleneg=0.0, eleaffin=0.0,
1057        covrad=1.31, atmrad=1.24, vdwrad=2.16,
1058        tboil=165.1, tmelt=161.39, density=4.49,
1059        eleconfig='[Kr] 4d10 5s2 5p6',
1060        oxistates='2, 4, 6',
1061        ionenergy=(12.1298, 21.21, 32.1, ),
1062        isotopes={124: Isotope(123.9058958, 0.0009, 124),
1063                  126: Isotope(125.904269, 0.0009, 126),
1064                  128: Isotope(127.9035304, 0.0192, 128),
1065                  129: Isotope(128.9047795, 0.2644, 129),
1066                  130: Isotope(129.9035079, 0.0408, 130),
1067                  131: Isotope(130.9050819, 0.2118, 131),
1068                  132: Isotope(131.9041545, 0.2689, 132),
1069                  134: Isotope(133.9053945, 0.1044, 134),
1070                  136: Isotope(135.90722, 0.0887, 136)}),
1071    Element(
1072        55, 'Cs', 'Caesium',
1073        group=1, period=6, block='s', series=3,
1074        mass=132.90545, eleneg=0.79, eleaffin=0.471626,
1075        covrad=2.35, atmrad=3.34, vdwrad=0.0,
1076        tboil=944.0, tmelt=301.54, density=1.9,
1077        eleconfig='[Xe] 6s',
1078        oxistates='1*',
1079        ionenergy=(3.8939, 25.1, ),
1080        isotopes={133: Isotope(132.905447, 1.0, 133)}),
1081    Element(
1082        56, 'Ba', 'Barium',
1083        group=2, period=6, block='s', series=4,
1084        mass=137.327, eleneg=0.89, eleaffin=0.14462,
1085        covrad=1.98, atmrad=2.78, vdwrad=0.0,
1086        tboil=2078.0, tmelt=1002.0, density=3.65,
1087        eleconfig='[Xe] 6s2',
1088        oxistates='2*',
1089        ionenergy=(5.2117, 100.004, ),
1090        isotopes={130: Isotope(129.90631, 0.00106, 130),
1091                  132: Isotope(131.905056, 0.00101, 132),
1092                  134: Isotope(133.904503, 0.02417, 134),
1093                  135: Isotope(134.905683, 0.06592, 135),
1094                  136: Isotope(135.90457, 0.07854, 136),
1095                  137: Isotope(136.905821, 0.11232, 137),
1096                  138: Isotope(137.905241, 0.71698, 138)}),
1097    Element(
1098        57, 'La', 'Lanthanum',
1099        group=3, period=6, block='f', series=9,
1100        mass=138.9055, eleneg=1.1, eleaffin=0.47,
1101        covrad=1.69, atmrad=2.74, vdwrad=0.0,
1102        tboil=3737.0, tmelt=1191.0, density=6.16,
1103        eleconfig='[Xe] 5d 6s2',
1104        oxistates='3*',
1105        ionenergy=(5.5769, 11.06, 19.175, ),
1106        isotopes={138: Isotope(137.907107, 0.0009, 138),
1107                  139: Isotope(138.906348, 0.9991, 139)}),
1108    Element(
1109        58, 'Ce', 'Cerium',
1110        group=3, period=6, block='f', series=9,
1111        mass=140.116, eleneg=1.12, eleaffin=0.5,
1112        covrad=1.65, atmrad=2.7, vdwrad=0.0,
1113        tboil=3715.0, tmelt=1071.0, density=6.77,
1114        eleconfig='[Xe] 4f 5d 6s2',
1115        oxistates='4, 3*',
1116        ionenergy=(5.5387, 10.85, 20.2, 36.72, ),
1117        isotopes={136: Isotope(135.90714, 0.00185, 136),
1118                  138: Isotope(137.905986, 0.00251, 138),
1119                  140: Isotope(139.905434, 0.8845, 140),
1120                  142: Isotope(141.90924, 0.11114, 142)}),
1121    Element(
1122        59, 'Pr', 'Praseodymium',
1123        group=3, period=6, block='f', series=9,
1124        mass=140.90765, eleneg=1.13, eleaffin=0.5,
1125        covrad=1.65, atmrad=2.67, vdwrad=0.0,
1126        tboil=3785.0, tmelt=1204.0, density=6.48,
1127        eleconfig='[Xe] 4f3 6s2',
1128        oxistates='4, 3*',
1129        ionenergy=(5.473, 10.55, 21.62, 38.95, 57.45, ),
1130        isotopes={141: Isotope(140.907648, 1.0, 141)}),
1131    Element(
1132        60, 'Nd', 'Neodymium',
1133        group=3, period=6, block='f', series=9,
1134        mass=144.24, eleneg=1.14, eleaffin=0.5,
1135        covrad=1.64, atmrad=2.64, vdwrad=0.0,
1136        tboil=3347.0, tmelt=1294.0, density=7.0,
1137        eleconfig='[Xe] 4f4 6s2',
1138        oxistates='3*',
1139        ionenergy=(5.525, 10.72, ),
1140        isotopes={142: Isotope(141.907719, 0.272, 142),
1141                  143: Isotope(142.90981, 0.122, 143),
1142                  144: Isotope(143.910083, 0.238, 144),
1143                  145: Isotope(144.912569, 0.083, 145),
1144                  146: Isotope(145.913112, 0.172, 146),
1145                  148: Isotope(147.916889, 0.057, 148),
1146                  150: Isotope(149.920887, 0.056, 150)}),
1147    Element(
1148        61, 'Pm', 'Promethium',
1149        group=3, period=6, block='f', series=9,
1150        mass=144.912744, eleneg=1.13, eleaffin=0.5,
1151        covrad=1.63, atmrad=2.62, vdwrad=0.0,
1152        tboil=3273.0, tmelt=1315.0, density=7.22,
1153        eleconfig='[Xe] 4f5 6s2',
1154        oxistates='3*',
1155        ionenergy=(5.582, 10.9, ),
1156        isotopes={145: Isotope(144.912744, 1.0, 145)}),
1157    Element(
1158        62, 'Sm', 'Samarium',
1159        group=3, period=6, block='f', series=9,
1160        mass=150.36, eleneg=1.17, eleaffin=0.5,
1161        covrad=1.62, atmrad=2.59, vdwrad=0.0,
1162        tboil=2067.0, tmelt=1347.0, density=7.54,
1163        eleconfig='[Xe] 4f6 6s2',
1164        oxistates='3*, 2',
1165        ionenergy=(5.6437, 11.07, ),
1166        isotopes={144: Isotope(143.911995, 0.0307, 144),
1167                  147: Isotope(146.914893, 0.1499, 147),
1168                  148: Isotope(147.914818, 0.1124, 148),
1169                  149: Isotope(148.91718, 0.1382, 149),
1170                  150: Isotope(149.917271, 0.0738, 150),
1171                  152: Isotope(151.919728, 0.2675, 152),
1172                  154: Isotope(153.922205, 0.2275, 154)}),
1173    Element(
1174        63, 'Eu', 'Europium',
1175        group=3, period=6, block='f', series=9,
1176        mass=151.964, eleneg=1.2, eleaffin=0.5,
1177        covrad=1.85, atmrad=2.56, vdwrad=0.0,
1178        tboil=1800.0, tmelt=1095.0, density=5.25,
1179        eleconfig='[Xe] 4f7 6s2',
1180        oxistates='3*, 2',
1181        ionenergy=(5.6704, 11.25, ),
1182        isotopes={151: Isotope(150.919846, 0.4781, 151),
1183                  153: Isotope(152.921226, 0.5219, 153)}),
1184    Element(
1185        64, 'Gd', 'Gadolinium',
1186        group=3, period=6, block='f', series=9,
1187        mass=157.25, eleneg=1.2, eleaffin=0.5,
1188        covrad=1.61, atmrad=2.54, vdwrad=0.0,
1189        tboil=3545.0, tmelt=1585.0, density=7.89,
1190        eleconfig='[Xe] 4f7 5d 6s2',
1191        oxistates='3*',
1192        ionenergy=(6.1498, 12.1, ),
1193        isotopes={152: Isotope(151.919788, 0.002, 152),
1194                  154: Isotope(153.920862, 0.0218, 154),
1195                  155: Isotope(154.922619, 0.148, 155),
1196                  156: Isotope(155.92212, 0.2047, 156),
1197                  157: Isotope(156.923957, 0.1565, 157),
1198                  158: Isotope(157.924101, 0.2484, 158),
1199                  160: Isotope(159.927051, 0.2186, 160)}),
1200    Element(
1201        65, 'Tb', 'Terbium',
1202        group=3, period=6, block='f', series=9,
1203        mass=158.92534, eleneg=1.2, eleaffin=0.5,
1204        covrad=1.59, atmrad=2.51, vdwrad=0.0,
1205        tboil=3500.0, tmelt=1629.0, density=8.25,
1206        eleconfig='[Xe] 4f9 6s2',
1207        oxistates='4, 3*',
1208        ionenergy=(5.8638, 11.52, ),
1209        isotopes={159: Isotope(158.925343, 1.0, 159)}),
1210    Element(
1211        66, 'Dy', 'Dysprosium',
1212        group=3, period=6, block='f', series=9,
1213        mass=162.5, eleneg=1.22, eleaffin=0.5,
1214        covrad=1.59, atmrad=2.49, vdwrad=0.0,
1215        tboil=2840.0, tmelt=1685.0, density=8.56,
1216        eleconfig='[Xe] 4f10 6s2',
1217        oxistates='3*',
1218        ionenergy=(5.9389, 11.67, ),
1219        isotopes={156: Isotope(155.924278, 0.0006, 156),
1220                  158: Isotope(157.924405, 0.001, 158),
1221                  160: Isotope(159.925194, 0.0234, 160),
1222                  161: Isotope(160.92693, 0.1891, 161),
1223                  162: Isotope(161.926795, 0.2551, 162),
1224                  163: Isotope(162.928728, 0.249, 163),
1225                  164: Isotope(163.929171, 0.2818, 164)}),
1226    Element(
1227        67, 'Ho', 'Holmium',
1228        group=3, period=6, block='f', series=9,
1229        mass=164.93032, eleneg=1.23, eleaffin=0.5,
1230        covrad=1.58, atmrad=2.47, vdwrad=0.0,
1231        tboil=2968.0, tmelt=1747.0, density=8.78,
1232        eleconfig='[Xe] 4f11 6s2',
1233        oxistates='3*',
1234        ionenergy=(6.0215, 11.8, ),
1235        isotopes={165: Isotope(164.930319, 1.0, 165)}),
1236    Element(
1237        68, 'Er', 'Erbium',
1238        group=3, period=6, block='f', series=9,
1239        mass=167.259, eleneg=1.24, eleaffin=0.5,
1240        covrad=1.57, atmrad=2.45, vdwrad=0.0,
1241        tboil=3140.0, tmelt=1802.0, density=9.05,
1242        eleconfig='[Xe] 4f12 6s2',
1243        oxistates='3*',
1244        ionenergy=(6.1077, 11.93, ),
1245        isotopes={162: Isotope(161.928775, 0.0014, 162),
1246                  164: Isotope(163.929197, 0.0161, 164),
1247                  166: Isotope(165.93029, 0.3361, 166),
1248                  167: Isotope(166.932045, 0.2293, 167),
1249                  168: Isotope(167.932368, 0.2678, 168),
1250                  170: Isotope(169.93546, 0.1493, 170)}),
1251    Element(
1252        69, 'Tm', 'Thulium',
1253        group=3, period=6, block='f', series=9,
1254        mass=168.93421, eleneg=1.25, eleaffin=0.5,
1255        covrad=1.56, atmrad=2.42, vdwrad=0.0,
1256        tboil=2223.0, tmelt=1818.0, density=9.32,
1257        eleconfig='[Xe] 4f13 6s2',
1258        oxistates='3*, 2',
1259        ionenergy=(6.1843, 12.05, 23.71, ),
1260        isotopes={169: Isotope(168.934211, 1.0, 169)}),
1261    Element(
1262        70, 'Yb', 'Ytterbium',
1263        group=3, period=6, block='f', series=9,
1264        mass=173.04, eleneg=1.1, eleaffin=0.5,
1265        covrad=1.74, atmrad=2.4, vdwrad=0.0,
1266        tboil=1469.0, tmelt=1092.0, density=9.32,
1267        eleconfig='[Xe] 4f14 6s2',
1268        oxistates='3*, 2',
1269        ionenergy=(6.2542, 12.17, 25.2, ),
1270        isotopes={168: Isotope(167.933894, 0.0013, 168),
1271                  170: Isotope(169.934759, 0.0304, 170),
1272                  171: Isotope(170.936322, 0.1428, 171),
1273                  172: Isotope(171.9363777, 0.2183, 172),
1274                  173: Isotope(172.9382068, 0.1613, 173),
1275                  174: Isotope(173.9388581, 0.3183, 174),
1276                  176: Isotope(175.942568, 0.1276, 176)}),
1277    Element(
1278        71, 'Lu', 'Lutetium',
1279        group=3, period=6, block='d', series=9,
1280        mass=174.967, eleneg=1.27, eleaffin=0.5,
1281        covrad=1.56, atmrad=2.25, vdwrad=0.0,
1282        tboil=3668.0, tmelt=1936.0, density=9.84,
1283        eleconfig='[Xe] 4f14 5d 6s2',
1284        oxistates='3*',
1285        ionenergy=(5.4259, 13.9, ),
1286        isotopes={175: Isotope(174.9407679, 0.9741, 175),
1287                  176: Isotope(175.9426824, 0.0259, 176)}),
1288    Element(
1289        72, 'Hf', 'Hafnium',
1290        group=4, period=6, block='d', series=8,
1291        mass=178.49, eleneg=1.3, eleaffin=0.0,
1292        covrad=1.44, atmrad=2.16, vdwrad=0.0,
1293        tboil=4875.0, tmelt=2504.0, density=13.31,
1294        eleconfig='[Xe] 4f14 5d2 6s2',
1295        oxistates='4*',
1296        ionenergy=(6.8251, 14.9, 23.3, 33.3, ),
1297        isotopes={174: Isotope(173.94004, 0.0016, 174),
1298                  176: Isotope(175.9414018, 0.0526, 176),
1299                  177: Isotope(176.94322, 0.186, 177),
1300                  178: Isotope(177.9436977, 0.2728, 178),
1301                  179: Isotope(178.9458151, 0.1362, 179),
1302                  180: Isotope(179.9465488, 0.3508, 180)}),
1303    Element(
1304        73, 'Ta', 'Tantalum',
1305        group=5, period=6, block='d', series=8,
1306        mass=180.9479, eleneg=1.5, eleaffin=0.322,
1307        covrad=1.34, atmrad=2.09, vdwrad=0.0,
1308        tboil=5730.0, tmelt=3293.0, density=16.68,
1309        eleconfig='[Xe] 4f14 5d3 6s2',
1310        oxistates='5*',
1311        ionenergy=(7.5496, ),
1312        isotopes={180: Isotope(179.947466, 0.00012, 180),
1313                  181: Isotope(180.947996, 0.99988, 181)}),
1314    Element(
1315        74, 'W', 'Tungsten',
1316        group=6, period=6, block='d', series=8,
1317        mass=183.84, eleneg=2.36, eleaffin=0.815,
1318        covrad=1.3, atmrad=2.02, vdwrad=0.0,
1319        tboil=5825.0, tmelt=3695.0, density=19.26,
1320        eleconfig='[Xe] 4f14 5d4 6s2',
1321        oxistates='6*, 5, 4, 3, 2, 0',
1322        ionenergy=(7.864, ),
1323        isotopes={180: Isotope(179.946706, 0.0012, 180),
1324                  182: Isotope(181.948206, 0.265, 182),
1325                  183: Isotope(182.9502245, 0.1431, 183),
1326                  184: Isotope(183.9509326, 0.3064, 184),
1327                  186: Isotope(185.954362, 0.2843, 186)}),
1328    Element(
1329        75, 'Re', 'Rhenium',
1330        group=7, period=6, block='d', series=8,
1331        mass=186.207, eleneg=1.9, eleaffin=0.15,
1332        covrad=1.28, atmrad=1.97, vdwrad=0.0,
1333        tboil=5870.0, tmelt=3455.0, density=21.03,
1334        eleconfig='[Xe] 4f14 5d5 6s2',
1335        oxistates='7, 6, 4, 2, -1',
1336        ionenergy=(7.8335, ),
1337        isotopes={185: Isotope(184.9529557, 0.374, 185),
1338                  187: Isotope(186.9557508, 0.626, 187)}),
1339    Element(
1340        76, 'Os', 'Osmium',
1341        group=8, period=6, block='d', series=8,
1342        mass=190.23, eleneg=2.2, eleaffin=1.0778,
1343        covrad=1.26, atmrad=1.92, vdwrad=0.0,
1344        tboil=5300.0, tmelt=3300.0, density=22.61,
1345        eleconfig='[Xe] 4f14 5d6 6s2',
1346        oxistates='8, 6, 4*, 3, 2, 0, -2',
1347        ionenergy=(8.4382, ),
1348        isotopes={184: Isotope(183.952491, 0.0002, 184),
1349                  186: Isotope(185.953838, 0.0159, 186),
1350                  187: Isotope(186.9557479, 0.0196, 187),
1351                  188: Isotope(187.955836, 0.1324, 188),
1352                  189: Isotope(188.9581449, 0.1615, 189),
1353                  190: Isotope(189.958445, 0.2626, 190),
1354                  192: Isotope(191.961479, 0.4078, 192)}),
1355    Element(
1356        77, 'Ir', 'Iridium',
1357        group=9, period=6, block='d', series=8,
1358        mass=192.217, eleneg=2.2, eleaffin=1.56436,
1359        covrad=1.27, atmrad=1.87, vdwrad=0.0,
1360        tboil=4700.0, tmelt=2720.0, density=22.65,
1361        eleconfig='[Xe] 4f14 5d7 6s2',
1362        oxistates='6, 4*, 3, 2, 1*, 0, -1',
1363        ionenergy=(8.967, ),
1364        isotopes={191: Isotope(190.960591, 0.373, 191),
1365                  193: Isotope(192.962924, 0.627, 193)}),
1366    Element(
1367        78, 'Pt', 'Platinum',
1368        group=10, period=6, block='d', series=8,
1369        mass=195.078, eleneg=2.28, eleaffin=2.1251,
1370        covrad=1.3, atmrad=1.83, vdwrad=1.75,
1371        tboil=4100.0, tmelt=2042.1, density=21.45,
1372        eleconfig='[Xe] 4f14 5d9 6s',
1373        oxistates='4*, 2*, 0',
1374        ionenergy=(8.9588, 18.563, ),
1375        isotopes={190: Isotope(189.95993, 0.00014, 190),
1376                  192: Isotope(191.961035, 0.00782, 192),
1377                  194: Isotope(193.962664, 0.32967, 194),
1378                  195: Isotope(194.964774, 0.33832, 195),
1379                  196: Isotope(195.964935, 0.25242, 196),
1380                  198: Isotope(197.967876, 0.07163, 198)}),
1381    Element(
1382        79, 'Au', 'Gold',
1383        group=11, period=6, block='d', series=8,
1384        mass=196.96655, eleneg=2.54, eleaffin=2.30861,
1385        covrad=1.34, atmrad=1.79, vdwrad=1.66,
1386        tboil=3130.0, tmelt=1337.58, density=19.32,
1387        eleconfig='[Xe] 4f14 5d10 6s',
1388        oxistates='3*, 1',
1389        ionenergy=(9.2255, 20.5, ),
1390        isotopes={197: Isotope(196.966552, 1.0, 197)}),
1391    Element(
1392        80, 'Hg', 'Mercury',
1393        group=12, period=6, block='d', series=8,
1394        mass=200.59, eleneg=2.0, eleaffin=0.0,
1395        covrad=1.49, atmrad=1.76, vdwrad=0.0,
1396        tboil=629.88, tmelt=234.31, density=13.55,
1397        eleconfig='[Xe] 4f14 5d10 6s2',
1398        oxistates='2*, 1',
1399        ionenergy=(10.4375, 18.756, 34.2, ),
1400        isotopes={196: Isotope(195.965815, 0.0015, 196),
1401                  198: Isotope(197.966752, 0.0997, 198),
1402                  199: Isotope(198.968262, 0.1687, 199),
1403                  200: Isotope(199.968309, 0.231, 200),
1404                  201: Isotope(200.970285, 0.1318, 201),
1405                  202: Isotope(201.970626, 0.2986, 202),
1406                  204: Isotope(203.973476, 0.0687, 204)}),
1407    Element(
1408        81, 'Tl', 'Thallium',
1409        group=13, period=6, block='p', series=7,
1410        mass=204.3833, eleneg=2.04, eleaffin=0.377,
1411        covrad=1.48, atmrad=2.08, vdwrad=1.96,
1412        tboil=1746.0, tmelt=577.0, density=11.85,
1413        eleconfig='[Xe] 4f14 5d10 6s2 6p',
1414        oxistates='3, 1*',
1415        ionenergy=(6.1082, 20.428, 29.83, ),
1416        isotopes={203: Isotope(202.972329, 0.29524, 203),
1417                  205: Isotope(204.974412, 0.70476, 205)}),
1418    Element(
1419        82, 'Pb', 'Lead',
1420        group=14, period=6, block='p', series=7,
1421        mass=207.2, eleneg=2.33, eleaffin=0.364,
1422        covrad=1.47, atmrad=1.81, vdwrad=2.02,
1423        tboil=2023.0, tmelt=600.65, density=11.34,
1424        eleconfig='[Xe] 4f14 5d10 6s2 6p2',
1425        oxistates='4, 2*',
1426        ionenergy=(7.4167, 15.032, 31.937, 42.32, 68.8, ),
1427        isotopes={204: Isotope(203.973029, 0.014, 204),
1428                  206: Isotope(205.974449, 0.241, 206),
1429                  207: Isotope(206.975881, 0.221, 207),
1430                  208: Isotope(207.976636, 0.524, 208)}),
1431    Element(
1432        83, 'Bi', 'Bismuth',
1433        group=15, period=6, block='p', series=7,
1434        mass=208.98038, eleneg=2.02, eleaffin=0.942363,
1435        covrad=1.46, atmrad=1.63, vdwrad=0.0,
1436        tboil=1837.0, tmelt=544.59, density=9.8,
1437        eleconfig='[Xe] 4f14 5d10 6s2 6p3',
1438        oxistates='5, 3*',
1439        ionenergy=(7.2855, 16.69, 25.56, 45.3, 56.0,
1440                   88.3, ),
1441        isotopes={209: Isotope(208.980383, 1.0, 209)}),
1442    Element(
1443        84, 'Po', 'Polonium',
1444        group=16, period=6, block='p', series=5,
1445        mass=208.982416, eleneg=2.0, eleaffin=1.9,
1446        covrad=1.46, atmrad=1.53, vdwrad=0.0,
1447        tboil=0.0, tmelt=527.0, density=9.2,
1448        eleconfig='[Xe] 4f14 5d10 6s2 6p4',
1449        oxistates='6, 4*, 2',
1450        ionenergy=(8.414, ),
1451        isotopes={209: Isotope(208.982416, 1.0, 209)}),
1452    Element(
1453        85, 'At', 'Astatine',
1454        group=17, period=6, block='p', series=6,
1455        mass=209.9871, eleneg=2.2, eleaffin=2.8,
1456        covrad=1.45, atmrad=1.43, vdwrad=0.0,
1457        tboil=610.0, tmelt=575.0, density=0.0,
1458        eleconfig='[Xe] 4f14 5d10 6s2 6p5',
1459        oxistates='7, 5, 3, 1, -1*',
1460        ionenergy=(),
1461        isotopes={210: Isotope(209.987131, 1.0, 210)}),
1462    Element(
1463        86, 'Rn', 'Radon',
1464        group=18, period=6, block='p', series=2,
1465        mass=222.0176, eleneg=0.0, eleaffin=0.0,
1466        covrad=0.0, atmrad=1.34, vdwrad=0.0,
1467        tboil=211.4, tmelt=202.0, density=9.23,
1468        eleconfig='[Xe] 4f14 5d10 6s2 6p6',
1469        oxistates='2*',
1470        ionenergy=(10.7485, ),
1471        isotopes={222: Isotope(222.0175705, 1.0, 222)}),
1472    Element(
1473        87, 'Fr', 'Francium',
1474        group=1, period=7, block='s', series=3,
1475        mass=223.0197307, eleneg=0.7, eleaffin=0.0,
1476        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1477        tboil=950.0, tmelt=300.0, density=0.0,
1478        eleconfig='[Rn] 7s',
1479        oxistates='1*',
1480        ionenergy=(4.0727, ),
1481        isotopes={223: Isotope(223.0197307, 1.0, 223)}),
1482    Element(
1483        88, 'Ra', 'Radium',
1484        group=2, period=7, block='s', series=4,
1485        mass=226.025403, eleneg=0.9, eleaffin=0.0,
1486        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1487        tboil=1413.0, tmelt=973.0, density=5.5,
1488        eleconfig='[Rn] 7s2',
1489        oxistates='2*',
1490        ionenergy=(5.2784, 10.147, ),
1491        isotopes={226: Isotope(226.0254026, 1.0, 226)}),
1492    Element(
1493        89, 'Ac', 'Actinium',
1494        group=3, period=7, block='f', series=10,
1495        mass=227.027747, eleneg=1.1, eleaffin=0.0,
1496        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1497        tboil=3470.0, tmelt=1324.0, density=10.07,
1498        eleconfig='[Rn] 6d 7s2',
1499        oxistates='3*',
1500        ionenergy=(5.17, 12.1, ),
1501        isotopes={227: Isotope(227.027747, 1.0, 227)}),
1502    Element(
1503        90, 'Th', 'Thorium',
1504        group=3, period=7, block='f', series=10,
1505        mass=232.0381, eleneg=1.3, eleaffin=0.0,
1506        covrad=1.65, atmrad=0.0, vdwrad=0.0,
1507        tboil=5060.0, tmelt=2028.0, density=11.72,
1508        eleconfig='[Rn] 6d2 7s2',
1509        oxistates='4*',
1510        ionenergy=(6.3067, 11.5, 20.0, 28.8, ),
1511        isotopes={232: Isotope(232.0380504, 1.0, 232)}),
1512    Element(
1513        91, 'Pa', 'Protactinium',
1514        group=3, period=7, block='f', series=10,
1515        mass=231.03588, eleneg=1.5, eleaffin=0.0,
1516        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1517        tboil=4300.0, tmelt=1845.0, density=15.37,
1518        eleconfig='[Rn] 5f2 6d 7s2',
1519        oxistates='5*, 4',
1520        ionenergy=(5.89, ),
1521        isotopes={231: Isotope(231.0358789, 1.0, 231)}),
1522    Element(
1523        92, 'U', 'Uranium',
1524        group=3, period=7, block='f', series=10,
1525        mass=238.02891, eleneg=1.38, eleaffin=0.0,
1526        covrad=1.42, atmrad=0.0, vdwrad=1.86,
1527        tboil=4407.0, tmelt=1408.0, density=18.97,
1528        eleconfig='[Rn] 5f3 6d 7s2',
1529        oxistates='6*, 5, 4, 3',
1530        ionenergy=(6.1941, ),
1531        isotopes={234: Isotope(234.0409456, 5.5e-05, 234),
1532                  235: Isotope(235.0439231, 0.0072, 235),
1533                  238: Isotope(238.0507826, 0.992745, 238)}),
1534    Element(
1535        93, 'Np', 'Neptunium',
1536        group=3, period=7, block='f', series=10,
1537        mass=237.048167, eleneg=1.36, eleaffin=0.0,
1538        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1539        tboil=4175.0, tmelt=912.0, density=20.48,
1540        eleconfig='[Rn] 5f4 6d 7s2',
1541        oxistates='6, 5*, 4, 3',
1542        ionenergy=(6.2657, ),
1543        isotopes={237: Isotope(237.0481673, 1.0, 237)}),
1544    Element(
1545        94, 'Pu', 'Plutonium',
1546        group=3, period=7, block='f', series=10,
1547        mass=244.064198, eleneg=1.28, eleaffin=0.0,
1548        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1549        tboil=3505.0, tmelt=913.0, density=19.74,
1550        eleconfig='[Rn] 5f6 7s2',
1551        oxistates='6, 5, 4*, 3',
1552        ionenergy=(6.026, ),
1553        isotopes={244: Isotope(244.064198, 1.0, 244)}),
1554    Element(
1555        95, 'Am', 'Americium',
1556        group=3, period=7, block='f', series=10,
1557        mass=243.061373, eleneg=1.3, eleaffin=0.0,
1558        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1559        tboil=2880.0, tmelt=1449.0, density=13.67,
1560        eleconfig='[Rn] 5f7 7s2',
1561        oxistates='6, 5, 4, 3*',
1562        ionenergy=(5.9738, ),
1563        isotopes={243: Isotope(243.0613727, 1.0, 243)}),
1564    Element(
1565        96, 'Cm', 'Curium',
1566        group=3, period=7, block='f', series=10,
1567        mass=247.070347, eleneg=1.3, eleaffin=0.0,
1568        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1569        tboil=0.0, tmelt=1620.0, density=13.51,
1570        eleconfig='[Rn] 5f7 6d 7s2',
1571        oxistates='4, 3*',
1572        ionenergy=(5.9914, ),
1573        isotopes={247: Isotope(247.070347, 1.0, 247)}),
1574    Element(
1575        97, 'Bk', 'Berkelium',
1576        group=3, period=7, block='f', series=10,
1577        mass=247.070299, eleneg=1.3, eleaffin=0.0,
1578        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1579        tboil=0.0, tmelt=1258.0, density=13.25,
1580        eleconfig='[Rn] 5f9 7s2',
1581        oxistates='4, 3*',
1582        ionenergy=(6.1979, ),
1583        isotopes={247: Isotope(247.070299, 1.0, 247)}),
1584    Element(
1585        98, 'Cf', 'Californium',
1586        group=3, period=7, block='f', series=10,
1587        mass=251.07958, eleneg=1.3, eleaffin=0.0,
1588        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1589        tboil=0.0, tmelt=1172.0, density=15.1,
1590        eleconfig='[Rn] 5f10 7s2',
1591        oxistates='4, 3*',
1592        ionenergy=(6.2817, ),
1593        isotopes={251: Isotope(251.07958, 1.0, 251)}),
1594    Element(
1595        99, 'Es', 'Einsteinium',
1596        group=3, period=7, block='f', series=10,
1597        mass=252.08297, eleneg=1.3, eleaffin=0.0,
1598        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1599        tboil=0.0, tmelt=1130.0, density=0.0,
1600        eleconfig='[Rn] 5f11 7s2',
1601        oxistates='3*',
1602        ionenergy=(6.42, ),
1603        isotopes={252: Isotope(252.08297, 1.0, 252)}),
1604    Element(
1605        100, 'Fm', 'Fermium',
1606        group=3, period=7, block='f', series=10,
1607        mass=257.095099, eleneg=1.3, eleaffin=0.0,
1608        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1609        tboil=0.0, tmelt=1800.0, density=0.0,
1610        eleconfig='[Rn] 5f12 7s2',
1611        oxistates='3*',
1612        ionenergy=(6.5, ),
1613        isotopes={257: Isotope(257.095099, 1.0, 257)}),
1614    Element(
1615        101, 'Md', 'Mendelevium',
1616        group=3, period=7, block='f', series=10,
1617        mass=258.098425, eleneg=1.3, eleaffin=0.0,
1618        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1619        tboil=0.0, tmelt=1100.0, density=0.0,
1620        eleconfig='[Rn] 5f13 7s2',
1621        oxistates='3*',
1622        ionenergy=(6.58, ),
1623        isotopes={258: Isotope(258.098425, 1.0, 258)}),
1624    Element(
1625        102, 'No', 'Nobelium',
1626        group=3, period=7, block='f', series=10,
1627        mass=259.10102, eleneg=1.3, eleaffin=0.0,
1628        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1629        tboil=0.0, tmelt=1100.0, density=0.0,
1630        eleconfig='[Rn] 5f14 7s2',
1631        oxistates='3, 2*',
1632        ionenergy=(6.65, ),
1633        isotopes={259: Isotope(259.10102, 1.0, 259)}),
1634    Element(
1635        103, 'Lr', 'Lawrencium',
1636        group=3, period=7, block='d', series=10,
1637        mass=262.10969, eleneg=1.3, eleaffin=0.0,
1638        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1639        tboil=0.0, tmelt=1900.0, density=0.0,
1640        eleconfig='[Rn] 5f14 6d 7s2',
1641        oxistates='3*',
1642        ionenergy=(4.9, ),
1643        isotopes={262: Isotope(262.10969, 1.0, 262)}),
1644    Element(
1645        104, 'Rf', 'Rutherfordium',
1646        group=4, period=7, block='d', series=8,
1647        mass=261.10875, eleneg=0.0, eleaffin=0.0,
1648        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1649        tboil=0.0, tmelt=0.0, density=0.0,
1650        eleconfig='[Rn] 5f14 6d2 7s2',
1651        oxistates='*',
1652        ionenergy=(6.0, ),
1653        isotopes={261: Isotope(261.10875, 1.0, 261)}),
1654    Element(
1655        105, 'Db', 'Dubnium',
1656        group=5, period=7, block='d', series=8,
1657        mass=262.11415, eleneg=0.0, eleaffin=0.0,
1658        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1659        tboil=0.0, tmelt=0.0, density=0.0,
1660        eleconfig='[Rn] 5f14 6d3 7s2',
1661        oxistates='*',
1662        ionenergy=(),
1663        isotopes={262: Isotope(262.11415, 1.0, 262)}),
1664    Element(
1665        106, 'Sg', 'Seaborgium',
1666        group=6, period=7, block='d', series=8,
1667        mass=266.12193, eleneg=0.0, eleaffin=0.0,
1668        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1669        tboil=0.0, tmelt=0.0, density=0.0,
1670        eleconfig='[Rn] 5f14 6d4 7s2',
1671        oxistates='*',
1672        ionenergy=(),
1673        isotopes={266: Isotope(266.12193, 1.0, 266)}),
1674    Element(
1675        107, 'Bh', 'Bohrium',
1676        group=7, period=7, block='d', series=8,
1677        mass=264.12473, eleneg=0.0, eleaffin=0.0,
1678        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1679        tboil=0.0, tmelt=0.0, density=0.0,
1680        eleconfig='[Rn] 5f14 6d5 7s2',
1681        oxistates='*',
1682        ionenergy=(),
1683        isotopes={264: Isotope(264.12473, 1.0, 264)}),
1684    Element(
1685        108, 'Hs', 'Hassium',
1686        group=8, period=7, block='d', series=8,
1687        mass=269.13411, eleneg=0.0, eleaffin=0.0,
1688        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1689        tboil=0.0, tmelt=0.0, density=0.0,
1690        eleconfig='[Rn] 5f14 6d6 7s2',
1691        oxistates='*',
1692        ionenergy=(),
1693        isotopes={269: Isotope(269.13411, 1.0, 269)}),
1694    Element(
1695        109, 'Mt', 'Meitnerium',
1696        group=9, period=7, block='d', series=8,
1697        mass=268.13882, eleneg=0.0, eleaffin=0.0,
1698        covrad=0.0, atmrad=0.0, vdwrad=0.0,
1699        tboil=0.0, tmelt=0.0, density=0.0,
1700        eleconfig='[Rn] 5f14 6d7 7s2',
1701        oxistates='*',
1702        ionenergy=(),
1703        isotopes={268: Isotope(268.13882, 1.0, 268)}))
1704
1705
1706PERIODS = {1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'P', 7: 'Q'}
1707
1708BLOCKS = {'s': '', 'g': '', 'f': '', 'd': '', 'p': ''}
1709
1710GROUPS = {
1711    1: ('IA', 'Alkali metals'),
1712    2: ('IIA', 'Alkaline earths'),
1713    3: ('IIIB', ''),
1714    4: ('IVB', ''),
1715    5: ('VB', ''),
1716    6: ('VIB', ''),
1717    7: ('VIIB', ''),
1718    8: ('VIIIB', ''),
1719    9: ('VIIIB', ''),
1720    10: ('VIIIB', ''),
1721    11: ('IB', 'Coinage metals'),
1722    12: ('IIB', ''),
1723    13: ('IIIA', 'Boron group'),
1724    14: ('IVA', 'Carbon group'),
1725    15: ('VA', 'Pnictogens'),
1726    16: ('VIA', 'Chalcogens'),
1727    17: ('VIIA', 'Halogens'),
1728    18: ('VIIIA', 'Noble gases')}
1729
1730SERIES = {
1731    1: 'Nonmetals',
1732    2: 'Noble gases',
1733    3: 'Alkali metals',
1734    4: 'Alkaline earth metals',
1735    5: 'Metalloids',
1736    6: 'Halogens',
1737    7: 'Poor metals',
1738    8: 'Transition metals',
1739    9: 'Lanthanides',
1740    10: 'Actinides'}
1741
1742
1743def _descriptions(symbol):
1744    """Delay load descriptions."""
1745    e = ELEMENTS
1746    e['H'].description = (
1747        "Colourless, odourless gaseous chemical element. Lightest and "
1748        "most abundant element in the universe. Present in water and in "
1749        "all organic compounds. Chemically reacts with most elements. "
1750        "Discovered by Henry Cavendish in 1776.")
1751    e['He'].description = (
1752        "Colourless, odourless gaseous nonmetallic element. Belongs to "
1753        "group 18 of the periodic table. Lowest boiling point of all "
1754        "elements and can only be solidified under pressure. Chemically "
1755        "inert, no known compounds. Discovered in the solar spectrum in "
1756        "1868 by Lockyer.")
1757    e['Li'].description = (
1758        "Socket silvery metal. First member of group 1 of the periodic "
1759        "table. Lithium salts are used in psychomedicine.")
1760    e['Be'].description = (
1761        "Grey metallic element of group 2 of the periodic table. Is toxic "
1762        "and can cause severe lung diseases and dermatitis. Shows high "
1763        "covalent character. It was isolated independently by F. Wohler "
1764        "and A.A. Bussy in 1828.")
1765    e['B'].description = (
1766        "An element of group 13 of the periodic table. There are two "
1767        "allotropes, amorphous boron is a brown power, but metallic boron "
1768        "is black. The metallic form is hard (9.3 on Mohs' scale) and a "
1769        "bad conductor in room temperatures. It is never found free in "
1770        "nature. Boron-10 is used in nuclear reactor control rods and "
1771        "shields. It was discovered in 1808 by Sir Humphry Davy and by "
1772        "J.L. Gay-Lussac and L.J. Thenard.")
1773    e['C'].description = (
1774        "Carbon is a member of group 14 of the periodic table. It has "
1775        "three allotropic forms of it, diamonds, graphite and fullerite. "
1776        "Carbon-14 is commonly used in radioactive dating. Carbon occurs "
1777        "in all organic life and is the basis of organic chemistry. Carbon "
1778        "has the interesting chemical property of being able to bond with "
1779        "itself, and a wide variety of other elements.")
1780    e['N'].description = (
1781        "Colourless, gaseous element which belongs to group 15 of the "
1782        "periodic table. Constitutes ~78% of the atmosphere and is an "
1783        "essential part of the ecosystem. Nitrogen for industrial purposes "
1784        "is acquired by the fractional distillation of liquid air. "
1785        "Chemically inactive, reactive generally only at high temperatures "
1786        "or in electrical discharges. It was discovered in 1772 by D. "
1787        "Rutherford.")
1788    e['O'].description = (
1789        "A colourless, odourless gaseous element belonging to group 16 of "
1790        "the periodic table. It is the most abundant element present in "
1791        "the earth's crust. It also makes up 20.8% of the Earth's "
1792        "atmosphere. For industrial purposes, it is separated from liquid "
1793        "air by fractional distillation. It is used in high temperature "
1794        "welding, and in breathing. It commonly comes in the form of "
1795        "Oxygen, but is found as Ozone in the upper atmosphere. It was "
1796        "discovered by Priestley in 1774.")
1797    e['F'].description = (
1798        "A poisonous pale yellow gaseous element belonging to group 17 of "
1799        "the periodic table (The halogens). It is the most chemically "
1800        "reactive and electronegative element. It is highly dangerous, "
1801        "causing severe chemical burns on contact with flesh. Fluorine was "
1802        "identified by Scheele in 1771 and first isolated by Moissan in "
1803        "1886.")
1804    e['Ne'].description = (
1805        "Colourless gaseous element of group 18 on the periodic table "
1806        "(noble gases). Neon occurs in the atmosphere, and comprises "
1807        "0.0018% of the volume of the atmosphere. It has a distinct "
1808        "reddish glow when used in discharge tubes and neon based lamps. "
1809        "It forms almost no chemical compounds. Neon was discovered in "
1810        "1898 by Sir William Ramsey and M.W. Travers.")
1811    e['Na'].description = (
1812        "Soft silvery reactive element belonging to group 1 of the "
1813        "periodic table (alkali metals). It is highly reactive, oxidizing "
1814        "in air and reacting violently with water, forcing it to be kept "
1815        "under oil. It was first isolated by Humphrey Davy in 1807.")
1816    e['Mg'].description = (
1817        "Silvery metallic element belonging to group 2 of the periodic "
1818        "table (alkaline-earth metals). It is essential for living "
1819        "organisms, and is used in a number of light alloys. Chemically "
1820        "very reactive, it forms a protective oxide coating when exposed "
1821        "to air and burns with an intense white flame. It also reacts with "
1822        "sulphur, nitrogen and the halogens. First isolated by Bussy in "
1823        "1828.")
1824    e['Al'].description = (
1825        "Silvery-white lustrous metallic element of group 3 of the "
1826        "periodic table. Highly reactive but protected by a thin "
1827        "transparent layer of the oxide which quickly forms in air. There "
1828        "are many alloys of aluminum, as well as a good number of "
1829        "industrial uses. Makes up 8.1% of the Earth's crust, by weight. "
1830        "Isolated in 1825 by H.C. Oersted.")
1831    e['Si'].description = (
1832        "Metalloid element belonging to group 14 of the periodic table. "
1833        "It is the second most abundant element in the Earth's crust, "
1834        "making up 25.7% of it by weight. Chemically less reactive than "
1835        "carbon. First identified by Lavoisier in 1787 and first isolated "
1836        "in 1823 by Berzelius.")
1837    e['P'].description = (
1838        "Non-metallic element belonging to group 15 of the periodic "
1839        "table. Has a multiple allotropic forms. Essential element for "
1840        "living organisms. It was discovered by Brandt in 1669.")
1841    e['S'].description = (
1842        "Yellow, nonmetallic element belonging to group 16 of the "
1843        "periodic table. It is an essential element in living organisms, "
1844        "needed in the amino acids cysteine and methionine, and hence in "
1845        "many proteins. Absorbed by plants from the soil as sulphate ion.")
1846    e['Cl'].description = (
1847        "Halogen element. Poisonous greenish-yellow gas. Occurs widely in "
1848        "nature as sodium chloride in seawater. Reacts directly with many "
1849        "elements and compounds, strong oxidizing agent. Discovered by "
1850        "Karl Scheele in 1774. Humphrey David confirmed it as an element "
1851        "in 1810.")
1852    e['Ar'].description = (
1853        "Monatomic noble gas. Makes up 0.93% of the air. Colourless, "
1854        "odorless. Is inert and has no true compounds. Lord Rayleigh and "
1855        "Sir william Ramsey identified argon in 1894.")
1856    e['K'].description = (
1857        "Soft silvery metallic element belonging to group 1 of the "
1858        "periodic table (alkali metals). Occurs naturally in seawater and "
1859        "a many minerals. Highly reactive, chemically, it resembles sodium "
1860        "in its behavior and compounds. Discovered by Sir Humphry Davy in "
1861        "1807.")
1862    e['Ca'].description = (
1863        "Soft grey metallic element belonging to group 2 of the periodic "
1864        "table. Used a reducing agent in the extraction of thorium, "
1865        "zirconium and uranium. Essential element for living organisms.")
1866    e['Sc'].description = (
1867        "Rare soft silvery metallic element belonging to group 3 of the "
1868        "periodic table. There are ten isotopes, nine of which are "
1869        "radioactive and have short half-lives. Predicted in 1869 by "
1870        "Mendeleev, isolated by Nilson in 1879.")
1871    e['Ti'].description = (
1872        "White metallic transition element. Occurs in numerous minerals. "
1873        "Used in strong, light corrosion-resistant alloys. Forms a passive "
1874        "oxide coating when exposed to air. First discovered by Gregor in "
1875        "1789.")
1876    e['V'].description = (
1877        "Soft and ductile, bright white metal. Good resistance to "
1878        "corrosion by alkalis, sulphuric and hydrochloric acid. It "
1879        "oxidizes readily about 933K. There are two naturally occurring "
1880        "isotopes of vanadium, and 5 radioisotopes, V-49 having the "
1881        "longest half-life at 337 days. Vanadium has nuclear applications, "
1882        "the foil is used in cladding titanium to steel, and "
1883        "vanadium-gallium tape is used to produce a superconductive "
1884        "magnet. Originally discovered by Andres Manuel del Rio of Mexico "
1885        "City in 1801. His discovery went unheeded, however, and in 1820, "
1886        "Nils Gabriel Sefstron of Sweden rediscovered it. Metallic "
1887        "vanadium was isolated by Henry Enfield Roscoe in 1867. The name "
1888        "vanadium comes from Vanadis, a goddess of Scandinavian mythology. "
1889        "Silvery-white metallic transition element. Vanadium is essential "
1890        "to Ascidians. Rats and chickens are also known to require it. "
1891        "Metal powder is a fire hazard, and vanadium compounds should be "
1892        "considered highly toxic. May cause lung cancer if inhaled.")
1893    e['Cr'].description = (
1894        "Hard silvery transition element. Used in decorative "
1895        "electroplating. Discovered in 1797 by Vauquelin.")
1896    e['Mn'].description = (
1897        "Grey brittle metallic transition element. Rather "
1898        "electropositive, combines with some non-metals when heated. "
1899        "Discovered in 1774 by Scheele.")
1900    e['Fe'].description = (
1901        "Silvery malleable and ductile metallic transition element. Has "
1902        "nine isotopes and is the fourth most abundant element in the "
1903        "earth's crust. Required by living organisms as a trace element "
1904        "(used in hemoglobin in humans.) Quite reactive, oxidizes in moist "
1905        "air, displaces hydrogen from dilute acids and combines with "
1906        "nonmetallic elements.")
1907    e['Co'].description = (
1908        "Light grey transition element. Some meteorites contain small "
1909        "amounts of metallic cobalt. Generally alloyed for use. Mammals "
1910        "require small amounts of cobalt salts. Cobalt-60, an artificially "
1911        "produced radioactive isotope of Cobalt is an important "
1912        "radioactive tracer and cancer-treatment agent. Discovered by G. "
1913        "Brandt in 1737.")
1914    e['Ni'].description = (
1915        "Malleable ductile silvery metallic transition element. "
1916        "Discovered by A.F. Cronstedt in 1751.")
1917    e['Cu'].description = (
1918        "Red-brown transition element. Known by the Romans as 'cuprum.' "
1919        "Extracted and used for thousands of years. Malleable, ductile and "
1920        "an excellent conductor of heat and electricity. When in moist "
1921        "conditions, a greenish layer forms on the outside.")
1922    e['Zn'].description = (
1923        "Blue-white metallic element. Occurs in multiple compounds "
1924        "naturally. Five stable isotopes are six radioactive isotopes have "
1925        "been found. Chemically a reactive metal, combines with oxygen and "
1926        "other non-metals, reacts with dilute acids to release hydrogen.")
1927    e['Ga'].description = (
1928        "Soft silvery metallic element, belongs to group 13 of the "
1929        "periodic table. The two stable isotopes are Ga-69 and Ga-71. "
1930        "Eight radioactive isotopes are known, all having short "
1931        "half-lives. Gallium Arsenide is used as a semiconductor. Corrodes "
1932        "most other metals by diffusing into their lattice. First "
1933        "identified by Francois Lecoq de Boisbaudran in 1875.")
1934    e['Ge'].description = (
1935        "Lustrous hard metalloid element, belongs to group 14 of the "
1936        "periodic table. Forms a large number of organometallic compounds. "
1937        "Predicted by Mendeleev in 1871, it was actually found in 1886 by "
1938        "Winkler.")
1939    e['As'].description = (
1940        "Metalloid element of group 15. There are three allotropes, "
1941        "yellow, black, and grey. Reacts with halogens, concentrated "
1942        "oxidizing acids and hot alkalis. Albertus Magnus is believed to "
1943        "have been the first to isolate the element in 1250.")
1944    e['Se'].description = (
1945        "Metalloid element, belongs to group 16 of the periodic table. "
1946        "Multiple allotropic forms exist. Chemically resembles sulphur. "
1947        "Discovered in 1817 by Jons J. Berzelius.")
1948    e['Br'].description = (
1949        "Halogen element. Red volatile liquid at room temperature. Its "
1950        "reactivity is somewhere between chlorine and iodine. Harmful to "
1951        "human tissue in a liquid state, the vapour irritates eyes and "
1952        "throat. Discovered in 1826 by Antoine Balard.")
1953    e['Kr'].description = (
1954        "Colorless gaseous element, belongs to the noble gases. Occurs in "
1955        "the air, 0.0001% by volume. It can be extracted from liquid air "
1956        "by fractional distillation. Generally not isolated, but used with "
1957        "other inert gases in fluorescent lamps. Five natural isotopes, "
1958        "and five radioactive isotopes. Kr-85, the most stable radioactive "
1959        "isotope, has a half-life of 10.76 years and is produced in "
1960        "fission reactors. Practically inert, though known to form "
1961        "compounds with Fluorine.")
1962    e['Rb'].description = (
1963        "Soft silvery metallic element, belongs to group 1 of the "
1964        "periodic table. Rb-97, the naturally occurring isotope, is "
1965        "radioactive. It is highly reactive, with properties similar to "
1966        "other elements in group 1, like igniting spontaneously in air. "
1967        "Discovered spectroscopically in 1861 by W. Bunsen and G.R. "
1968        "Kirchoff.")
1969    e['Sr'].description = (
1970        "Soft yellowish metallic element, belongs to group 2 of the "
1971        "periodic table. Highly reactive chemically. Sr-90 is present in "
1972        "radioactive fallout and has a half-life of 28 years. Discovered "
1973        "in 1798 by Klaproth and Hope, isolated in 1808 by Humphry Davy.")
1974    e['Y'].description = (
1975        "Silvery-grey metallic element of group 3 on the periodic table. "
1976        "Found in uranium ores. The only natural isotope is Y-89, there "
1977        "are 14 other artificial isotopes. Chemically resembles the "
1978        "lanthanoids. Stable in the air below 400 degrees, celsius. "
1979        "Discovered in 1828 by Friedrich Wohler.")
1980    e['Zr'].description = (
1981        "Grey-white metallic transition element. Five natural isotopes "
1982        "and six radioactive isotopes are known. Used in nuclear reactors "
1983        "for a Neutron absorber. Discovered in 1789 by Martin Klaproth, "
1984        "isolated in 1824 by Berzelius.")
1985    e['Nb'].description = (
1986        "Soft, ductile grey-blue metallic transition element. Used in "
1987        "special steels and in welded joints to increase strength. "
1988        "Combines with halogens and oxidizes in air at 200 degrees "
1989        "celsius. Discovered by Charles Hatchett in 1801 and isolated by "
1990        "Blomstrand in 1864. Called Columbium originally.")
1991    e['Mo'].description = (
1992        "Silvery-white, hard metallic transition element. It is "
1993        "chemically unreactive and is not affected by most acids. It "
1994        "oxidizes at high temperatures. There are seven natural isotopes, "
1995        "and four radioisotopes, Mo-93 being the most stable with a "
1996        "half-life of 3500 years. Molybdenum is used in almost all "
1997        "high-strength steels, it has nuclear applications, and is a "
1998        "catalyst in petroleum refining. Discovered in 1778 by Carl "
1999        "Welhelm Scheele of Sweden. Impure metal was prepared in 1782 by "
2000        "Peter Jacob Hjelm. The name comes from the Greek word molybdos "
2001        "which means lead. Trace amounts of molybdenum are required for "
2002        "all known forms of life. All molybdenum compounds should be "
2003        "considered highly toxic, and will also cause severe birth "
2004        "defects.")
2005    e['Tc'].description = (
2006        "Radioactive metallic transition element. Can be detected in some "
2007        "stars and the fission products of uranium. First made by Perrier "
2008        "and Segre by bombarding molybdenum with deutrons, giving them "
2009        "Tc-97. Tc-99 is the most stable isotope with a half-life of "
2010        "2.6*10^6 years. Sixteen isotopes are known. Organic technetium "
2011        "compounds are used in bone imaging. Chemical properties are "
2012        "intermediate between rhenium and manganese.")
2013    e['Ru'].description = (
2014        "Hard white metallic transition element. Found with platinum, "
2015        "used as a catalyst in some platinum alloys. Dissolves in fused "
2016        "alkalis, and is not attacked by acids. Reacts with halogens and "
2017        "oxygen at high temperatures. Isolated in 1844 by K.K. Klaus.")
2018    e['Rh'].description = (
2019        "Silvery white metallic transition element. Found with platinum "
2020        "and used in some platinum alloys. Not attacked by acids, "
2021        "dissolves only in aqua regia. Discovered in 1803 by W.H. "
2022        "Wollaston.")
2023    e['Pd'].description = (
2024        "Soft white ductile transition element. Found with some copper "
2025        "and nickel ores. Does not react with oxygen at normal "
2026        "temperatures. Dissolves slowly in hydrochloric acid. Discovered "
2027        "in 1803 by W.H. Wollaston.")
2028    e['Ag'].description = (
2029        "White lustrous soft metallic transition element. Found in both "
2030        "its elemental form and in minerals. Used in jewellery, tableware "
2031        "and so on. Less reactive than silver, chemically.")
2032    e['Cd'].description = (
2033        "Soft bluish metal belonging to group 12 of the periodic table. "
2034        "Extremely toxic even in low concentrations. Chemically similar to "
2035        "zinc, but lends itself to more complex compounds. Discovered in "
2036        "1817 by F. Stromeyer.")
2037    e['In'].description = (
2038        "Soft silvery element belonging to group 13 of the periodic "
2039        "table. The most common natural isotope is In-115, which has a "
2040        "half-life of 6*10^4 years. Five other radioisotopes exist. "
2041        "Discovered in 1863 by Reich and Richter.")
2042    e['Sn'].description = (
2043        "Silvery malleable metallic element belonging to group 14 of the "
2044        "periodic table. Twenty-six isotopes are known, five of which are "
2045        "radioactive. Chemically reactive. Combines directly with chlorine "
2046        "and oxygen and displaces hydrogen from dilute acids.")
2047    e['Sb'].description = (
2048        "Element of group 15. Multiple allotropic forms. The stable form "
2049        "of antimony is a blue-white metal. Yellow and black antimony are "
2050        "unstable non-metals. Used in flame-proofing, paints, ceramics, "
2051        "enamels, and rubber. Attacked by oxidizing acids and halogens. "
2052        "First reported by Tholden in 1450.")
2053    e['Te'].description = (
2054        "Silvery metalloid element of group 16. Eight natural isotopes, "
2055        "nine radioactive isotopes. Used in semiconductors and to a degree "
2056        "in some steels. Chemistry is similar to Sulphur. Discovered in "
2057        "1782 by Franz Miller.")
2058    e['I'].description = (
2059        "Dark violet nonmetallic element, belongs to group 17 of the "
2060        "periodic table. Insoluble in water. Required as a trace element "
2061        "for living organisms. One stable isotope, I-127 exists, in "
2062        "addition to fourteen radioactive isotopes. Chemically the least "
2063        "reactive of the halogens, and the most electropositive metallic "
2064        "halogen. Discovered in 1812 by Courtois.")
2065    e['Xe'].description = (
2066        "Colourless, odourless gas belonging to group 18 on the periodic "
2067        "table (the noble gases.) Nine natural isotopes and seven "
2068        "radioactive isotopes are known. Xenon was part of the first "
2069        "noble-gas compound synthesized. Several others involving Xenon "
2070        "have been found since then. Xenon was discovered by Ramsey and "
2071        "Travers in 1898.")
2072    e['Cs'].description = (
2073        "Soft silvery-white metallic element belonging to group 1 of the "
2074        "periodic table. One of the three metals which are liquid at room "
2075        "temperature. Cs-133 is the natural, and only stable, isotope. "
2076        "Fifteen other radioisotopes exist. Caesium reacts explosively "
2077        "with cold water, and ice at temperatures above 157K. Caesium "
2078        "hydroxide is the strongest base known. Caesium is the most "
2079        "electropositive, most alkaline and has the least ionization "
2080        "potential of all the elements. Known uses include the basis of "
2081        "atomic clocks, catalyst for the hydrogenation of some organic "
2082        "compounds, and in photoelectric cells. Caesium was discovered by "
2083        "Gustav Kirchoff and Robert Bunsen in Germany in 1860 "
2084        "spectroscopically. Its identification was based upon the bright "
2085        "blue lines in its spectrum. The name comes from the latin word "
2086        "caesius, which means sky blue. Caesium should be considered "
2087        "highly toxic. Some of the radioisotopes are even more toxic.")
2088    e['Ba'].description = (
2089        "Silvery-white reactive element, belonging to group 2 of the "
2090        "periodic table. Soluble barium compounds are extremely poisonous. "
2091        "Identified in 1774 by Karl Scheele and extracted in 1808 by "
2092        "Humphry Davy.")
2093    e['La'].description = (
2094        "(From the Greek word lanthanein, to line hidden) Silvery "
2095        "metallic element belonging to group 3 of the periodic table and "
2096        "oft considered to be one of the lanthanoids. Found in some "
2097        "rare-earth minerals. Twenty-five natural isotopes exist. La-139 "
2098        "which is stable, and La-138 which has a half-life of 10^10 to "
2099        "10^15 years. The other twenty-three isotopes are radioactive. It "
2100        "resembles the lanthanoids chemically. Lanthanum has a low to "
2101        "moderate level of toxicity, and should be handled with care. "
2102        "Discovered in 1839 by C.G. Mosander.")
2103    e['Ce'].description = (
2104        "Silvery metallic element, belongs to the lanthanoids. Four "
2105        "natural isotopes exist, and fifteen radioactive isotopes have "
2106        "been identified. Used in some rare-earth alloys. The oxidized "
2107        "form is used in the glass industry. Discovered by Martin .H. "
2108        "Klaproth in 1803.")
2109    e['Pr'].description = (
2110        "Soft silvery metallic element, belongs to the lanthanoids. Only "
2111        "natural isotope is Pr-141 which is not radioactive. Fourteen "
2112        "radioactive isotopes have been artificially produced. Used in "
2113        "rare-earth alloys. Discovered in 1885 by C.A. von Welsbach.")
2114    e['Nd'].description = (
2115        "Soft bright silvery metallic element, belongs to the "
2116        "lanthanoids. Seven natural isotopes, Nd-144 being the only "
2117        "radioactive one with a half-life of 10^10 to 10^15 years. Six "
2118        "artificial radioisotopes have been produced. The metal is used in "
2119        "glass works to color class a shade of violet-purple and make it "
2120        "dichroic. One of the more reactive rare-earth metals, quickly "
2121        "reacts with air. Used in some rare-earth alloys. Neodymium is "
2122        "used to color the glass used in welder's glasses. Neodymium is "
2123        "also used in very powerful, permanent magnets (Nd2Fe14B). "
2124        "Discovered by Carl F. Auer von Welsbach in Austria in 1885 by "
2125        "separating didymium into its elemental components Praseodymium "
2126        "and neodymium. The name comes from the Greek words 'neos didymos' "
2127        "which means 'new twin'. Neodymium should be considered highly "
2128        "toxic, however evidence would seem to show that it acts as little "
2129        "more than a skin and eye irritant. The dust however, presents a "
2130        "fire and explosion hazard.")
2131    e['Pm'].description = (
2132        "Soft silvery metallic element, belongs to the lanthanoids. "
2133        "Pm-147, the only natural isotope, is radioactive and has a "
2134        "half-life of 252 years. Eighteen radioisotopes have been "
2135        "produced, but all have very short half-lives. Found only in "
2136        "nuclear decay waste. Pm-147 is of interest as a beta-decay "
2137        "source, however Pm-146 and Pm-148 have to be removed from it "
2138        "first, as they generate gamma radiation. Discovered by J.A. "
2139        "Marinsky, L.E. Glendenin and C.D. Coryell in 1947.")
2140    e['Sm'].description = (
2141        "Soft silvery metallic element, belongs to the lanthanoids. Seven "
2142        "natural isotopes, Sm-147 is the only radioisotope, and has a "
2143        "half-life of 2.5*10^11 years. Used for making special alloys "
2144        "needed in the production of nuclear reactors. Also used as a "
2145        "neutron absorber. Small quantities of samarium oxide is used in "
2146        "special optical glasses. The largest use of the element is its "
2147        "ferromagnetic alloy which produces permanent magnets that are "
2148        "five times stronger than magnets produced by any other material. "
2149        "Discovered by Francois Lecoq de Boisbaudran in 1879.")
2150    e['Eu'].description = (
2151        "Soft silvery metallic element belonging to the lanthanoids. "
2152        "Eu-151 and Eu-153 are the only two stable isotopes, both of which "
2153        "are Neutron absorbers. Discovered in 1889 by Sir William Crookes.")
2154    e['Gd'].description = (
2155        "Soft silvery metallic element belonging to the lanthanoids. "
2156        "Seven natural, stable isotopes are known in addition to eleven "
2157        "artificial isotopes. Gd-155 and Gd-157 and the best neutron "
2158        "absorbers of all elements. Gadolinium compounds are used in "
2159        "electronics. Discovered by J.C.G Marignac in 1880.")
2160    e['Tb'].description = (
2161        "Silvery metallic element belonging to the lanthanoids. Tb-159 is "
2162        "the only stable isotope, there are seventeen artificial isotopes. "
2163        "Discovered by G.G. Mosander in 1843.")
2164    e['Dy'].description = (
2165        "Metallic with a bright silvery-white lustre. Dysprosium belongs "
2166        "to the lanthanoids. It is relatively stable in air at room "
2167        "temperatures, it will however dissolve in mineral acids, evolving "
2168        "hydrogen. It is found in from rare-earth minerals. There are "
2169        "seven natural isotopes of dysprosium, and eight radioisotopes, "
2170        "Dy-154 being the most stable with a half-life of 3*10^6 years. "
2171        "Dysprosium is used as a neutron absorber in nuclear fission "
2172        "reactions, and in compact disks. It was discovered by Paul Emile "
2173        "Lecoq de Boisbaudran in 1886 in France. Its name comes from the "
2174        "Greek word dysprositos, which means hard to obtain.")
2175    e['Ho'].description = (
2176        "Relatively soft and malleable silvery-white metallic element, "
2177        "which is stable in dry air at room temperature. It oxidizes in "
2178        "moist air and at high temperatures. It belongs to the "
2179        "lanthanoids. A rare-earth metal, it is found in the minerals "
2180        "monazite and gadolinite. It possesses unusual magnetic "
2181        "properties. One natural isotope, Ho-165 exists, six radioisotopes "
2182        "exist, the most stable being Ho-163 with a half-life of 4570 "
2183        "years. Holmium is used in some metal alloys, it is also said to "
2184        "stimulate the metabolism. Discovered by Per Theodor Cleve and "
2185        "J.L. Soret in Switzerland in 1879. The name homium comes from the "
2186        "Greek word Holmia which means Sweden. While all holmium compounds "
2187        "should be considered highly toxic, initial evidence seems to "
2188        "indicate that they do not pose much danger. The metal's dust "
2189        "however, is a fire hazard.")
2190    e['Er'].description = (
2191        "Soft silvery metallic element which belongs to the lanthanoids. "
2192        "Six natural isotopes that are stable. Twelve artificial isotopes "
2193        "are known. Used in nuclear technology as a neutron absorber. It "
2194        "is being investigated for other possible uses. Discovered by Carl "
2195        "G. Mosander in 1843.")
2196    e['Tm'].description = (
2197        "Soft grey metallic element that belongs to the lanthanoids. One "
2198        "natural isotope exists, Tm-169, and seventeen artificial isotopes "
2199        "have been produced. No known uses for the element. Discovered in "
2200        "1879 by Per Theodor Cleve.")
2201    e['Yb'].description = (
2202        "Silvery metallic element of the lanthanoids. Seven natural "
2203        "isotopes and ten artificial isotopes are known. Used in certain "
2204        "steels. Discovered by J.D.G. Marignac in 1878.")
2205    e['Lu'].description = (
2206        "Silvery-white rare-earth metal which is relatively stable in "
2207        "air. It happens to be the most expensive rare-earth metal. Its "
2208        "found with almost all rare-earth metals, but is very difficult to "
2209        "separate from other elements. Least abundant of all natural "
2210        "elements. Used in metal alloys, and as a catalyst in various "
2211        "processes. There are two natural, stable isotopes, and seven "
2212        "radioisotopes, the most stable being Lu-174 with a half-life of "
2213        "3.3 years. The separation of lutetium from Ytterbium was "
2214        "described by Georges Urbain in 1907. It was discovered at "
2215        "approximately the same time by Carl Auer von Welsbach. The name "
2216        "comes from the Greek word lutetia which means Paris.")
2217    e['Hf'].description = (
2218        "Silvery lustrous metallic transition element. Used in tungsten "
2219        "alloys in filaments and electrodes, also acts as a neutron "
2220        "absorber. First reported by Urbain in 1911, existence was finally "
2221        "established in 1923 by D. Coster, G.C. de Hevesy in 1923.")
2222    e['Ta'].description = (
2223        "Heavy blue-grey metallic transition element. Ta-181 is a stable "
2224        "isotope, and Ta-180 is a radioactive isotope, with a half-life in "
2225        "excess of 10^7 years. Used in surgery as it is unreactive. Forms "
2226        "a passive oxide layer in air. Identified in 1802 by Ekeberg and "
2227        "isolated in 1820 by Jons J. Berzelius.")
2228    e['W'].description = (
2229        "White or grey metallic transition element,formerly called "
2230        "Wolfram. Forms a protective oxide in air and can be oxidized at "
2231        "high temperature. First isolated by Jose and Fausto de Elhuyer in "
2232        "1783.")
2233    e['Re'].description = (
2234        "Silvery-white metallic transition element. Obtained as a "
2235        "by-product of molybdenum refinement. Rhenium-molybdenum alloys "
2236        "are superconducting.")
2237    e['Os'].description = (
2238        "Hard blue-white metallic transition element. Found with platinum "
2239        "and used in some alloys with platinum and iridium.")
2240    e['Ir'].description = (
2241        "Very hard and brittle, silvery metallic transition element. It "
2242        "has a yellowish cast to it. Salts of iridium are highly colored. "
2243        "It is the most corrosion resistant metal known, not attacked by "
2244        "any acid, but is attacked by molten salts. There are two natural "
2245        "isotopes of iridium, and 4 radioisotopes, the most stable being "
2246        "Ir-192 with a half-life of 73.83 days. Ir-192 decays into "
2247        "Platinum, while the other radioisotopes decay into Osmium. "
2248        "Iridium is used in high temperature apparatus, electrical "
2249        "contacts, and as a hardening agent for platinumpy. Discovered in "
2250        "1803 by Smithson Tennant in England. The name comes from the "
2251        "Greek word iris, which means rainbow. Iridium metal is generally "
2252        "non-toxic due to its relative unreactivity, but iridium compounds "
2253        "should be considered highly toxic.")
2254    e['Pt'].description = (
2255        "Attractive greyish-white metal. When pure, it is malleable and "
2256        "ductile. Does not oxidize in air, insoluble in hydrochloric and "
2257        "nitric acid. Corroded by halogens, cyandies, sulphur and alkalis. "
2258        "Hydrogen and Oxygen react explosively in the presence of "
2259        "platinumpy. There are six stable isotopes and three "
2260        "radioisotopes, the most stable being Pt-193 with a half-life of "
2261        "60 years. Platinum is used in jewelry, laboratory equipment, "
2262        "electrical contacts, dentistry, and anti-pollution devices in "
2263        "cars. PtCl2(NH3)2 is used to treat some forms of cancer. "
2264        "Platinum-Cobalt alloys have magnetic properties. It is also used "
2265        "in the definition of the Standard Hydrogen Electrode. Discovered "
2266        "by Antonio de Ulloa in South America in 1735. The name comes from "
2267        "the Spanish word platina which means silver. Platinum metal is "
2268        "generally not a health concern due to its unreactivity, however "
2269        "platinum compounds should be considered highly toxic.")
2270    e['Au'].description = (
2271        "Gold is gold colored. It is the most malleable and ductile metal "
2272        "known. There is only one stable isotope of gold, and five "
2273        "radioisotopes of gold, Au-195 being the most stable with a "
2274        "half-life of 186 days. Gold is used as a monetary standard, in "
2275        "jewelry, dentistry, electronics. Au-198 is used in treating "
2276        "cancer and some other medical conditions. Gold has been known to "
2277        "exist as far back as 2600 BC. Gold comes from the Anglo-Saxon "
2278        "word gold. Its symbol, Au, comes from the Latin word aurum, which "
2279        "means gold. Gold is not particularly toxic, however it is known "
2280        "to cause damage to the liver and kidneys in some.")
2281    e['Hg'].description = (
2282        "Heavy silvery liquid metallic element, belongs to the zinc "
2283        "group. Used in thermometers, barometers and other scientific "
2284        "apparatus. Less reactive than zinc and cadmium, does not displace "
2285        "hydrogen from acids. Forms a number of complexes and "
2286        "organomercury compounds.")
2287    e['Tl'].description = (
2288        "Pure, unreacted thallium appears silvery-white and exhibits a "
2289        "metallic lustre. Upon reacting with air, it begins to turn "
2290        "bluish-grey and looks like lead. It is very malleable, and can be "
2291        "cut with a knife. There are two stable isotopes, and four "
2292        "radioisotopes, Tl-204 being the most stable with a half-life of "
2293        "3.78 years. Thallium sulphate was used as a rodenticide. Thallium "
2294        "sulphine's conductivity changes with exposure to infrared light, "
2295        "this gives it a use in infrared detectors. Discovered by Sir "
2296        "William Crookes via spectroscopy. Its name comes from the Greek "
2297        "word thallos, which means green twig. Thallium and its compounds "
2298        "are toxic and can cause cancer.")
2299    e['Pb'].description = (
2300        "Heavy dull grey ductile metallic element, belongs to group 14. "
2301        "Used in building construction, lead-place accumulators, bullets "
2302        "and shot, and is part of solder, pewter, bearing metals, type "
2303        "metals and fusible alloys.")
2304    e['Bi'].description = (
2305        "White crystalline metal with a pink tinge, belongs to group 15. "
2306        "Most diamagnetic of all metals and has the lowest thermal "
2307        "conductivity of all the elements except mercury. Lead-free "
2308        "bismuth compounds are used in cosmetics and medical procedures. "
2309        "Burns in the air and produces a blue flame. In 1753, C.G. Junine "
2310        "first demonstrated that it was different from lead.")
2311    e['Po'].description = (
2312        "Rare radioactive metallic element, belongs to group 16 of the "
2313        "periodic table. Over 30 known isotopes exist, the most of all "
2314        "elements. Po-209 has a half-life of 103 years. Possible uses in "
2315        "heating spacecraft. Discovered by Marie Curie in 1898 in a sample "
2316        "of pitchblende.")
2317    e['At'].description = (
2318        "Radioactive halogen element. Occurs naturally from uranium and "
2319        "thorium decay. At least 20 known isotopes. At-210, the most "
2320        "stable, has a half-life of 8.3 hours. Synthesized by nuclear "
2321        "bombardment in 1940 by D.R. Corson, K.R. MacKenzie and E. Segre "
2322        "at the University of California.")
2323    e['Rn'].description = (
2324        "Colorless radioactive gaseous element, belongs to the noble "
2325        "gases. Of the twenty known isotopes, the most stable is Rn-222 "
2326        "with a half-life of 3.8 days. Formed by the radioactive decay of "
2327        "Radium-226. Radon itself decays into Polonium. Used in "
2328        "radiotherapy. As a noble gas, it is effectively inert, though "
2329        "radon fluoride has been synthesized. First isolated in 1908 by "
2330        "Ramsey and Gray.")
2331    e['Fr'].description = (
2332        "Radioactive element, belongs to group 1 of the periodic table. "
2333        "Found in uranium and thorium ores. The 22 known isotopes are all "
2334        "radioactive, with the most stable being Fr-223. Its existence was "
2335        "confirmed in 1939 by Marguerite Perey.")
2336    e['Ra'].description = (
2337        "Radioactive metallic transuranic element, belongs to group 2 of "
2338        "the periodic table. Most stable isotope, Ra-226 has a half-life "
2339        "of 1602 years, which decays into radon. Isolated from pitchblende "
2340        "in 1898 Marie and Pierre Curie.")
2341    e['Ac'].description = (
2342        "Silvery radioactive metallic element, belongs to group 3 of the "
2343        "periodic table. The most stable isotope, Ac-227, has a half-life "
2344        "of 217 years. Ac-228 (half-life of 6.13 hours) also occurs in "
2345        "nature. There are 22 other artificial isotopes, all radioactive "
2346        "and having very short half-lives. Chemistry similar to "
2347        "lanthanumpy. Used as a source of alpha particles. Discovered by "
2348        "A. Debierne in 1899.")
2349    e['Th'].description = (
2350        "Grey radioactive metallic element. Belongs to actinoids. Found "
2351        "in monazite sand in Brazil, India and the US. Thorium-232 has a "
2352        "half-life of 1.39x10^10 years. Can be used as a nuclear fuel for "
2353        "breeder reactors. Thorium-232 captures slow Neutrons and breeds "
2354        "uranium-233. Discovered by Jons J. Berzelius in 1829.")
2355    e['Pa'].description = (
2356        "Radioactive metallic element, belongs to the actinoids. The most "
2357        "stable isotope, Pa-231 has a half-life of 2.43*10^4 years. At "
2358        "least 10 other radioactive isotopes are known. No practical "
2359        "applications are known. Discovered in 1917 by Lise Meitner and "
2360        "Otto Hahn.")
2361    e['U'].description = (
2362        "White radioactive metallic element belonging to the actinoids. "
2363        "Three natural isotopes, U-238, U-235 and U-234. Uranium-235 is "
2364        "used as the fuel for nuclear reactors and weapons. Discovered by "
2365        "Martin H. Klaproth in 1789.")
2366    e['Np'].description = (
2367        "Radioactive metallic transuranic element, belongs to the "
2368        "actinoids. Np-237, the most stable isotope, has a half-life of "
2369        "2.2*10^6 years and is a by product of nuclear reactors. The other "
2370        "known isotopes have mass numbers 229 through 236, and 238 through "
2371        "241. Np-236 has a half-life of 5*10^3 years. First produced by "
2372        "Edwin M. McMillan and P.H. Abelson in 1940.")
2373    e['Pu'].description = (
2374        "Dense silvery radioactive metallic transuranic element, belongs "
2375        "to the actinoids. Pu-244 is the most stable isotope with a "
2376        "half-life of 7.6*10^7 years. Thirteen isotopes are known. Pu-239 "
2377        "is the most important, it undergoes nuclear fission with slow "
2378        "neutrons and is hence important to nuclear weapons and reactors. "
2379        "Plutonium production is monitored down to the gram to prevent "
2380        "military misuse. First produced by Gleen T. Seaborg, Edwin M. "
2381        "McMillan, J.W. Kennedy and A.C. Wahl in 1940.")
2382    e['Am'].description = (
2383        "Radioactive metallic transuranic element, belongs to the "
2384        "actinoids. Ten known isotopes. Am-243 is the most stable isotope, "
2385        "with a half-life of 7.95*10^3 years. Discovered by Glenn T. "
2386        "Seaborg and associates in 1945, it was obtained by bombarding "
2387        "Uranium-238 with alpha particles.")
2388    e['Cm'].description = (
2389        "Radioactive metallic transuranic element. Belongs to actinoid "
2390        "series. Nine known isotopes, Cm-247 has a half-life of 1.64*10^7 "
2391        "years. First identified by Glenn T. Seaborg and associates in "
2392        "1944, first produced by L.B. Werner and I. Perlman in 1947 by "
2393        "bombarding americium-241 with Neutrons. Named for Marie Curie.")
2394    e['Bk'].description = (
2395        "Radioactive metallic transuranic element. Belongs to actinoid "
2396        "series. Eight known isotopes, the most common Bk-247, has a "
2397        "half-life of 1.4*10^3 years. First produced by Glenn T. Seaborg "
2398        "and associates in 1949 by bombarding americium-241 with alpha "
2399        "particles.")
2400    e['Cf'].description = (
2401        "Radioactive metallic transuranic element. Belongs to actinoid "
2402        "series. Cf-251 has a half life of about 700 years. Nine isotopes "
2403        "are known. Cf-252 is an intense Neutron source, which makes it an "
2404        "intense Neutron source and gives it a use in Neutron activation "
2405        "analysis and a possible use as a radiation source in medicine. "
2406        "First produced by Glenn T. Seaborg and associates in 1950.")
2407    e['Es'].description = (
2408        "Appearance is unknown, however it is most probably metallic and "
2409        "silver or gray in color. Radioactive metallic transuranic element "
2410        "belonging to the actinoids. Es-254 has the longest half-life of "
2411        "the eleven known isotopes at 270 days. First identified by Albert "
2412        "Ghiorso and associates in the debris of the 1952 hydrogen bomb "
2413        "explosion. In 1961 the first microgram quantities of Es-232 were "
2414        "separated. While einsteinium never exists naturally, if a "
2415        "sufficient amount was assembled, it would pose a radiation "
2416        "hazard.")
2417    e['Fm'].description = (
2418        "Radioactive metallic transuranic element, belongs to the "
2419        "actinoids. Ten known isotopes, most stable is Fm-257 with a "
2420        "half-life of 10 days. First identified by Albert Ghiorso and "
2421        "associates in the debris of the first hydrogen-bomb explosion in "
2422        "1952.")
2423    e['Md'].description = (
2424        "Radioactive metallic transuranic element. Belongs to the "
2425        "actinoid series. Only known isotope, Md-256 has a half-life of "
2426        "1.3 hours. First identified by Glenn T. Seaborg, Albert Ghiorso "
2427        "and associates in 1955. Alternative name Unnilunium has been "
2428        "proposed. Named after the 'inventor' of the periodic table, "
2429        "Dmitri Mendeleev.")
2430    e['No'].description = (
2431        "Radioactive metallic transuranic element, belongs to the "
2432        "actinoids. Seven known isotopes exist, the most stable being "
2433        "No-254 with a half-life of 255 seconds. First identified with "
2434        "certainty by Albert Ghiorso and Glenn T. Seaborg in 1966. "
2435        "Unnilbium has been proposed as an alternative name.")
2436    e['Lr'].description = (
2437        "Appearance unknown, however it is most likely silvery-white or "
2438        "grey and metallic. Lawrencium is a synthetic rare-earth metal. "
2439        "There are eight known radioisotopes, the most stable being Lr-262 "
2440        "with a half-life of 3.6 hours. Due to the short half-life of "
2441        "lawrencium, and its radioactivity, there are no known uses for "
2442        "it. Identified by Albert Ghiorso in 1961 at Berkeley. It was "
2443        "produced by bombarding californium with boron ions. The name is "
2444        "temporary IUPAC nomenclature, the origin of the name comes from "
2445        "Ernest O. Lawrence, the inventor of the cyclotron. If sufficient "
2446        "amounts of lawrencium were produced, it would pose a radiation "
2447        "hazard.")
2448    e['Rf'].description = (
2449        "Radioactive transactinide element. Expected to have similar "
2450        "chemical properties to those displayed by hafnium. Rf-260 was "
2451        "discovered by the Joint Nuclear Research Institute at Dubna "
2452        "(U.S.S.R.) in 1964. Researchers at Berkeley discovered Unq-257 "
2453        "and Unq-258 in 1964.")
2454    e['Db'].description = (
2455        "Also known as Hahnium, Ha. Radioactive transactinide element. "
2456        "Half-life of 1.6s. Discovered in 1970 by Berkeley researchers. So "
2457        "far, seven isotopes have been discovered.")
2458    e['Sg'].description = (
2459        "Half-life of 0.9 +/- 0.2 s. Discovered by the Joint Institute "
2460        "for Nuclear Research at Dubna (U.S.S.R.) in June of 1974. Its "
2461        "existence was confirmed by the Lawrence Berkeley Laboratory and "
2462        "Livermore National Laboratory in September of 1974.")
2463    e['Bh'].description = (
2464        "Radioactive transition metal. Half-life of approximately 1/500 "
2465        "s. Discovered by the Joint Institute for Nuclear Research at "
2466        "Dubna (U.S.S.R.) in 1976. Confirmed by West German physicists at "
2467        "the Heavy Ion Research Laboratory at Darmstadt.")
2468    e['Hs'].description = (
2469        "Radioactive transition metal first synthesized in 1984 by a "
2470        "German research team led by Peter Armbruster and Gottfried "
2471        "Muenzenberg at the Institute for Heavy Ion Research at Darmstadt.")
2472    e['Mt'].description = (
2473        "Half-life of approximately 5 ms. The creation of this element "
2474        "demonstrated that fusion techniques could indeed be used to make "
2475        "new, heavy nuclei. Made and identified by physicists of the Heavy "
2476        "Ion Research Laboratory, Darmstadt, West Germany in 1982. Named "
2477        "in honor of Lise Meitner, the Austrian physicist.")
2478    return e[symbol].description
2479
2480
2481def sqlite_script():
2482    """Return SQL script to create sqlite database of elements.
2483
2484    Examples
2485    --------
2486    >>> import sqlite3
2487    >>> con = sqlite3.connect(':memory:')
2488    >>> cur = con.executescript(sqlite_script())
2489    >>> con.commit()
2490    >>> for r in cur.execute("SELECT name FROM element WHERE number=6"):
2491    ...     str(r[0])
2492    'Carbon'
2493    >>> con.close()
2494
2495    """
2496    sql = ["""
2497        CREATE TABLE "period" (
2498            "number" TINYINT NOT NULL PRIMARY KEY,
2499            "label" CHAR NOT NULL UNIQUE,
2500            "description" VARCHAR(64)
2501        );
2502        CREATE TABLE "group" (
2503            "number" TINYINT NOT NULL PRIMARY KEY,
2504            "label" VARCHAR(8) NOT NULL,
2505            "description" VARCHAR(64)
2506        );
2507        CREATE TABLE "block" (
2508            "label" CHAR NOT NULL PRIMARY KEY,
2509            "description" VARCHAR(64)
2510        );
2511        CREATE TABLE "series" (
2512            "id" TINYINT NOT NULL PRIMARY KEY,
2513            "label"  VARCHAR(32) NOT NULL,
2514            "description" VARCHAR(256)
2515        );
2516        CREATE TABLE "element" (
2517            "number" TINYINT NOT NULL PRIMARY KEY,
2518            "symbol" VARCHAR(2) UNIQUE NOT NULL,
2519            "name" VARCHAR(16) UNIQUE NOT NULL,
2520            "period" TINYINT NOT NULL,
2521            --FOREIGN KEY("period") REFERENCES "period"(number),
2522            "group" TINYINT NOT NULL,
2523            --FOREIGN KEY("group") REFERENCES "group"(number),
2524            "block" CHAR NOT NULL,
2525            --FOREIGN KEY("block") REFERENCES "block"(label),
2526            "series" TINYINT NOT NULL,
2527            --FOREIGN KEY("series") REFERENCES "series"(id),
2528            "mass" REAL NOT NULL,
2529            "eleneg" REAL,
2530            "covrad" REAL,
2531            "atmrad" REAL,
2532            "vdwrad" REAL,
2533            "tboil" REAL,
2534            "tmelt" REAL,
2535            "density" REAL,
2536            "eleaffin" REAL,
2537            "eleconfig" VARCHAR(32),
2538            "oxistates" VARCHAR(32),
2539            "description" VARCHAR(2048)
2540        );
2541        CREATE TABLE "isotope" (
2542            "element" TINYINT NOT NULL,
2543            --FOREIGN KEY ("element") REFERENCES "element"("number"),
2544            "massnum" TINYINT NOT NULL,
2545            "mass" REAL NOT NULL,
2546            "abundance" REAL NOT NULL,
2547            PRIMARY KEY ("element", "massnum")
2548        );
2549        CREATE TABLE "eleconfig" (
2550            "element" TINYINT NOT NULL,
2551            --FOREIGN KEY ("element") REFERENCES "element"("number"),
2552            "shell" TINYINT NOT NULL,
2553            --FOREIGN KEY ("shell") REFERENCES "period"("number"),
2554            "subshell" CHAR NOT NULL,
2555            --FOREIGN KEY ("subshell") REFERENCES "block"("label"),
2556            "count" TINYINT,
2557            PRIMARY KEY ("element", "shell", "subshell")
2558        );
2559        CREATE TABLE "ionenergy" (
2560            "element" TINYINT NOT NULL,
2561            --FOREIGN KEY ("element") REFERENCES "element"("number"),
2562            "number" TINYINT NOT NULL,
2563            "energy" REAL NOT NULL,
2564            PRIMARY KEY ("element", "number")
2565        );
2566    """]
2567
2568    for key, label in PERIODS.items():
2569        sql.append("""INSERT INTO "period" VALUES (%i, '%s', NULL);""" % (
2570            key, label))
2571
2572    for key, (label, descr) in GROUPS.items():
2573        sql.append("""INSERT INTO "group" VALUES (%i, '%s', '%s');""" % (
2574            key, label, descr))
2575
2576    for data in BLOCKS.items():
2577        sql.append("""INSERT INTO "block" VALUES ('%s', '%s');""" % data)
2578
2579    for series in sorted(SERIES):
2580        sql.append("""INSERT INTO "series" VALUES (%i, '%s', '');""" % (
2581            series, SERIES[series]))
2582
2583    for ele in ELEMENTS:
2584        sql.append("""
2585        INSERT INTO "element" VALUES (%i, '%s', '%s', %i, %i, '%s', %i,
2586            %.10f, %.4f, %.4f, %.4f, %.4f,
2587            %.4f, %.4f, %.4f, %.8f,
2588            '%s', '%s',
2589            '%s'
2590        );""" % (
2591            ele.number, ele.symbol, ele.name, ele.period, ele.group,
2592            ele.block, ele.series, ele.mass, ele.eleneg,
2593            ele.covrad, ele.atmrad, ele.vdwrad, ele.tboil, ele.tmelt,
2594            ele.density, ele.eleaffin, ele.eleconfig, ele.oxistates,
2595            word_wrap(
2596                ele.description.replace("'", "\'\'").replace("\"", "\"\""),
2597                linelen=74, indent=0, joinstr="\n ")))
2598
2599    for ele in ELEMENTS:
2600        for iso in ele.isotopes.values():
2601            sql.append(
2602                """INSERT INTO "isotope" VALUES (%i, %i, %.10f, %.8f);""" % (
2603                    ele.number, iso.massnumber, iso.mass, iso.abundance))
2604
2605    for ele in ELEMENTS:
2606        for (shell, subshell), count in ele.eleconfig_dict.items():
2607            sql.append(
2608                """INSERT INTO "eleconfig" VALUES (%i, %i, '%s', %i);""" % (
2609                    ele.number, shell, subshell, count))
2610
2611    for ele in ELEMENTS:
2612        for i, ionenergy in enumerate(ele.ionenergy):
2613            sql.append("""INSERT INTO "ionenergy" VALUES (%i, %i, %.4f);""" % (
2614                ele.number, i + 1, ionenergy))
2615
2616    return '\n'.join(sql).replace("        ", "")
2617
2618
2619def word_wrap(text, linelen=80, indent=0, joinstr="\n"):
2620    """Return string, word wrapped at linelen."""
2621    if len(text) < linelen:
2622        return text
2623    result = []
2624    line = []
2625    llen = -indent
2626    for word in text.split():
2627        llen += len(word) + 1
2628        if llen < linelen:
2629            line.append(word)
2630        else:
2631            result.append(" ".join(line))
2632            line = [word]
2633            llen = len(word)
2634    if line:
2635        result.append(" ".join(line))
2636    return joinstr.join(result)
2637
2638
2639if __name__ == "__main__":
2640    for ele in ELEMENTS:
2641        print(repr(ele), '\n')
2642    import doctest
2643    doctest.testmod(verbose=False)
2644
2645