bjodah / chempy

⚗ A package useful for chemistry written in Python
BSD 2-Clause "Simplified" License
544 stars 78 forks source link

atomic weight concerns #172

Closed matecsaj closed 4 years ago

matecsaj commented 4 years ago

The atomic weights for Cn and Fl are too low. Also, as indicated by the crash, an atomic weight appears to be absent.

from chempy import Substance
from chempy.util.periodic import symbols

for symbol in symbols:
        print(symbol + ' ' + '%.4f' % Substance.from_formula(symbol).mass)

H 1.0080 He 4.0026 Li 6.9400 Be 9.0122 B 10.8100 C 12.0110 N 14.0070 O 15.9990 F 18.9984 Ne 20.1797 Na 22.9898 Mg 24.3050 Al 26.9815 Si 28.0850 P 30.9738 S 32.0600 Cl 35.4500 Ar 39.9480 K 39.0983 Ca 40.0780 Sc 44.9559 Ti 47.8670 V 50.9415 Cr 51.9961 Mn 54.9380 Fe 55.8450 Co 58.9332 Ni 58.6934 Cu 63.5460 Zn 65.3800 Ga 69.7230 Ge 72.6300 As 74.9216 Se 78.9710 Br 79.9040 Kr 83.7980 Rb 85.4678 Sr 87.6200 Y 88.9058 Zr 91.2240 Nb 92.9064 Mo 95.9500 Tc 98.0000 Ru 101.0700 Rh 102.9055 Pd 106.4200 Ag 107.8682 Cd 112.4140 In 114.8180 Sn 118.7100 Sb 121.7600 Te 127.6000 I 126.9045 Xe 131.2930 Cs 132.9055 Ba 137.3270 La 138.9055 Ce 140.1160 Pr 140.9077 Nd 144.2420 Pm 145.0000 Sm 150.3600 Eu 151.9640 Gd 157.2500 Tb 158.9254 Dy 162.5000 Ho 164.9303 Er 167.2590 Tm 168.9342 Yb 173.0450 Lu 174.9668 Hf 178.4900 Ta 180.9479 W 183.8400 Re 186.2070 Os 190.2300 Ir 192.2170 Pt 195.0840 Au 196.9666 Hg 200.5920 Tl 204.3800 Pb 207.2000 Bi 208.9804 Po 209.0000 At 210.0000 Rn 222.0000 Fr 223.0000 Ra 226.0000 Ac 227.0000 Th 232.0377 Pa 231.0359 U 238.0289 Np 237.0000 Pu 244.0000 Am 243.0000 Cm 247.0000 Bk 247.0000 Cf 251.0000 Es 252.0000 Fm 257.0000 Md 258.0000 No 259.0000 Lr 266.0000 Rf 267.0000 Db 268.0000 Sg 269.0000 Bh 270.0000 Hs 269.0000 Mt 278.0000 Ds 281.0000 Rg 282.0000 Cn 12.0110 Uut 286.0000 Fl 18.9984 Uup 289.0000 Traceback (most recent call last): File "/Users/matecsaj/Dropbox (Personal)/Projects/electrochemistry/main.py", line 5, in sub = Substance.from_formula(symbol) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chempy/chemistry.py", line 180, in from_formula composition=formula_to_composition(formula), File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chempy/util/parsing.py", line 281, in formula_to_composition comp = _parse_stoich(stoich) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chempy/util/parsing.py", line 209, in _parse_stoich in _get_formula_parser().parseString(stoich)} File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyparsing.py", line 1955, in parseString raise exc File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyparsing.py", line 3342, in parseImpl raise ParseException(instring, loc, self.errmsg, self) pyparsing.ParseException: Expected {Re:('A[cglmrstu]|B[aehikr]?|C[adeflmorsu]?|D[bsy]|E[rsu]|F[emr]?|G[ade]|H[efgos]?|I[nr]?|Kr?|L[airu]|M[dgnot]|N[abdeiop]?|Os?|P[abdmortu]?|R[abefghnu]|S[bcegimnr]?|T[abcehilm]|Uu[bhopqst]|U|V|W|Xe|Yb?|Z[nr]') | Group:({{Suppress:("(") : ...} Suppress:(")")})}, found 'L' (at char 0), (line:1, col:1)

Process finished with exit code 1