1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """Module containing a Python object representation of the period table."""
24
25
26 from lib.errors import RelaxError
27
28
30 """The periodic table object."""
31
33 """Set up the object."""
34
35
36 self.symbol = []
37 self.name = []
38
39
40 - def add(self, Z=None, symbol=None, name=None):
41 """Add an element to the table.
42
43 @keyword Z: The atomic number.
44 @type Z: int
45 @keyword symbol: The atomic symbol.
46 @type symbol: str
47 @keyword name: The chemical element name.
48 @type name: str
49 """
50
51
52 if Z != len(self.symbol)+1:
53 raise RelaxError("Incorrect setup.")
54
55
56 self.symbol.append(symbol)
57 self.name.append(name)
58
59
61 """Return the atomic symbol corresponding to the atomic number.
62
63 @keyword Z: The atomic number.
64 @type Z: int
65 @return: The atomic symbol.
66 @rtype: str
67 """
68
69
70 return self.symbol[Z-1]
71
72
73
74
75 periodic_table = Table()
76
77
78 periodic_table.add(Z=1, symbol='H', name='Hydrogen')
79 periodic_table.add(Z=2, symbol='He', name='Helium')
80 periodic_table.add(Z=3, symbol='Li', name='Lithium')
81 periodic_table.add(Z=4, symbol='Be', name='Beryllium')
82 periodic_table.add(Z=5, symbol='B', name='Boron')
83 periodic_table.add(Z=6, symbol='C', name='Carbon')
84 periodic_table.add(Z=7, symbol='N', name='Nitrogen')
85 periodic_table.add(Z=8, symbol='O', name='Oxygen')
86 periodic_table.add(Z=9, symbol='F', name='Fluorine')
87 periodic_table.add(Z=10, symbol='Ne', name='Neon')
88 periodic_table.add(Z=11, symbol='Na', name='Sodium')
89 periodic_table.add(Z=12, symbol='Mg', name='Magnesium')
90 periodic_table.add(Z=13, symbol='Al', name='Aluminium')
91 periodic_table.add(Z=14, symbol='Si', name='Silicon')
92 periodic_table.add(Z=15, symbol='P', name='Phosphorus')
93 periodic_table.add(Z=16, symbol='S', name='Sulfur')
94 periodic_table.add(Z=17, symbol='Cl', name='Chlorine')
95 periodic_table.add(Z=18, symbol='Ar', name='Argon')
96 periodic_table.add(Z=19, symbol='K', name='Potassium')
97 periodic_table.add(Z=20, symbol='Ca', name='Calcium')
98 periodic_table.add(Z=21, symbol='Sc', name='Scandium')
99 periodic_table.add(Z=22, symbol='Ti', name='Titanium')
100 periodic_table.add(Z=23, symbol='V', name='Vanadium')
101 periodic_table.add(Z=24, symbol='Cr', name='Chromium')
102 periodic_table.add(Z=25, symbol='Mn', name='Manganese')
103 periodic_table.add(Z=26, symbol='Fe', name='Iron')
104 periodic_table.add(Z=27, symbol='Co', name='Cobalt')
105 periodic_table.add(Z=28, symbol='Ni', name='Nickel')
106 periodic_table.add(Z=29, symbol='Cu', name='Copper')
107 periodic_table.add(Z=30, symbol='Zn', name='Zinc')
108 periodic_table.add(Z=31, symbol='Ga', name='Gallium')
109 periodic_table.add(Z=32, symbol='Ge', name='Germanium')
110 periodic_table.add(Z=33, symbol='As', name='Arsenic')
111 periodic_table.add(Z=34, symbol='Se', name='Selenium')
112 periodic_table.add(Z=35, symbol='Br', name='Bromine')
113 periodic_table.add(Z=36, symbol='Kr', name='Krypton')
114 periodic_table.add(Z=37, symbol='Rb', name='Rubidium')
115 periodic_table.add(Z=38, symbol='Sr', name='Strontium')
116 periodic_table.add(Z=39, symbol='Y', name='Yttrium')
117 periodic_table.add(Z=40, symbol='Zr', name='Zirconium')
118 periodic_table.add(Z=41, symbol='Nb', name='Niobium')
119 periodic_table.add(Z=42, symbol='Mo', name='Molybdenum')
120 periodic_table.add(Z=43, symbol='Tc', name='Technetium')
121 periodic_table.add(Z=44, symbol='Ru', name='Ruthenium')
122 periodic_table.add(Z=45, symbol='Rh', name='Rhodium')
123 periodic_table.add(Z=46, symbol='Pd', name='Palladium')
124 periodic_table.add(Z=47, symbol='Ag', name='Silver')
125 periodic_table.add(Z=48, symbol='Cd', name='Cadmium')
126 periodic_table.add(Z=49, symbol='In', name='Indium')
127 periodic_table.add(Z=50, symbol='Sn', name='Tin')
128 periodic_table.add(Z=51, symbol='Sb', name='Antimony')
129 periodic_table.add(Z=52, symbol='Te', name='Tellurium')
130 periodic_table.add(Z=53, symbol='I', name='Iodine')
131 periodic_table.add(Z=54, symbol='Xe', name='Xenon')
132 periodic_table.add(Z=55, symbol='Cs', name='Caesium')
133 periodic_table.add(Z=56, symbol='Ba', name='Barium')
134 periodic_table.add(Z=57, symbol='La', name='Lanthanum')
135 periodic_table.add(Z=58, symbol='Ce', name='Cerium')
136 periodic_table.add(Z=59, symbol='Pr', name='Praseodymium')
137 periodic_table.add(Z=60, symbol='Nd', name='Neodymium')
138 periodic_table.add(Z=61, symbol='Pm', name='Promethium')
139 periodic_table.add(Z=62, symbol='Sm', name='Samarium')
140 periodic_table.add(Z=63, symbol='Eu', name='Europium')
141 periodic_table.add(Z=64, symbol='Gd', name='Gadolinium')
142 periodic_table.add(Z=65, symbol='Tb', name='Terbium')
143 periodic_table.add(Z=66, symbol='Dy', name='Dysprosium')
144 periodic_table.add(Z=67, symbol='Ho', name='Holmium')
145 periodic_table.add(Z=68, symbol='Er', name='Erbium')
146 periodic_table.add(Z=69, symbol='Tm', name='Thulium')
147 periodic_table.add(Z=70, symbol='Yb', name='Ytterbium')
148 periodic_table.add(Z=71, symbol='Lu', name='Lutetium')
149 periodic_table.add(Z=72, symbol='Hf', name='Hafnium')
150 periodic_table.add(Z=73, symbol='Ta', name='Tantalum')
151 periodic_table.add(Z=74, symbol='W', name='Tungsten')
152 periodic_table.add(Z=75, symbol='Re', name='Rhenium')
153 periodic_table.add(Z=76, symbol='Os', name='Osmium')
154 periodic_table.add(Z=77, symbol='Ir', name='Iridium')
155 periodic_table.add(Z=78, symbol='Pt', name='Platinum')
156 periodic_table.add(Z=79, symbol='Au', name='Gold')
157 periodic_table.add(Z=80, symbol='Hg', name='Mercury')
158 periodic_table.add(Z=81, symbol='Tl', name='Thallium')
159 periodic_table.add(Z=82, symbol='Pb', name='Lead')
160 periodic_table.add(Z=83, symbol='Bi', name='Bismuth')
161 periodic_table.add(Z=84, symbol='Po', name='Polonium')
162 periodic_table.add(Z=85, symbol='At', name='Astatine')
163 periodic_table.add(Z=86, symbol='Rn', name='Radon')
164 periodic_table.add(Z=87, symbol='Fr', name='Francium')
165 periodic_table.add(Z=88, symbol='Ra', name='Radium')
166 periodic_table.add(Z=89, symbol='Ac', name='Actinium')
167 periodic_table.add(Z=90, symbol='Th', name='Thorium')
168 periodic_table.add(Z=91, symbol='Pa', name='Protactinium')
169 periodic_table.add(Z=92, symbol='U', name='Uranium')
170 periodic_table.add(Z=93, symbol='Np', name='Neptunium')
171 periodic_table.add(Z=94, symbol='Pu', name='Plutonium')
172 periodic_table.add(Z=95, symbol='Am', name='Americium')
173 periodic_table.add(Z=96, symbol='Cm', name='Curium')
174 periodic_table.add(Z=97, symbol='Bk', name='Berkelium')
175 periodic_table.add(Z=98, symbol='Cf', name='Californium')
176 periodic_table.add(Z=99, symbol='Es', name='Einsteinium')
177 periodic_table.add(Z=100, symbol='Fm', name='Fermium')
178 periodic_table.add(Z=101, symbol='Md', name='Mendelevium')
179 periodic_table.add(Z=102, symbol='No', name='Nobelium')
180 periodic_table.add(Z=103, symbol='Lr', name='Lawrencium')
181 periodic_table.add(Z=104, symbol='Rf', name='Rutherfordium')
182 periodic_table.add(Z=105, symbol='Db', name='Dubnium')
183 periodic_table.add(Z=106, symbol='Sg', name='Seaborgium')
184 periodic_table.add(Z=107, symbol='Bh', name='Bohrium')
185 periodic_table.add(Z=108, symbol='Hs', name='Hassium')
186 periodic_table.add(Z=109, symbol='Mt', name='Meitnerium')
187 periodic_table.add(Z=110, symbol='Ds', name='Darmstadtium')
188 periodic_table.add(Z=111, symbol='Rg', name='Roentgenium')
189 periodic_table.add(Z=112, symbol='Cn', name='Copernicium')
190 periodic_table.add(Z=113, symbol='Uut', name='Ununtrium')
191 periodic_table.add(Z=114, symbol='Fl', name='Flerovium')
192 periodic_table.add(Z=115, symbol='Uup', name='Ununpentium')
193 periodic_table.add(Z=116, symbol='Lv', name='Livermorium')
194 periodic_table.add(Z=117, symbol='Uus', name='Ununseptium')
195 periodic_table.add(Z=118, symbol='Uuo', name='Ununoctium')
196