fennol.utils.periodic_table

   1import flax.linen as nn
   2import jax.numpy as jnp
   3from typing import Sequence, Callable
   4import numpy as np
   5from .atomic_units import AtomicUnits as au
   6from .xenonpy_props import XENONPY_PROPS
   7
   8PERIODIC_TABLE_STR = """
   9H                                                                                                                           He
  10Li  Be                                                                                                  B   C   N   O   F   Ne
  11Na  Mg                                                                                                  Al  Si  P   S   Cl  Ar
  12K   Ca                                                          Sc  Ti  V   Cr  Mn  Fe  Co  Ni  Cu  Zn  Ga  Ge  As  Se  Br  Kr
  13Rb  Sr                                                          Y   Zr  Nb  Mo  Tc  Ru  Rh  Pd  Ag  Cd  In  Sn  Sb  Te  I   Xe
  14Cs  Ba  La  Ce  Pr  Nd  Pm  Sm  Eu  Gd  Tb  Dy  Ho  Er  Tm  Yb  Lu  Hf  Ta  W   Re  Os  Ir  Pt  Au  Hg  Tl  Pb  Bi  Po  At  Rn
  15Fr  Ra  Ac  Th  Pa  U   Np  Pu  Am  Cm  Bk  Cf  Es  Fm  Md  No  Lr  Rf  Db  Sg  Bh  Hs  Mt  Ds  Rg  Cn  Nh  Fl  Mc  Lv  Ts  Og
  16"""
  17
  18PERIODIC_TABLE = ["Dummy"] + PERIODIC_TABLE_STR.strip().split()
  19
  20PERIODIC_TABLE_REV_IDX = {s: i for i, s in enumerate(PERIODIC_TABLE)}
  21
  22
  23def _build_periodic_coordinates():
  24    periods = PERIODIC_TABLE_STR.split("\n")[1:-1]
  25    coords = [
  26        [0, 0],
  27    ]
  28    for i, p in enumerate(periods):
  29        for j in range(0, len(p), 4):
  30            if p[j : j + 4].strip():
  31                coords.append([i + 1, j // 4 + 1])
  32    return np.array(coords)
  33
  34
  35PERIODIC_COORDINATES = _build_periodic_coordinates()
  36
  37ATOMIC_MASSES = np.array([
  38    0.0,
  39    1.008,
  40    4.002602,
  41    6.94,
  42    9.0121831,
  43    10.81,
  44    12.011,
  45    14.007,
  46    15.999,
  47    18.99840316,
  48    20.1797,
  49    22.98976928,
  50    24.305,
  51    26.9815385,
  52    28.085,
  53    30.973762,
  54    32.06,
  55    35.45,
  56    39.948,
  57    39.0983,
  58    40.078,
  59    44.955908,
  60    47.867,
  61    50.9415,
  62    51.9961,
  63    54.938044,
  64    55.845,
  65    58.933194,
  66    58.6934,
  67    63.546,
  68    65.38,
  69    69.723,
  70    72.63,
  71    74.921595,
  72    78.971,
  73    79.904,
  74    83.798,
  75    85.4678,
  76    87.62,
  77    88.90584,
  78    91.224,
  79    92.90637,
  80    95.95,
  81    97.90721,
  82    101.07,
  83    102.9055,
  84    106.42,
  85    107.8682,
  86    112.414,
  87    114.818,
  88    118.71,
  89    121.76,
  90    127.6,
  91    126.90447,
  92    131.293,
  93    132.90545196,
  94    137.327,
  95    138.90547,
  96    140.116,
  97    140.90766,
  98    144.242,
  99    144.91276,
 100    150.36,
 101    151.964,
 102    157.25,
 103    158.92535,
 104    162.5,
 105    164.93033,
 106    167.259,
 107    168.93422,
 108    173.054,
 109    174.9668,
 110    178.49,
 111    180.94788,
 112    183.84,
 113    186.207,
 114    190.23,
 115    192.217,
 116    195.084,
 117    196.966569,
 118    200.592,
 119    204.38,
 120    207.2,
 121    208.9804,
 122    208.98243,
 123    209.98715,
 124    222.01758,
 125    223.01974,
 126    226.02541,
 127    227.02775,
 128    232.0377,
 129    231.03588,
 130    238.02891,
 131    237.04817,
 132    244.06421,
 133    243.06138,
 134    247.07035,
 135    247.07031,
 136    251.07959,
 137    252.083,
 138    257.09511,
 139    258.09843,
 140    259.101,
 141    262.11,
 142    267.122,
 143    268.126,
 144    271.134,
 145    270.133,
 146    269.1338,
 147    278.156,
 148    281.165,
 149    281.166,
 150    285.177,
 151    286.182,
 152    289.19,
 153    289.194,
 154    293.204,
 155    293.208,
 156    294.214,
 157])
 158
 159
 160EL_STRUCT = [[0] * 19] * len(PERIODIC_TABLE)
 161#########################1s 2s 2p 3s 3p 4s 3d 4p 5s 4d 5p  6s 4f 5d 6p 7s 5f 6d 7p
 162EL_STRUCT[1] = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # H
 163EL_STRUCT[2] = [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # He
 164EL_STRUCT[3] = [2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Li
 165EL_STRUCT[4] = [2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Be
 166EL_STRUCT[5] = [2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # B
 167EL_STRUCT[6] = [2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # C
 168EL_STRUCT[7] = [2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # N
 169EL_STRUCT[8] = [2, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # O
 170EL_STRUCT[9] = [2, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # F
 171EL_STRUCT[10] = [2, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ne
 172##########################1s 2s 2p 3s 3p 4s 3d 4p  5s 4d 5p 6s 4f 5d 6p
 173EL_STRUCT[11] = [2, 2, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Na
 174EL_STRUCT[12] = [2, 2, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Mg
 175EL_STRUCT[13] = [2, 2, 6, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Al
 176EL_STRUCT[14] = [2, 2, 6, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Si
 177EL_STRUCT[15] = [2, 2, 6, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # P
 178EL_STRUCT[16] = [2, 2, 6, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # S
 179EL_STRUCT[17] = [2, 2, 6, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Cl
 180EL_STRUCT[18] = [2, 2, 6, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ar
 181##########################1s 2s 2p 3s 3p 4s 3d 4p  5s 4d 5p 6s 4f 5d 6p
 182EL_STRUCT[19] = [2, 2, 6, 2, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # K
 183EL_STRUCT[20] = [2, 2, 6, 2, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ca
 184EL_STRUCT[21] = [2, 2, 6, 2, 6, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Sc
 185EL_STRUCT[22] = [2, 2, 6, 2, 6, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ti
 186EL_STRUCT[23] = [2, 2, 6, 2, 6, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # V
 187EL_STRUCT[24] = [2, 2, 6, 2, 6, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Cr
 188EL_STRUCT[25] = [2, 2, 6, 2, 6, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Mn
 189EL_STRUCT[26] = [2, 2, 6, 2, 6, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Fe
 190EL_STRUCT[27] = [2, 2, 6, 2, 6, 2, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Co
 191EL_STRUCT[28] = [2, 2, 6, 2, 6, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ni
 192EL_STRUCT[29] = [2, 2, 6, 2, 6, 1, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Cu
 193EL_STRUCT[30] = [2, 2, 6, 2, 6, 2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Zn
 194###########################1s 2s 2p 3s 3p 4s 3d 4p 5s 4d 5p 6s 4f 5d 6p
 195EL_STRUCT[31] = [2, 2, 6, 2, 6, 2, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ga
 196EL_STRUCT[32] = [2, 2, 6, 2, 6, 2, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ge
 197EL_STRUCT[33] = [2, 2, 6, 2, 6, 2, 10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # As
 198EL_STRUCT[34] = [2, 2, 6, 2, 6, 2, 10, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Se
 199EL_STRUCT[35] = [2, 2, 6, 2, 6, 2, 10, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Br
 200EL_STRUCT[36] = [2, 2, 6, 2, 6, 2, 10, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Kr
 201###########################1s 2s 2p 3s 3p 4s 3d 4p 5s 4d 5p 6s 4f 5d 6p
 202EL_STRUCT[37] = [2, 2, 6, 2, 6, 2, 10, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Rb
 203EL_STRUCT[38] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Sr
 204EL_STRUCT[39] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Y
 205EL_STRUCT[40] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Zr
 206EL_STRUCT[41] = [2, 2, 6, 2, 6, 2, 10, 6, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Nb
 207EL_STRUCT[42] = [2, 2, 6, 2, 6, 2, 10, 6, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Mo
 208EL_STRUCT[43] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Tc
 209EL_STRUCT[44] = [2, 2, 6, 2, 6, 2, 10, 6, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ru
 210EL_STRUCT[45] = [2, 2, 6, 2, 6, 2, 10, 6, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Rh
 211EL_STRUCT[46] = [2, 2, 6, 2, 6, 2, 10, 6, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Pd
 212EL_STRUCT[47] = [2, 2, 6, 2, 6, 2, 10, 6, 1, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Ag
 213EL_STRUCT[48] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0]  # Cd
 214###########################1s 2s 2p 3s 3p 4s 3d 4p 5s  4d 5p 6s 4f 5d 6p
 215EL_STRUCT[49] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0]  # In
 216EL_STRUCT[50] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0]  # Sn
 217EL_STRUCT[51] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 3, 0, 0, 0, 0, 0, 0, 0, 0]  # Sb
 218EL_STRUCT[52] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 4, 0, 0, 0, 0, 0, 0, 0, 0]  # Te
 219EL_STRUCT[53] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 5, 0, 0, 0, 0, 0, 0, 0, 0]  # I
 220EL_STRUCT[54] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 0, 0, 0, 0, 0, 0, 0, 0]  # Xe
 221###########################1s 2s 2p 3s 3p 4s 3d 4p 5s  4d 5p 6s 4f 5d 6p
 222EL_STRUCT[55] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 1, 0, 0, 0, 0, 0, 0, 0]  # Cs
 223EL_STRUCT[56] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 0, 0, 0, 0, 0, 0, 0]  # Ba
 224EL_STRUCT[57] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 0, 1, 0, 0, 0, 0, 0]  # La
 225EL_STRUCT[58] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 1, 1, 0, 0, 0, 0, 0]  # Ce
 226EL_STRUCT[59] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 3, 0, 0, 0, 0, 0, 0]  # Pr
 227EL_STRUCT[60] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 4, 0, 0, 0, 0, 0, 0]  # Nd
 228EL_STRUCT[61] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 5, 0, 0, 0, 0, 0, 0]  # Pm
 229EL_STRUCT[62] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 6, 0, 0, 0, 0, 0, 0]  # Sm
 230EL_STRUCT[63] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 7, 0, 0, 0, 0, 0, 0]  # Eu
 231EL_STRUCT[64] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 7, 1, 0, 0, 0, 0, 0]  # Gd
 232EL_STRUCT[65] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 9, 0, 0, 0, 0, 0, 0]  # Tb
 233EL_STRUCT[66] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 10, 0, 0, 0, 0, 0, 0]  # Dy
 234EL_STRUCT[67] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 11, 0, 0, 0, 0, 0, 0]  # Ho
 235EL_STRUCT[68] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 12, 0, 0, 0, 0, 0, 0]  # Er
 236EL_STRUCT[69] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 13, 0, 0, 0, 0, 0, 0]  # Tm
 237EL_STRUCT[70] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 0, 0, 0, 0, 0, 0]  # Yb
 238###########################1s 2s 2p 3s 3p 4s 3d 4p 5s  4d 5p 6s  4f  5d 6p
 239EL_STRUCT[71] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 1, 0, 0, 0, 0, 0]  # Lu
 240EL_STRUCT[71] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 2, 0, 0, 0, 0, 0]  # Hf
 241EL_STRUCT[73] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 3, 0, 0, 0, 0, 0]  # Ta
 242EL_STRUCT[74] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 4, 0, 0, 0, 0, 0]  # W
 243EL_STRUCT[75] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 5, 0, 0, 0, 0, 0]  # Re
 244EL_STRUCT[76] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 6, 0, 0, 0, 0, 0]  # Os
 245EL_STRUCT[77] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 7, 0, 0, 0, 0, 0]  # Ir
 246EL_STRUCT[78] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 1, 14, 9, 0, 0, 0, 0, 0]  # Pt
 247EL_STRUCT[79] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 1, 14, 10, 0, 0, 0, 0, 0]  # Au
 248EL_STRUCT[80] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 0, 0, 0, 0, 0]  # Hg
 249###########################1s 2s 2p 3s 3p 4s 3d 4p 5s  4d 5p 6s  4f  5d 6p
 250EL_STRUCT[81] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 1, 0, 0, 0, 0]  # Tl
 251EL_STRUCT[82] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 2, 0, 0, 0, 0]  # Pb
 252EL_STRUCT[83] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 3, 0, 0, 0, 0]  # Bi
 253EL_STRUCT[84] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 4, 0, 0, 0, 0]  # Po
 254EL_STRUCT[85] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 5, 0, 0, 0, 0]  # At
 255EL_STRUCT[86] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 0, 0, 0, 0]  # Rn
 256###########################1s 2s 2p 3s 3p 4s 3d 4p 5s  4d 5p 6s  4f  5d 6p 7s 5f  6d 7p
 257EL_STRUCT[87] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 1, 0, 0, 0]  # Fr
 258EL_STRUCT[88] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 0, 0, 0]  # Ra
 259EL_STRUCT[89] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 0, 1, 0]  # Ac
 260EL_STRUCT[90] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 0, 2, 0]  # Th
 261EL_STRUCT[91] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 2, 1, 0]  # Pa
 262EL_STRUCT[92] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 3, 1, 0]  # U
 263EL_STRUCT[93] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 4, 1, 0]  # Np
 264EL_STRUCT[94] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 6, 0, 0]  # Pu
 265EL_STRUCT[95] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 7, 0, 0]  # Am
 266EL_STRUCT[96] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 7, 1, 0]  # Cm
 267EL_STRUCT[97] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 9, 0, 0]  # Bk
 268EL_STRUCT[98] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 10, 0, 0]  # Cf
 269EL_STRUCT[99] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 11, 0, 0]  # Es
 270EL_STRUCT[100] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 12, 0, 0]  # Fm
 271EL_STRUCT[101] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 13, 0, 0]  # Md
 272EL_STRUCT[102] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 0, 0]  # No
 273EL_STRUCT[103] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 0, 1]  # Lr
 274EL_STRUCT[104] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 2, 0]  # Rf
 275EL_STRUCT[105] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 3, 0]  # Db
 276EL_STRUCT[106] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 4, 0]  # Sg
 277EL_STRUCT[107] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 5, 0]  # Bh
 278EL_STRUCT[108] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 6, 0]  # Hs
 279EL_STRUCT[109] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 7, 0]  # Mt
 280EL_STRUCT[110] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 8, 0]  # Ds
 281EL_STRUCT[111] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 9, 0]  # Rg
 282EL_STRUCT[112] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 10, 0]  # Cn
 283EL_STRUCT[113] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 10, 1]  # Nh
 284EL_STRUCT[114] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 10, 2]  # Fl
 285EL_STRUCT[115] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 10, 3]  # Mc
 286EL_STRUCT[116] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 10, 4]  # Lv
 287EL_STRUCT[117] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 10, 5]  # Ts
 288EL_STRUCT[118] = [2, 2, 6, 2, 6, 2, 10, 6, 2, 10, 6, 2, 14, 10, 6, 2, 14, 10, 6]  # Og
 289EL_STRUCT = np.array(EL_STRUCT, dtype=int)
 290
 291
 292VALENCE_STRUCTURE = [[0.25] * 4] * len(PERIODIC_TABLE)
 293######################vs vp  vd  vf
 294VALENCE_STRUCTURE[1] = [1, 0, 0, 0]  # H
 295VALENCE_STRUCTURE[2] = [2, 0, 0, 0]  # He
 296VALENCE_STRUCTURE[3] = [1, 0, 0, 0]  # Li
 297VALENCE_STRUCTURE[4] = [2, 0, 0, 0]  # Be
 298VALENCE_STRUCTURE[5] = [2, 1, 0, 0]  # B
 299VALENCE_STRUCTURE[6] = [2, 2, 0, 0]  # C
 300VALENCE_STRUCTURE[7] = [2, 3, 0, 0]  # N
 301VALENCE_STRUCTURE[8] = [2, 4, 0, 0]  # O
 302VALENCE_STRUCTURE[9] = [2, 5, 0, 0]  # F
 303VALENCE_STRUCTURE[10] = [2, 6, 0, 0]  # Ne
 304VALENCE_STRUCTURE[11] = [1, 0, 0, 0]  # Na
 305VALENCE_STRUCTURE[12] = [2, 0, 0, 0]  # Mg
 306VALENCE_STRUCTURE[13] = [2, 1, 0, 0]  # Al
 307VALENCE_STRUCTURE[14] = [2, 2, 0, 0]  # Si
 308VALENCE_STRUCTURE[15] = [2, 3, 0, 0]  # P
 309VALENCE_STRUCTURE[16] = [2, 4, 0, 0]  # S
 310VALENCE_STRUCTURE[17] = [2, 5, 0, 0]  # Cl
 311VALENCE_STRUCTURE[18] = [2, 6, 0, 0]  # Ar
 312VALENCE_STRUCTURE[19] = [1, 0, 0, 0]  # K
 313VALENCE_STRUCTURE[20] = [2, 0, 0, 0]  # Ca
 314VALENCE_STRUCTURE[21] = [2, 0, 1, 0]  # Sc
 315VALENCE_STRUCTURE[22] = [2, 0, 2, 0]  # Ti
 316VALENCE_STRUCTURE[23] = [2, 0, 3, 0]  # V
 317VALENCE_STRUCTURE[24] = [1, 0, 5, 0]  # Cr
 318VALENCE_STRUCTURE[25] = [2, 0, 5, 0]  # Mn
 319VALENCE_STRUCTURE[26] = [2, 0, 6, 0]  # Fe
 320VALENCE_STRUCTURE[27] = [2, 0, 7, 0]  # Co
 321VALENCE_STRUCTURE[28] = [2, 0, 8, 0]  # Ni
 322VALENCE_STRUCTURE[29] = [1, 0, 10, 0]  # Cu
 323VALENCE_STRUCTURE[30] = [2, 0, 10, 0]  # Zn
 324VALENCE_STRUCTURE[31] = [2, 1, 10, 0]  # Ga
 325VALENCE_STRUCTURE[32] = [2, 2, 10, 0]  # Ge
 326VALENCE_STRUCTURE[33] = [2, 3, 10, 0]  # As
 327VALENCE_STRUCTURE[34] = [2, 4, 10, 0]  # Se
 328VALENCE_STRUCTURE[35] = [2, 5, 10, 0]  # Br
 329VALENCE_STRUCTURE[36] = [2, 6, 10, 0]  # Kr
 330VALENCE_STRUCTURE[37] = [1, 0, 0, 0]  # Rb
 331VALENCE_STRUCTURE[38] = [2, 0, 0, 0]  # Sr
 332VALENCE_STRUCTURE[39] = [2, 0, 1, 0]  # Y
 333VALENCE_STRUCTURE[40] = [2, 0, 2, 0]  # Zr
 334VALENCE_STRUCTURE[41] = [1, 0, 4, 0]  # Nb
 335VALENCE_STRUCTURE[42] = [1, 0, 5, 0]  # Mo
 336VALENCE_STRUCTURE[43] = [2, 0, 5, 0]  # Tc
 337VALENCE_STRUCTURE[44] = [1, 0, 7, 0]  # Ru
 338VALENCE_STRUCTURE[45] = [1, 0, 8, 0]  # Rh
 339VALENCE_STRUCTURE[46] = [0, 0, 10, 0]  # Pd
 340VALENCE_STRUCTURE[47] = [1, 0, 10, 0]  # Ag
 341VALENCE_STRUCTURE[48] = [2, 0, 10, 0]  # Cd
 342VALENCE_STRUCTURE[49] = [2, 1, 10, 0]  # In
 343VALENCE_STRUCTURE[50] = [2, 2, 10, 0]  # Sn
 344VALENCE_STRUCTURE[51] = [2, 3, 10, 0]  # Sb
 345VALENCE_STRUCTURE[52] = [2, 4, 10, 0]  # Te
 346VALENCE_STRUCTURE[53] = [2, 5, 10, 0]  # I
 347VALENCE_STRUCTURE[54] = [2, 6, 10, 0]  # Xe
 348VALENCE_STRUCTURE[55] = [1, 0, 0, 0]  # Cs
 349VALENCE_STRUCTURE[56] = [2, 0, 0, 0]  # Ba
 350VALENCE_STRUCTURE[57] = [2, 0, 1, 0]  # La
 351VALENCE_STRUCTURE[58] = [2, 0, 1, 1]  # Ce
 352VALENCE_STRUCTURE[59] = [2, 0, 0, 3]  # Pr
 353VALENCE_STRUCTURE[60] = [2, 0, 0, 4]  # Nd
 354VALENCE_STRUCTURE[61] = [2, 0, 0, 5]  # Pm
 355VALENCE_STRUCTURE[62] = [2, 0, 0, 6]  # Sm
 356VALENCE_STRUCTURE[63] = [2, 0, 0, 7]  # Eu
 357VALENCE_STRUCTURE[64] = [2, 0, 1, 7]  # Gd
 358VALENCE_STRUCTURE[65] = [2, 0, 0, 9]  # Tb
 359VALENCE_STRUCTURE[66] = [2, 0, 0, 10]  # Dy
 360VALENCE_STRUCTURE[67] = [2, 0, 0, 11]  # Ho
 361VALENCE_STRUCTURE[68] = [2, 0, 0, 12]  # Er
 362VALENCE_STRUCTURE[69] = [2, 0, 0, 13]  # Tm
 363VALENCE_STRUCTURE[70] = [2, 0, 0, 14]  # Yb
 364VALENCE_STRUCTURE[71] = [2, 0, 1, 14]  # Lu
 365VALENCE_STRUCTURE[72] = [2, 0, 2, 14]  # Hf
 366VALENCE_STRUCTURE[73] = [2, 0, 3, 14]  # Ta
 367VALENCE_STRUCTURE[74] = [2, 0, 4, 14]  # W
 368VALENCE_STRUCTURE[75] = [2, 0, 5, 14]  # Re
 369VALENCE_STRUCTURE[76] = [2, 0, 6, 14]  # Os
 370VALENCE_STRUCTURE[77] = [2, 0, 7, 14]  # Ir
 371VALENCE_STRUCTURE[78] = [1, 0, 9, 14]  # Pt
 372VALENCE_STRUCTURE[79] = [1, 0, 10, 14]  # Au
 373VALENCE_STRUCTURE[80] = [2, 0, 10, 14]  # Hg
 374VALENCE_STRUCTURE[81] = [2, 1, 10, 14]  # Tl
 375VALENCE_STRUCTURE[82] = [2, 2, 10, 14]  # Pb
 376VALENCE_STRUCTURE[83] = [2, 3, 10, 14]  # Bi
 377VALENCE_STRUCTURE[84] = [2, 4, 10, 14]  # Po
 378VALENCE_STRUCTURE[85] = [2, 5, 10, 14]  # At
 379VALENCE_STRUCTURE[86] = [2, 6, 10, 14]  # Rn
 380######################vs vp  vd  vf
 381VALENCE_STRUCTURE[87] = [1, 0, 0, 0]  # Fr
 382VALENCE_STRUCTURE[88] = [2, 0, 0, 0]  # Ra
 383VALENCE_STRUCTURE[89] = [2, 0, 1, 0]  # Ac
 384VALENCE_STRUCTURE[90] = [2, 0, 2, 0]  # Th
 385VALENCE_STRUCTURE[91] = [2, 0, 1, 2]  # Pa
 386VALENCE_STRUCTURE[92] = [2, 0, 1, 3]  # U
 387VALENCE_STRUCTURE[93] = [2, 0, 1, 4]  # Np
 388VALENCE_STRUCTURE[94] = [2, 0, 0, 6]  # Pu
 389VALENCE_STRUCTURE[95] = [2, 0, 0, 7]  # Am
 390VALENCE_STRUCTURE[96] = [2, 0, 1, 7]  # Cm
 391VALENCE_STRUCTURE[97] = [2, 0, 0, 9]  # Bk
 392VALENCE_STRUCTURE[98] = [2, 0, 0, 10]  # Cf
 393VALENCE_STRUCTURE[99] = [2, 0, 0, 11]  # Es
 394VALENCE_STRUCTURE[100] = [2, 0, 0, 12]  # Fm
 395VALENCE_STRUCTURE[101] = [2, 0, 0, 13]  # Md
 396VALENCE_STRUCTURE[102] = [2, 0, 0, 14]  # No
 397VALENCE_STRUCTURE[103] = [2, 1, 0, 14]  # Lr
 398VALENCE_STRUCTURE[104] = [2, 0, 2, 14]  # Rf
 399VALENCE_STRUCTURE[105] = [2, 0, 3, 14]  # Db
 400VALENCE_STRUCTURE[106] = [2, 0, 4, 14]  # Sg
 401VALENCE_STRUCTURE[107] = [2, 0, 5, 14]  # Bh
 402VALENCE_STRUCTURE[108] = [2, 0, 6, 14]  # Hs
 403VALENCE_STRUCTURE[109] = [2, 0, 7, 14]  # Mt
 404VALENCE_STRUCTURE[110] = [2, 0, 8, 14]  # Ds
 405VALENCE_STRUCTURE[111] = [2, 0, 9, 14]  # Rg
 406VALENCE_STRUCTURE[112] = [2, 0, 10, 14]  # Cn
 407VALENCE_STRUCTURE[113] = [2, 1, 10, 14]  # Nh
 408VALENCE_STRUCTURE[114] = [2, 2, 10, 14]  # Fl
 409VALENCE_STRUCTURE[115] = [2, 3, 10, 14]  # Mc
 410VALENCE_STRUCTURE[116] = [2, 4, 10, 14]  # Lv
 411VALENCE_STRUCTURE[117] = [2, 5, 10, 14]  # Ts
 412VALENCE_STRUCTURE[118] = [2, 6, 10, 14]  # Og
 413VALENCE_STRUCTURE = np.array(VALENCE_STRUCTURE, dtype=float)
 414
 415
 416VALENCE_ELECTRONS = VALENCE_STRUCTURE.sum(axis=1)
 417
 418VALENCE_STRUCTURE_FULL = [[[0] * 9, [0] * 9]] * len(PERIODIC_TABLE)
 419###########################################
 420VALENCE_STRUCTURE_FULL[1] = [[1] + [0] * 8, [0] * 9]  # H
 421VALENCE_STRUCTURE_FULL[2] = [[1] + [0] * 8, [1] + [0] * 8]  # He
 422###########################################
 423VALENCE_STRUCTURE_FULL[3] = [[1] + [0] * 8, [0] * 9]  # Li
 424VALENCE_STRUCTURE_FULL[4] = [[1] + [0] * 8, [1] + [0] * 8]  # Be
 425###########################################
 426VALENCE_STRUCTURE_FULL[5] = [[1] * 2 + [0] * 7, [1] + [0] * 8]  # B
 427VALENCE_STRUCTURE_FULL[6] = [[1] * 3 + [0] * 6, [1] + [0] * 8]  # C
 428VALENCE_STRUCTURE_FULL[7] = [[1] * 4 + [0] * 5, [1] + [0] * 8]  # N
 429VALENCE_STRUCTURE_FULL[8] = [[1] * 4 + [0] * 5, [1] * 2 + [0] * 7]  # O
 430VALENCE_STRUCTURE_FULL[9] = [[1] * 4 + [0] * 5, [1] * 3 + [0] * 6]  # F
 431VALENCE_STRUCTURE_FULL[10] = [[1] * 4 + [0] * 5, [1] * 4 + [0] * 5]  # Ne
 432###########################################
 433VALENCE_STRUCTURE_FULL[11] = [[1] + [0] * 8, [0] * 9]  # Na
 434VALENCE_STRUCTURE_FULL[12] = [[1] + [0] * 8, [1] + [0] * 8]  # Mg
 435###########################################
 436VALENCE_STRUCTURE_FULL[13] = [[1] * 2 + [0] * 7, [1] + [0] * 8]  # Al
 437VALENCE_STRUCTURE_FULL[14] = [[1] * 3 + [0] * 6, [1] + [0] * 8]  # Si
 438VALENCE_STRUCTURE_FULL[15] = [[1] * 4 + [0] * 5, [1] + [0] * 8]  # P
 439VALENCE_STRUCTURE_FULL[16] = [[1] * 4 + [0] * 5, [1] * 2 + [0] * 7]  # S
 440VALENCE_STRUCTURE_FULL[17] = [[1] * 4 + [0] * 5, [1] * 3 + [0] * 6]  # Cl
 441VALENCE_STRUCTURE_FULL[18] = [[1] * 4 + [0] * 5, [1] * 4 + [0] * 5]  # Ar
 442###########################################
 443VALENCE_STRUCTURE_FULL[19] = [[1] + [0] * 8, [0] * 9]  # K
 444VALENCE_STRUCTURE_FULL[20] = [[1] + [0] * 8, [1] + [0] * 8]  # Ca
 445###########################################
 446VALENCE_STRUCTURE_FULL[21] = [
 447    [1] + [0] * 3 + [1] * 1 + [0] * 4,
 448    [1] + [0] * 3 + [0] * 5,
 449]  # Sc
 450VALENCE_STRUCTURE_FULL[22] = [
 451    [1] + [0] * 3 + [1] * 2 + [0] * 3,
 452    [1] + [0] * 3 + [0] * 5,
 453]  # Ti
 454VALENCE_STRUCTURE_FULL[23] = [
 455    [1] + [0] * 3 + [1] * 3 + [0] * 2,
 456    [1] + [0] * 3 + [0] * 5,
 457]  # V
 458VALENCE_STRUCTURE_FULL[24] = [
 459    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 460    [0] + [0] * 3 + [0] * 5,
 461]  # Cr
 462VALENCE_STRUCTURE_FULL[25] = [
 463    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 464    [1] + [0] * 3 + [0] * 5,
 465]  # Mn
 466VALENCE_STRUCTURE_FULL[26] = [
 467    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 468    [1] + [0] * 3 + [1] * 1 + [0] * 4,
 469]  # Fe
 470VALENCE_STRUCTURE_FULL[27] = [
 471    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 472    [1] + [0] * 3 + [1] * 2 + [0] * 3,
 473]  # Co
 474VALENCE_STRUCTURE_FULL[28] = [
 475    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 476    [1] + [0] * 3 + [1] * 3 + [0] * 2,
 477]  # Ni
 478VALENCE_STRUCTURE_FULL[29] = [
 479    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 480    [1] + [0] * 3 + [1] * 4 + [0] * 1,
 481]  # Cu
 482VALENCE_STRUCTURE_FULL[30] = [
 483    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 484    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 485]  # Zn
 486###########################################
 487VALENCE_STRUCTURE_FULL[31] = [
 488    [1] * 2 + [0] * 2 + [1] * 5,
 489    [1] * 1 + [0] * 3 + [1] * 5,
 490]  # Ga
 491VALENCE_STRUCTURE_FULL[32] = [
 492    [1] * 3 + [0] * 1 + [1] * 5,
 493    [1] * 1 + [0] * 3 + [1] * 5,
 494]  # Ge
 495VALENCE_STRUCTURE_FULL[33] = [
 496    [1] * 4 + [0] * 0 + [1] * 5,
 497    [1] * 1 + [0] * 3 + [1] * 5,
 498]  # As
 499VALENCE_STRUCTURE_FULL[34] = [
 500    [1] * 4 + [0] * 0 + [1] * 5,
 501    [1] * 2 + [0] * 2 + [1] * 5,
 502]  # Se
 503VALENCE_STRUCTURE_FULL[35] = [
 504    [1] * 4 + [0] * 0 + [1] * 5,
 505    [1] * 3 + [0] * 1 + [1] * 5,
 506]  # Br
 507VALENCE_STRUCTURE_FULL[36] = [
 508    [1] * 4 + [0] * 0 + [1] * 5,
 509    [1] * 4 + [0] * 0 + [1] * 5,
 510]  # Kr
 511###########################################
 512VALENCE_STRUCTURE_FULL[37] = [[1] + [0] * 8, [0] * 9]  # Rb
 513VALENCE_STRUCTURE_FULL[38] = [[1] + [0] * 8, [1] + [0] * 8]  # Sr
 514###########################################
 515VALENCE_STRUCTURE_FULL[39] = [
 516    [1] + [0] * 3 + [1] * 1 + [0] * 4,
 517    [1] + [0] * 3 + [0] * 5,
 518]  # Y
 519VALENCE_STRUCTURE_FULL[40] = [
 520    [1] + [0] * 3 + [1] * 2 + [0] * 3,
 521    [1] + [0] * 3 + [0] * 5,
 522]  # Zr
 523VALENCE_STRUCTURE_FULL[41] = [
 524    [1] + [0] * 3 + [1] * 3 + [0] * 2,
 525    [0] + [0] * 3 + [0] * 5,
 526]  # Nb
 527VALENCE_STRUCTURE_FULL[42] = [
 528    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 529    [0] + [0] * 3 + [0] * 5,
 530]  # Mo
 531VALENCE_STRUCTURE_FULL[43] = [
 532    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 533    [1] + [0] * 3 + [0] * 5,
 534]  # Tc
 535VALENCE_STRUCTURE_FULL[44] = [
 536    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 537    [1] + [0] * 3 + [1] * 1 + [0] * 4,
 538]  # Ru
 539VALENCE_STRUCTURE_FULL[45] = [
 540    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 541    [1] + [0] * 3 + [1] * 2 + [0] * 3,
 542]  # Rh
 543VALENCE_STRUCTURE_FULL[46] = [
 544    [0] + [0] * 3 + [1] * 5 + [0] * 0,
 545    [0] + [0] * 3 + [1] * 5 + [0] * 0,
 546]  # Pd
 547VALENCE_STRUCTURE_FULL[47] = [
 548    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 549    [1] + [0] * 3 + [1] * 4 + [0] * 1,
 550]  # Ag
 551VALENCE_STRUCTURE_FULL[48] = [
 552    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 553    [1] + [0] * 3 + [1] * 5 + [0] * 0,
 554]  # Cd
 555###########################################
 556VALENCE_STRUCTURE_FULL[49] = [
 557    [1] * 2 + [0] * 2 + [1] * 5,
 558    [1] * 1 + [0] * 3 + [1] * 5,
 559]  # In
 560VALENCE_STRUCTURE_FULL[50] = [
 561    [1] * 3 + [0] * 1 + [1] * 5,
 562    [1] * 1 + [0] * 3 + [1] * 5,
 563]  # Sn
 564VALENCE_STRUCTURE_FULL[51] = [
 565    [1] * 4 + [0] * 0 + [1] * 5,
 566    [1] * 1 + [0] * 3 + [1] * 5,
 567]  # Sb
 568VALENCE_STRUCTURE_FULL[52] = [
 569    [1] * 4 + [0] * 0 + [1] * 5,
 570    [1] * 2 + [0] * 2 + [1] * 5,
 571]  # Te
 572VALENCE_STRUCTURE_FULL[53] = [
 573    [1] * 4 + [0] * 0 + [1] * 5,
 574    [1] * 3 + [0] * 1 + [1] * 5,
 575]  # I
 576VALENCE_STRUCTURE_FULL[54] = [
 577    [1] * 4 + [0] * 0 + [1] * 5,
 578    [1] * 4 + [0] * 0 + [1] * 5,
 579]  # Xe
 580###########################################
 581
 582VALENCE_STRUCTURE_FULL = np.array(VALENCE_STRUCTURE_FULL, dtype=int)
 583
 584# ATOMIC ELECTRONEGATIVITIES FROM
 585# A generally applicable atomic-charge dependent London dispersion correction (SI)
 586# (Caldeweyher et al.)
 587D3_ELECTRONEGATIVITIES = np.array(
 588    [1.0]
 589    + [
 590        1.23695041,
 591        1.26590957,
 592        0.54341808,
 593        0.99666991,
 594        1.26691604,
 595        1.40028282,
 596        1.55819364,
 597        1.56866440,
 598        1.57540015,
 599        1.15056627,
 600        0.55936220,
 601        0.72373742,
 602        1.12910844,
 603        1.12306840,
 604        1.52672442,
 605        1.40768172,
 606        1.48154584,
 607        1.31062963,
 608        0.40374140,
 609        0.75442607,
 610        0.76482096,
 611        0.98457281,
 612        0.96702598,
 613        1.05266584,
 614        0.93274875,
 615        1.04025281,
 616        0.92738624,
 617        1.07419210,
 618        1.07900668,
 619        1.04712861,
 620        1.15018618,
 621        1.15388455,
 622        1.36313743,
 623        1.36485106,
 624        1.39801837,
 625        1.18695346,
 626        0.36273870,
 627        0.58797255,
 628        0.71961946,
 629        0.96158233,
 630        0.89585296,
 631        0.81360499,
 632        1.00794665,
 633        0.92613682,
 634        1.09152285,
 635        1.14907070,
 636        1.13508911,
 637        1.08853785,
 638        1.11005982,
 639        1.12452195,
 640        1.21642129,
 641        1.36507125,
 642        1.40340000,
 643        1.16653482,
 644        0.34125098,
 645        0.58884173,
 646        0.68441115,
 647        0.56999999,
 648        0.56999999,
 649        0.56999999,
 650        0.56999999,
 651        0.56999999,
 652        0.56999999,
 653        0.56999999,
 654        0.56999999,
 655        0.56999999,
 656        0.56999999,
 657        0.56999999,
 658        0.56999999,
 659        0.56999999,
 660        0.56999999,
 661        0.87936784,
 662        1.02761808,
 663        0.93297476,
 664        1.10172128,
 665        0.97350071,
 666        1.16695666,
 667        1.23997927,
 668        1.18464453,
 669        1.14191734,
 670        1.12334192,
 671        1.01485321,
 672        1.12950808,
 673        1.30804834,
 674        1.33689961,
 675        1.27465977,
 676    ]
 677    + [1.0]
 678)
 679
 680D3_HARDNESSES = np.array(
 681    [1.0e1]
 682    + [
 683        -0.35015861,
 684        1.04121227,
 685        0.09281243,
 686        0.09412380,
 687        0.26629137,
 688        0.19408787,
 689        0.05317918,
 690        0.03151644,
 691        0.32275132,
 692        1.30996037,
 693        0.24206510,
 694        0.04147733,
 695        0.11634126,
 696        0.13155266,
 697        0.15350650,
 698        0.15250997,
 699        0.17523529,
 700        0.28774450,
 701        0.42937314,
 702        0.01896455,
 703        0.07179178,
 704        -0.01121381,
 705        -0.03093370,
 706        0.02716319,
 707        -0.01843812,
 708        -0.15270393,
 709        -0.09192645,
 710        -0.13418723,
 711        -0.09861139,
 712        0.18338109,
 713        0.08299615,
 714        0.11370033,
 715        0.19005278,
 716        0.10980677,
 717        0.12327841,
 718        0.25345554,
 719        0.58615231,
 720        0.16093861,
 721        0.04548530,
 722        -0.02478645,
 723        0.01909943,
 724        0.01402541,
 725        -0.03595279,
 726        0.01137752,
 727        -0.03697213,
 728        0.08009416,
 729        0.02274892,
 730        0.12801822,
 731        -0.02078702,
 732        0.05284319,
 733        0.07581190,
 734        0.09663758,
 735        0.09547417,
 736        0.07803344,
 737        0.64913257,
 738        0.15348654,
 739        0.05054344,
 740        0.11000000,
 741        0.11000000,
 742        0.11000000,
 743        0.11000000,
 744        0.11000000,
 745        0.11000000,
 746        0.11000000,
 747        0.11000000,
 748        0.11000000,
 749        0.11000000,
 750        0.11000000,
 751        0.11000000,
 752        0.11000000,
 753        0.11000000,
 754        -0.02786741,
 755        0.01057858,
 756        -0.03892226,
 757        -0.04574364,
 758        -0.03874080,
 759        -0.03782372,
 760        -0.07046855,
 761        0.09546597,
 762        0.21953269,
 763        0.02522348,
 764        0.15263050,
 765        0.08042611,
 766        0.01878626,
 767        0.08715453,
 768        0.10500484,
 769    ]
 770    + [1.0e1]
 771)
 772
 773D3_KAPPA = np.array(
 774    [0.0]
 775    + [
 776        0.04916110,
 777        0.10937243,
 778        -0.12349591,
 779        -0.02665108,
 780        -0.02631658,
 781        0.06005196,
 782        0.09279548,
 783        0.11689703,
 784        0.15704746,
 785        0.07987901,
 786        -0.10002962,
 787        -0.07712863,
 788        -0.02170561,
 789        -0.04964052,
 790        0.14250599,
 791        0.07126660,
 792        0.13682750,
 793        0.14877121,
 794        -0.10219289,
 795        -0.08979338,
 796        -0.08273597,
 797        -0.01754829,
 798        -0.02765460,
 799        -0.02558926,
 800        -0.08010286,
 801        -0.04163215,
 802        -0.09369631,
 803        -0.03774117,
 804        -0.05759708,
 805        0.02431998,
 806        -0.01056270,
 807        -0.02692862,
 808        0.07657769,
 809        0.06561608,
 810        0.08006749,
 811        0.14139200,
 812        -0.05351029,
 813        -0.06701705,
 814        -0.07377246,
 815        -0.02927768,
 816        -0.03867291,
 817        -0.06929825,
 818        -0.04485293,
 819        -0.04800824,
 820        -0.01484022,
 821        0.07917502,
 822        0.06619243,
 823        0.02434095,
 824        -0.01505548,
 825        -0.03030768,
 826        0.01418235,
 827        0.08953411,
 828        0.08967527,
 829        0.07277771,
 830        -0.02129476,
 831        -0.06188828,
 832        -0.06568203,
 833        -0.11000000,
 834        -0.11000000,
 835        -0.11000000,
 836        -0.11000000,
 837        -0.11000000,
 838        -0.11000000,
 839        -0.11000000,
 840        -0.11000000,
 841        -0.11000000,
 842        -0.11000000,
 843        -0.11000000,
 844        -0.11000000,
 845        -0.11000000,
 846        -0.11000000,
 847        -0.03585873,
 848        -0.03132400,
 849        -0.05902379,
 850        -0.02827592,
 851        -0.07606260,
 852        -0.02123839,
 853        0.03814822,
 854        0.02146834,
 855        0.01580538,
 856        -0.00894298,
 857        -0.05864876,
 858        -0.01817842,
 859        0.07721851,
 860        0.07936083,
 861        0.05849285,
 862    ]
 863    + [0.0]
 864)
 865
 866D3_VDW_RADII = np.array(
 867    [1.0]
 868    + [
 869        0.55159092,
 870        0.66205886,
 871        0.90529132,
 872        1.51710827,
 873        2.86070364,
 874        1.88862966,
 875        1.32250290,
 876        1.23166285,
 877        1.77503721,
 878        1.11955204,
 879        1.28263182,
 880        1.22344336,
 881        1.70936266,
 882        1.54075036,
 883        1.38200579,
 884        2.18849322,
 885        1.36779065,
 886        1.27039703,
 887        1.64466502,
 888        1.58859404,
 889        1.65357953,
 890        1.50021521,
 891        1.30104175,
 892        1.46301827,
 893        1.32928147,
 894        1.02766713,
 895        1.02291377,
 896        0.94343886,
 897        1.14881311,
 898        1.47080755,
 899        1.76901636,
 900        1.98724061,
 901        2.41244711,
 902        2.26739524,
 903        2.95378999,
 904        1.20807752,
 905        1.65941046,
 906        1.62733880,
 907        1.61344972,
 908        1.63220728,
 909        1.60899928,
 910        1.43501286,
 911        1.54559205,
 912        1.32663678,
 913        1.37644152,
 914        1.36051851,
 915        1.23395526,
 916        1.65734544,
 917        1.53895240,
 918        1.97542736,
 919        1.97636542,
 920        2.05432381,
 921        3.80138135,
 922        1.43893803,
 923        1.75505957,
 924        1.59815118,
 925        1.76401732,
 926        1.63999999,
 927        1.63999999,
 928        1.63999999,
 929        1.63999999,
 930        1.63999999,
 931        1.63999999,
 932        1.63999999,
 933        1.63999999,
 934        1.63999999,
 935        1.63999999,
 936        1.63999999,
 937        1.63999999,
 938        1.63999999,
 939        1.63999999,
 940        1.47055223,
 941        1.81127084,
 942        1.40189963,
 943        1.54015481,
 944        1.33721475,
 945        1.57165422,
 946        1.04815857,
 947        1.78342098,
 948        2.79106396,
 949        1.78160840,
 950        2.47588882,
 951        2.37670734,
 952        1.76613217,
 953        2.66172302,
 954        2.82773085,
 955    ]
 956    + [1.0]
 957)
 958
 959D3_COV_RADII = np.array(
 960    [1.0]
 961    + [
 962        0.32,
 963        0.46,
 964        1.33,
 965        1.02,
 966        0.85,
 967        0.75,
 968        0.71,
 969        0.63,
 970        0.64,
 971        0.67,
 972        1.55,
 973        1.39,
 974        1.26,
 975        1.16,
 976        1.11,
 977        1.03,
 978        0.99,
 979        0.96,
 980        1.96,
 981        1.71,
 982        1.48,
 983        1.36,
 984        1.34,
 985        1.22,
 986        1.19,
 987        1.16,
 988        1.11,
 989        1.10,
 990        1.12,
 991        1.18,
 992        1.24,
 993        1.21,
 994        1.21,
 995        1.16,
 996        1.14,
 997        1.17,
 998        2.10,
 999        1.85,
1000        1.63,
1001        1.54,
1002        1.47,
1003        1.38,
1004        1.28,
1005        1.25,
1006        1.25,
1007        1.20,
1008        1.28,
1009        1.36,
1010        1.42,
1011        1.40,
1012        1.40,
1013        1.36,
1014        1.33,
1015        1.31,
1016        2.32,
1017        1.96,
1018        1.80,
1019        1.63,
1020        1.76,
1021        1.74,
1022        1.73,
1023        1.72,
1024        1.68,
1025        1.69,
1026        1.68,
1027        1.67,
1028        1.66,
1029        1.65,
1030        1.64,
1031        1.70,
1032        1.62,
1033        1.52,
1034        1.46,
1035        1.37,
1036        1.31,
1037        1.29,
1038        1.22,
1039        1.23,
1040        1.24,
1041        1.33,
1042        1.44,
1043        1.44,
1044        1.51,
1045        1.45,
1046        1.47,
1047        1.42,
1048    ]
1049    + [1.0]
1050)
1051D3_COV_RADII = D3_COV_RADII/ au.BOHR
1052
1053# free atom vdw radii in bohr from Tkatchenko-Scheffler
1054VDW_RADII_TS = np.array([
1055    1.0,  # Dummy
1056    3.1,  # H
1057    2.65,  # He
1058    4.16,  # Li
1059    4.17,  # Be
1060    3.89,  # B
1061    3.59,  # C
1062    3.34,  # N
1063    3.19,  # O
1064    3.04,  # F
1065    2.91,  # Ne
1066    3.73,  # Na
1067    4.27,  # Mg
1068    4.33,  # Al
1069    4.2,  # Si
1070    4.01,  # P
1071    3.86,  # S
1072    3.71,  # Cl
1073    3.55,  # Ar
1074    3.71,  # K
1075    4.65,  # Ca
1076    4.59,  # Sc
1077    4.51,  # Ti
1078    4.44,  # V
1079    3.99,  # Cr
1080    3.97,  # Mn
1081    4.23,  # Fe
1082    4.18,  # Co
1083    3.82,  # Ni
1084    3.76,  # Cu
1085    4.02,  # Zn
1086    4.19,  # Ga
1087    4.2,  # Ge
1088    4.11,  # As
1089    4.04,  # Se
1090    3.93,  # Br
1091    3.82,  # Kr
1092    3.72,  # Rb
1093    4.54,  # Sr
1094    4.8151,  # Y
1095    4.53,  # Zr
1096    4.2365,  # Nb
1097    4.099,  # Mo
1098    4.076,  # Tc
1099    3.9953,  # Ru
1100    3.95,  # Rh
1101    3.66,  # Pd
1102    3.82,  # Ag
1103    3.99,  # Cd
1104    4.23198,  # In
1105    4.303,  # Sn
1106    4.276,  # Sb
1107    4.22,  # Te
1108    4.17,  # I
1109    4.08,  # Xe
1110    3.78,  # Cs
1111    4.77,  # Ba
1112    3.14,  # La
1113    3.26,  # Ce
1114    3.28,  # Pr
1115    3.3,  # Nd
1116    3.27,  # Pm
1117    3.32,  # Sm
1118    3.4,  # Eu
1119    3.62,  # Gd
1120    3.42,  # Tb
1121    3.26,  # Dy
1122    3.24,  # Ho
1123    3.3,  # Er
1124    3.26,  # Tm
1125    3.22,  # Yb
1126    3.2,  # Lu
1127    4.21,  # Hf
1128    4.15,  # Ta
1129    4.08,  # W
1130    4.02,  # Re
1131    3.84,  # Os
1132    4.0,  # Ir
1133    3.92,  # Pt
1134    3.86,  # Au
1135    3.98,  # Hg
1136    3.91,  # Tl
1137    4.31,  # Pb
1138    4.32,  # Bi
1139    4.097,  # Po
1140    4.07,  # At
1141    4.23,  # Rn
1142    3.9,  # Fr
1143    4.98,  # Ra
1144    2.75,  # Ac
1145    2.85,  # Th
1146    2.71,  # Pa
1147    3.0,  # U
1148    3.28,  # Np
1149    3.45,  # Pu
1150    3.51,  # Am
1151    3.47,  # Cm
1152    3.56,  # Bk
1153    3.55,  # Cf
1154    3.76,  # Es
1155    3.89,  # Fm
1156    3.93,  # Md
1157    3.78,  # No
1158    1.0,  # Dummy
1159])
1160
1161# free atom C6 coefficients in hartree*bohr**6
1162C6_FREE = np.array([
1163    1.0,  # Dummy
1164    6.5,  # H
1165    1.46,  # He
1166    1387.0,  # Li
1167    214.0,  # Be
1168    99.5,  # B
1169    46.6,  # C
1170    24.2,  # N
1171    15.6,  # O
1172    9.52,  # F
1173    6.38,  # Ne
1174    1556.0,  # Na
1175    627.0,  # Mg
1176    528.0,  # Al
1177    305.0,  # Si
1178    185.0,  # P
1179    134.0,  # S
1180    94.6,  # Cl
1181    64.3,  # Ar
1182    3897.0,  # K
1183    2221.0,  # Ca
1184    1383.0,  # Sc
1185    1044.0,  # Ti
1186    832.0,  # V
1187    602.0,  # Cr
1188    552.0,  # Mn
1189    482.0,  # Fe
1190    408.0,  # Co
1191    373.0,  # Ni
1192    253.0,  # Cu
1193    284.0,  # Zn
1194    498.0,  # Ga
1195    354.0,  # Ge
1196    246.0,  # As
1197    210.0,  # Se
1198    162.0,  # Br
1199    129.6,  # Kr
1200    4691.0,  # Rb
1201    3170.0,  # Sr
1202    1968.58,  # Y
1203    1677.91,  # Zr
1204    1263.61,  # Nb
1205    1028.73,  # Mo
1206    1390.87,  # Tc
1207    609.754,  # Ru
1208    469.0,  # Rh
1209    157.5,  # Pd
1210    339.0,  # Ag
1211    452.0,  # Cd
1212    707.046,  # In
1213    587.417,  # Sn
1214    459.322,  # Sb
1215    396.0,  # Te
1216    385.0,  # I
1217    285.9,  # Xe
1218    6582.08,  # Cs
1219    5727.0,  # Ba
1220    3884.5,  # La
1221    3708.33,  # Ce
1222    3911.84,  # Pr
1223    3908.75,  # Nd
1224    3847.68,  # Pm
1225    3708.69,  # Sm
1226    3511.71,  # Eu
1227    2781.53,  # Gd
1228    3124.41,  # Tb
1229    2984.29,  # Dy
1230    2839.95,  # Ho
1231    2724.12,  # Er
1232    2576.78,  # Tm
1233    2387.53,  # Yb
1234    2371.8,  # Lu
1235    1274.8,  # Hf
1236    1019.92,  # Ta
1237    847.93,  # W
1238    710.2,  # Re
1239    596.67,  # Os
1240    359.1,  # Ir
1241    347.1,  # Pt
1242    298.0,  # Au
1243    392.0,  # Hg
1244    717.44,  # Tl
1245    697.0,  # Pb
1246    571.0,  # Bi
1247    530.92,  # Po
1248    457.53,  # At
1249    420.6,  # 390.63,  #Rn
1250    4224.44,  # Fr
1251    4851.32,  # Ra
1252    3604.41,  # Ac
1253    4047.54,  # Th
1254    2367.42,  # Pa
1255    1877.1,  # U
1256    2507.88,  # Np
1257    2117.27,  # Pu
1258    2110.98,  # Am
1259    2403.22,  # Cm
1260    1985.82,  # Bk
1261    1891.92,  # Cf
1262    1851.1,  # Es
1263    1787.07,  # Fm
1264    1701.0,  # Md
1265    1578.18,  # No
1266    1.0,  # Dummy
1267])
1268
1269# free atom polarizabilities in bohr**3
1270POLARIZABILITIES = np.ones(len(PERIODIC_TABLE),dtype=float) #[1.0] * len(PERIODIC_TABLE)
1271POLARIZABILITIES[1] = 4.5
1272POLARIZABILITIES[2] = 1.38
1273POLARIZABILITIES[3] = 164
1274POLARIZABILITIES[4] = 37.7010
1275POLARIZABILITIES[5] = 20.5010
1276POLARIZABILITIES[6] = 11.3020
1277POLARIZABILITIES[7] = 7.4020
1278POLARIZABILITIES[8] = 5.3020
1279POLARIZABILITIES[9] = 3.74080
1280POLARIZABILITIES[10] = 2.66
1281POLARIZABILITIES[11] = 163.010
1282POLARIZABILITIES[12] = 71.2040
1283POLARIZABILITIES[13] = 57.8010
1284POLARIZABILITIES[14] = 37.3070
1285POLARIZABILITIES[15] = 25.010
1286POLARIZABILITIES[16] = 19.4010
1287POLARIZABILITIES[17] = 14.6020
1288POLARIZABILITIES[18] = 11.1
1289POLARIZABILITIES[19] = 290.010
1290POLARIZABILITIES[20] = 161.040
1291POLARIZABILITIES[21] = 9710
1292POLARIZABILITIES[22] = 10010
1293POLARIZABILITIES[23] = 8710
1294POLARIZABILITIES[24] = 8312
1295POLARIZABILITIES[25] = 68.090
1296POLARIZABILITIES[26] = 62.040
1297POLARIZABILITIES[27] = 55.040
1298POLARIZABILITIES[28] = 49.030
1299POLARIZABILITIES[29] = 47.010
1300POLARIZABILITIES[30] = 38.7030
1301POLARIZABILITIES[31] = 50.030
1302POLARIZABILITIES[32] = 40.010
1303POLARIZABILITIES[33] = 30.010
1304POLARIZABILITIES[34] = 29.010
1305POLARIZABILITIES[35] = 21.010
1306POLARIZABILITIES[36] = 16.8
1307POLARIZABILITIES[37] = 320.010
1308POLARIZABILITIES[38] = 197.010
1309POLARIZABILITIES[39] = 16212
1310POLARIZABILITIES[40] = 11213
1311POLARIZABILITIES[41] = 98.080
1312POLARIZABILITIES[42] = 87.060
1313POLARIZABILITIES[43] = 7910
1314POLARIZABILITIES[44] = 7210
1315POLARIZABILITIES[45] = 6610
1316POLARIZABILITIES[46] = 26.1010
1317POLARIZABILITIES[47] = 55.080
1318POLARIZABILITIES[48] = 46.020
1319POLARIZABILITIES[49] = 65.040
1320POLARIZABILITIES[50] = 53.060
1321POLARIZABILITIES[51] = 43.020
1322POLARIZABILITIES[52] = 38.040
1323POLARIZABILITIES[53] = 32.9010
1324POLARIZABILITIES[54] = 27.3020
1325POLARIZABILITIES[55] = 401.010
1326POLARIZABILITIES[56] = 27210
1327POLARIZABILITIES[57] = 21520
1328POLARIZABILITIES[58] = 20520
1329POLARIZABILITIES[59] = 21620
1330POLARIZABILITIES[60] = 20820
1331POLARIZABILITIES[61] = 20020
1332POLARIZABILITIES[62] = 19220
1333POLARIZABILITIES[63] = 18420
1334POLARIZABILITIES[64] = 15820
1335POLARIZABILITIES[65] = 17020
1336POLARIZABILITIES[66] = 16515
1337POLARIZABILITIES[67] = 15610
1338POLARIZABILITIES[68] = 15015
1339POLARIZABILITIES[69] = 14415
1340POLARIZABILITIES[70] = 139.060
1341POLARIZABILITIES[71] = 137.070
1342POLARIZABILITIES[72] = 103.060
1343POLARIZABILITIES[73] = 7420
1344POLARIZABILITIES[74] = 6815
1345POLARIZABILITIES[75] = 62.030
1346POLARIZABILITIES[76] = 57.030
1347POLARIZABILITIES[77] = 54.070
1348POLARIZABILITIES[78] = 48.040
1349POLARIZABILITIES[79] = 36.030
1350POLARIZABILITIES[80] = 33.9040
1351POLARIZABILITIES[81] = 50.020
1352POLARIZABILITIES[82] = 47.030
1353POLARIZABILITIES[83] = 48.040
1354POLARIZABILITIES[84] = 44.040
1355POLARIZABILITIES[85] = 42.040
1356POLARIZABILITIES[86] = 35.020
1357POLARIZABILITIES[87] = 318.020
1358POLARIZABILITIES[88] = 246.040
1359POLARIZABILITIES[89] = 20312
1360POLARIZABILITIES[90] = 21754
1361POLARIZABILITIES[91] = 15420
1362POLARIZABILITIES[92] = 12917
1363POLARIZABILITIES[93] = 15120
1364POLARIZABILITIES[94] = 13220
1365POLARIZABILITIES[95] = 13125
1366POLARIZABILITIES[96] = 14425
1367POLARIZABILITIES[97] = 12525
1368POLARIZABILITIES[98] = 12220
1369POLARIZABILITIES[99] = 11820
1370POLARIZABILITIES[100] = 11320
1371POLARIZABILITIES[101] = 10920
1372POLARIZABILITIES[102] = 110.060
1373POLARIZABILITIES[103] = 32020
1374POLARIZABILITIES[104] = 11210
1375POLARIZABILITIES[105] = 42.040
1376POLARIZABILITIES[106] = 40.040
1377POLARIZABILITIES[107] = 38.040
1378POLARIZABILITIES[108] = 36.040
1379POLARIZABILITIES[109] = 34.030
1380POLARIZABILITIES[110] = 32.030
1381POLARIZABILITIES[111] = 32.060
1382POLARIZABILITIES[112] = 28.020
1383POLARIZABILITIES[113] = 29.020
1384POLARIZABILITIES[114] = 31.040
1385POLARIZABILITIES[115] = 7120
1386POLARIZABILITIES[116] = np.nan
1387POLARIZABILITIES[117] = 7615
1388POLARIZABILITIES[118] = 58.060
1389
1390# POLARIZABILITIES = [
1391#    1.0,  #Dummy
1392#    4.5,  #H
1393#    1.38,  #He
1394#    164.2,  #Li
1395#    38.0,  #Be
1396#    21.0,  #B
1397#    12.0,  #C
1398#    7.4,  #N
1399#    5.4,  #O
1400#    3.8,  #F
1401#    2.67,  #Ne
1402#    162.7,  #Na
1403#    71.0,  #Mg
1404#    60.0,  #Al
1405#    37.0,  #Si
1406#    25.0,  #P
1407#    19.6,  #S
1408#    15.0,  #Cl
1409#    11.1,  #Ar
1410#    292.9,  #K
1411#    160.0,  #Ca
1412#    120.0,  #Sc
1413#    98.0,  #Ti
1414#    84.0,  #V
1415#    78.0,  #Cr
1416#    63.0,  #Mn
1417#    56.0,  #Fe
1418#    50.0,  #Co
1419#    48.0,  #Ni
1420#    42.0,  #Cu
1421#    40.0,  #Zn
1422#    60.0,  #Ga
1423#    41.0,  #Ge
1424#    29.0,  #As
1425#    25.0,  #Se
1426#    20.0,  #Br
1427#    16.8,  #Kr
1428#    319.2,  #Rb
1429#    199.0,  #Sr
1430#    126.737,  #Y
1431#    119.97,  #Zr
1432#    101.603,  #Nb
1433#    88.4225785,  #Mo
1434#    80.083,  #Tc
1435#    65.895,  #Ru
1436#    56.1,  #Rh
1437#    23.68,  #Pd
1438#    50.6,  #Ag
1439#    39.7,  #Cd
1440#    70.22,  #In
1441#    55.95,  #Sn
1442#    43.67197,  #Sb
1443#    37.65,  #Te
1444#    35.0,  #I
1445#    27.3,  #Xe
1446#    427.12,  #Cs
1447#    275.0,  #Ba
1448#    213.7,  #La
1449#    204.7,  #Ce
1450#    215.8,  #Pr
1451#    208.4,  #Nd
1452#    200.2,  #Pm
1453#    192.1,  #Sm
1454#    184.2,  #Eu
1455#    158.3,  #Gd
1456#    169.5,  #Tb
1457#    164.64,  #Dy
1458#    156.3,  #Ho
1459#    150.2,  #Er
1460#    144.3,  #Tm
1461#    138.9,  #Yb
1462#    137.2,  #Lu
1463#    99.52,  #Hf
1464#    82.53,  #Ta
1465#    71.041,  #W
1466#    63.04,  #Re
1467#    55.055,  #Os
1468#    42.51,  #Ir
1469#    39.68,  #Pt
1470#    36.5,  #Au
1471#    33.9,  #Hg
1472#    69.92,  #Tl
1473#    61.8,  #Pb
1474#    49.02,  #Bi
1475#    45.013,  #Po
1476#    38.93,  #At
1477#    33.54,  #Rn
1478#    317.8,  #Fr
1479#    246.2,  #Ra
1480#    203.3,  #Ac
1481#    217.0,  #Th
1482#    154.4,  #Pa
1483#    127.8,  #U
1484#    150.5,  #Np
1485#    132.2,  #Pu
1486#    131.2,  #Am
1487#    143.6,  #Cm
1488#    125.3,  #Bk
1489#    121.5,  #Cf
1490#    117.5,  #Es
1491#    113.4,  #Fm
1492#    109.4,  #Md
1493#    105.4,  #No
1494#    1.0,  #Dummy
1495# ]
1496
1497# VDW radii in bohr from Charry, Tkatchenko, J. Chem. Theory Comput. 2024, 20, 17, 7469–7478
1498VDW_RADII = np.ones(len(PERIODIC_TABLE),dtype=float) #[1.0] * len(PERIODIC_TABLE)
1499VDW_RADII[1] = 3.164697
1500VDW_RADII[2] = 2.672999
1501VDW_RADII[3] = 5.289595
1502VDW_RADII[4] = 4.287516
1503VDW_RADII[5] = 3.930227
1504VDW_RADII[6] = 3.609691
1505VDW_RADII[7] = 3.39813
1506VDW_RADII[8] = 3.24017
1507VDW_RADII[9] = 3.082294
1508VDW_RADII[10] = 2.935712
1509VDW_RADII[11] = 5.285046
1510VDW_RADII[12] = 4.695238
1511VDW_RADII[13] = 4.557411
1512VDW_RADII[14] = 4.28111
1513VDW_RADII[15] = 4.04323
1514VDW_RADII[16] = 3.899329
1515VDW_RADII[17] = 3.744173
1516VDW_RADII[18] = 3.600377
1517VDW_RADII[19] = 5.738428
1518VDW_RADII[20] = 5.27619
1519VDW_RADII[21] = 4.90772
1520VDW_RADII[22] = 4.92970
1521VDW_RADII[23] = 4.83279
1522VDW_RADII[24] = 4.79999
1523VDW_RADII[25] = 4.66488
1524VDW_RADII[26] = 4.60342
1525VDW_RADII[27] = 4.52547
1526VDW_RADII[28] = 4.45139
1527VDW_RADII[29] = 4.42513
1528VDW_RADII[30] = 4.303648
1529VDW_RADII[31] = 4.46438
1530VDW_RADII[32] = 4.32415
1531VDW_RADII[33] = 4.15020
1532VDW_RADII[34] = 4.13020
1533VDW_RADII[35] = 3.94427
1534VDW_RADII[36] = 3.819973
1535VDW_RADII[37] = 5.819626
1536VDW_RADII[38] = 5.430039
1537VDW_RADII[39] = 5.28056
1538VDW_RADII[40] = 5.00983
1539VDW_RADII[41] = 4.91457
1540VDW_RADII[42] = 4.83248
1541VDW_RADII[43] = 4.76586
1542VDW_RADII[44] = 4.70393
1543VDW_RADII[45] = 4.6410
1544VDW_RADII[46] = 4.068122
1545VDW_RADII[47] = 4.52594
1546VDW_RADII[48] = 4.41127
1547VDW_RADII[49] = 4.63541
1548VDW_RADII[50] = 4.50173
1549VDW_RADII[51] = 4.36929
1550VDW_RADII[52] = 4.29265
1551VDW_RADII[53] = 4.204918
1552VDW_RADII[54] = 4.094343
1553VDW_RADII[55] = 6.010321
1554VDW_RADII[56] = 5.68630
1555VDW_RADII[57] = 5.49873
1556VDW_RADII[58] = 5.46176
1557VDW_RADII[59] = 5.50273
1558VDW_RADII[60] = 5.47275
1559VDW_RADII[61] = 5.44278
1560VDW_RADII[62] = 5.41081
1561VDW_RADII[63] = 5.37783
1562VDW_RADII[64] = 5.26295
1563VDW_RADII[65] = 5.31789
1564VDW_RADII[66] = 5.29469
1565VDW_RADII[67] = 5.25248
1566VDW_RADII[68] = 5.22375
1567VDW_RADII[69] = 5.19277
1568VDW_RADII[70] = 5.16632
1569VDW_RADII[71] = 5.15538
1570VDW_RADII[72] = 4.95041
1571VDW_RADII[73] = 4.7218
1572VDW_RADII[74] = 4.6615
1573VDW_RADII[75] = 4.60332
1574VDW_RADII[76] = 4.54834
1575VDW_RADII[77] = 4.51384
1576VDW_RADII[78] = 4.43853
1577VDW_RADII[79] = 4.25951
1578VDW_RADII[80] = 4.223071
1579VDW_RADII[81] = 4.46426
1580VDW_RADII[82] = 4.42540
1581VDW_RADII[83] = 4.43853
1582VDW_RADII[84] = 4.38357
1583VDW_RADII[85] = 4.35459
1584VDW_RADII[86] = 4.24235
1585VDW_RADII[87] = 5.814452
1586VDW_RADII[88] = 5.60513
1587VDW_RADII[89] = 5.45346
1588VDW_RADII[90] = 5.5120
1589VDW_RADII[91] = 5.24297
1590VDW_RADII[92] = 5.11196
1591VDW_RADII[93] = 5.22899
1592VDW_RADII[94] = 5.1311
1593VDW_RADII[95] = 5.1214
1594VDW_RADII[96] = 5.1913
1595VDW_RADII[97] = 5.0915
1596VDW_RADII[98] = 5.0712
1597VDW_RADII[99] = 5.0512
1598VDW_RADII[100] = 5.0213
1599VDW_RADII[101] = 4.9913
1600VDW_RADII[102] = 4.99639
1601VDW_RADII[103] = 5.82052
1602VDW_RADII[104] = 5.00964
1603VDW_RADII[105] = 4.35459
1604VDW_RADII[106] = 4.32462
1605VDW_RADII[107] = 4.29265
1606VDW_RADII[108] = 4.25968
1607VDW_RADII[109] = 4.22553
1608VDW_RADII[110] = 4.18856
1609VDW_RADII[111] = 4.1911
1610VDW_RADII[112] = 4.10942
1611VDW_RADII[113] = 4.13041
1612VDW_RADII[114] = 4.16977
1613VDW_RADII[115] = 4.6919
1614VDW_RADII[116] = np.nan
1615VDW_RADII[117] = 4.7413
1616VDW_RADII[118] = 4.56067
1617
1618
1619PAULING_ELECTRONEGATIVITY = np.zeros(len(PERIODIC_TABLE),dtype=float) #[0.0] * len(PERIODIC_TABLE)
1620PAULING_ELECTRONEGATIVITY[1] = 2.20
1621PAULING_ELECTRONEGATIVITY[2] = 4.42  # -1. organov
1622PAULING_ELECTRONEGATIVITY[3] = 0.98
1623PAULING_ELECTRONEGATIVITY[4] = 1.57
1624PAULING_ELECTRONEGATIVITY[5] = 2.04
1625PAULING_ELECTRONEGATIVITY[6] = 2.55
1626PAULING_ELECTRONEGATIVITY[7] = 3.04
1627PAULING_ELECTRONEGATIVITY[8] = 3.44
1628PAULING_ELECTRONEGATIVITY[9] = 3.98
1629PAULING_ELECTRONEGATIVITY[10] = 4.44  # -1 organov
1630PAULING_ELECTRONEGATIVITY[11] = 0.93
1631PAULING_ELECTRONEGATIVITY[12] = 1.31
1632PAULING_ELECTRONEGATIVITY[13] = 1.61
1633PAULING_ELECTRONEGATIVITY[14] = 1.90
1634PAULING_ELECTRONEGATIVITY[15] = 2.19
1635PAULING_ELECTRONEGATIVITY[16] = 2.58
1636PAULING_ELECTRONEGATIVITY[17] = 3.16
1637PAULING_ELECTRONEGATIVITY[18] = 3.57  # -1 organov
1638PAULING_ELECTRONEGATIVITY[19] = 0.82
1639PAULING_ELECTRONEGATIVITY[20] = 1.00
1640PAULING_ELECTRONEGATIVITY[21] = 1.36
1641PAULING_ELECTRONEGATIVITY[22] = 1.54
1642PAULING_ELECTRONEGATIVITY[23] = 1.63
1643PAULING_ELECTRONEGATIVITY[24] = 1.66
1644PAULING_ELECTRONEGATIVITY[25] = 1.55
1645PAULING_ELECTRONEGATIVITY[26] = 1.83
1646PAULING_ELECTRONEGATIVITY[27] = 1.88
1647PAULING_ELECTRONEGATIVITY[28] = 1.91
1648PAULING_ELECTRONEGATIVITY[29] = 1.90
1649PAULING_ELECTRONEGATIVITY[30] = 1.65
1650PAULING_ELECTRONEGATIVITY[31] = 1.81
1651PAULING_ELECTRONEGATIVITY[32] = 2.01
1652PAULING_ELECTRONEGATIVITY[33] = 2.18
1653PAULING_ELECTRONEGATIVITY[34] = 2.55
1654PAULING_ELECTRONEGATIVITY[35] = 2.96
1655PAULING_ELECTRONEGATIVITY[36] = 3.37  # -1 organov
1656PAULING_ELECTRONEGATIVITY[37] = 0.82
1657PAULING_ELECTRONEGATIVITY[38] = 0.95
1658PAULING_ELECTRONEGATIVITY[39] = 1.22
1659PAULING_ELECTRONEGATIVITY[40] = 1.33
1660PAULING_ELECTRONEGATIVITY[41] = 1.60
1661PAULING_ELECTRONEGATIVITY[42] = 2.16
1662PAULING_ELECTRONEGATIVITY[43] = 1.90
1663PAULING_ELECTRONEGATIVITY[44] = 2.20
1664PAULING_ELECTRONEGATIVITY[45] = 2.28
1665PAULING_ELECTRONEGATIVITY[46] = 2.20
1666PAULING_ELECTRONEGATIVITY[47] = 1.93
1667PAULING_ELECTRONEGATIVITY[48] = 1.69
1668PAULING_ELECTRONEGATIVITY[49] = 1.78
1669PAULING_ELECTRONEGATIVITY[50] = 1.96
1670PAULING_ELECTRONEGATIVITY[51] = 2.05
1671PAULING_ELECTRONEGATIVITY[52] = 2.10
1672PAULING_ELECTRONEGATIVITY[53] = 2.66
1673PAULING_ELECTRONEGATIVITY[54] = 3.12  # -1 organov
1674
1675SJS_COORDINATES = [[0] * 4] * len(PERIODIC_TABLE)
1676SJS_COORDINATES[1] = [0, 1, 1, 0]
1677SJS_COORDINATES[2] = [0, 1, -1, 0]
1678SJS_COORDINATES[3] = [0, 2, 1, 0]
1679SJS_COORDINATES[4] = [0, 2, -1, 0]
1680SJS_COORDINATES[5] = [1, 3, 1, -1]
1681SJS_COORDINATES[6] = [1, 3, 2, 0]
1682SJS_COORDINATES[7] = [1, 3, 1, 1]
1683SJS_COORDINATES[8] = [1, 3, -1, -1]
1684SJS_COORDINATES[9] = [1, 3, -2, 0]
1685SJS_COORDINATES[10] = [1, 3, -1, 1]
1686SJS_COORDINATES[11] = [0, 3, 1, 0]
1687SJS_COORDINATES[12] = [0, 3, -1, 0]
1688SJS_COORDINATES[13] = [1, 4, 1, -1]
1689SJS_COORDINATES[14] = [1, 4, 2, 0]
1690SJS_COORDINATES[15] = [1, 4, 1, 1]
1691SJS_COORDINATES[16] = [1, 4, -1, -1]
1692SJS_COORDINATES[17] = [1, 4, -2, 0]
1693SJS_COORDINATES[18] = [1, 4, -1, 1]
1694SJS_COORDINATES[19] = [0, 4, 1, 0]
1695SJS_COORDINATES[20] = [0, 4, -1, 0]
1696SJS_COORDINATES[21] = [2, 5, 1, -2]
1697SJS_COORDINATES[22] = [2, 5, 2, -1]
1698SJS_COORDINATES[23] = [2, 5, 3, 0]
1699SJS_COORDINATES[24] = [2, 5, 2, 1]
1700SJS_COORDINATES[25] = [2, 5, 1, 2]
1701SJS_COORDINATES[26] = [2, 5, -1, -2]
1702SJS_COORDINATES[27] = [2, 5, -2, -1]
1703SJS_COORDINATES[28] = [2, 5, -3, 0]
1704SJS_COORDINATES[29] = [2, 5, -2, 1]
1705SJS_COORDINATES[30] = [2, 5, -1, 2]
1706SJS_COORDINATES[31] = [1, 5, 1, -1]
1707SJS_COORDINATES[32] = [1, 5, 2, 0]
1708SJS_COORDINATES[33] = [1, 5, 1, 1]
1709SJS_COORDINATES[34] = [1, 5, -1, -1]
1710SJS_COORDINATES[35] = [1, 5, -2, 0]
1711SJS_COORDINATES[36] = [1, 5, -1, 1]
1712SJS_COORDINATES[37] = [0, 5, 1, 0]
1713SJS_COORDINATES[38] = [0, 5, -1, 0]
1714SJS_COORDINATES[39] = [2, 6, 1, -2]
1715SJS_COORDINATES[40] = [2, 6, 2, -1]
1716SJS_COORDINATES[41] = [2, 6, 3, 0]
1717SJS_COORDINATES[42] = [2, 6, 2, 1]
1718SJS_COORDINATES[43] = [2, 6, 1, 2]
1719SJS_COORDINATES[44] = [2, 6, -1, -2]
1720SJS_COORDINATES[45] = [2, 6, -2, -1]
1721SJS_COORDINATES[46] = [2, 6, -3, 0]
1722SJS_COORDINATES[47] = [2, 6, -2, 1]
1723SJS_COORDINATES[48] = [2, 6, -1, 2]
1724SJS_COORDINATES[49] = [1, 6, 1, -1]
1725SJS_COORDINATES[50] = [1, 6, 2, 0]
1726SJS_COORDINATES[51] = [1, 6, 1, 1]
1727SJS_COORDINATES[52] = [1, 6, -1, -1]
1728SJS_COORDINATES[53] = [1, 6, -2, 0]
1729SJS_COORDINATES[54] = [1, 6, -1, 1]
1730SJS_COORDINATES[55] = [0, 6, 1, 0]
1731SJS_COORDINATES[56] = [0, 6, -1, 0]
1732SJS_COORDINATES[57] = [2, 7, 1, -2]
1733SJS_COORDINATES[58] = [3, 7, 1, -3]
1734SJS_COORDINATES[59] = [3, 7, 2, -2]
1735SJS_COORDINATES[60] = [3, 7, 3, -1]
1736SJS_COORDINATES[61] = [3, 7, 4, 0]
1737SJS_COORDINATES[62] = [3, 7, 3, 1]
1738SJS_COORDINATES[63] = [3, 7, 2, 2]
1739SJS_COORDINATES[64] = [3, 7, 1, 3]
1740SJS_COORDINATES[65] = [3, 7, -1, -3]
1741SJS_COORDINATES[66] = [3, 7, -2, -2]
1742SJS_COORDINATES[67] = [3, 7, -3, -1]
1743SJS_COORDINATES[68] = [3, 7, -4, 0]
1744SJS_COORDINATES[69] = [3, 7, -3, 1]
1745SJS_COORDINATES[70] = [3, 7, -2, 2]
1746SJS_COORDINATES[71] = [3, 7, -1, 3]
1747SJS_COORDINATES[72] = [2, 7, 2, -1]
1748SJS_COORDINATES[73] = [2, 7, 3, 0]
1749SJS_COORDINATES[74] = [2, 7, 2, 1]
1750SJS_COORDINATES[75] = [2, 7, 1, 2]
1751SJS_COORDINATES[76] = [2, 7, -1, -2]
1752SJS_COORDINATES[77] = [2, 7, -2, -1]
1753SJS_COORDINATES[78] = [2, 7, -3, 0]
1754SJS_COORDINATES[79] = [2, 7, -2, 1]
1755SJS_COORDINATES[80] = [2, 7, -1, 2]
1756SJS_COORDINATES[81] = [1, 7, 1, -1]
1757SJS_COORDINATES[82] = [1, 7, 2, 0]
1758SJS_COORDINATES[83] = [1, 7, 1, 1]
1759SJS_COORDINATES[84] = [1, 7, -1, -1]
1760SJS_COORDINATES[85] = [1, 7, -2, 0]
1761SJS_COORDINATES[86] = [1, 7, -1, 1]
1762SJS_COORDINATES[87] = [0, 7, 1, 0]
1763SJS_COORDINATES[88] = [0, 7, -1, 0]
1764SJS_COORDINATES[89] = [2, 8, 1, -2]
1765SJS_COORDINATES[90] = [3, 8, 1, -3]
1766SJS_COORDINATES[91] = [3, 8, 2, -2]
1767SJS_COORDINATES[92] = [3, 8, 3, -1]
1768SJS_COORDINATES[93] = [3, 8, 4, 0]
1769SJS_COORDINATES[94] = [3, 8, 3, 1]
1770SJS_COORDINATES[95] = [3, 8, 2, 2]
1771SJS_COORDINATES[96] = [3, 8, 1, 3]
1772SJS_COORDINATES[97] = [3, 8, -1, -3]
1773SJS_COORDINATES[98] = [3, 8, -2, -2]
1774SJS_COORDINATES[99] = [3, 8, -3, -1]
1775SJS_COORDINATES[100] = [3, 8, -4, 0]
1776SJS_COORDINATES[101] = [3, 8, -3, 1]
1777SJS_COORDINATES[102] = [3, 8, -2, 2]
1778SJS_COORDINATES[103] = [3, 8, -1, 3]
1779SJS_COORDINATES[104] = [2, 8, 2, -1]
1780SJS_COORDINATES[105] = [2, 8, 3, 0]
1781SJS_COORDINATES[106] = [2, 8, 2, 1]
1782SJS_COORDINATES[107] = [2, 8, 1, 2]
1783SJS_COORDINATES[108] = [2, 8, -1, -2]
1784SJS_COORDINATES[109] = [2, 8, -2, -1]
1785SJS_COORDINATES[110] = [2, 8, -3, 0]
1786SJS_COORDINATES[111] = [2, 8, -2, 1]
1787SJS_COORDINATES[112] = [2, 8, -1, 2]
1788SJS_COORDINATES[113] = [1, 8, 1, -1]
1789SJS_COORDINATES[114] = [1, 8, 2, 0]
1790SJS_COORDINATES[115] = [1, 8, 1, 1]
1791SJS_COORDINATES[116] = [1, 8, -1, -1]
1792SJS_COORDINATES[117] = [1, 8, -2, 0]
1793SJS_COORDINATES[118] = [1, 8, -1, 1]
1794SJS_COORDINATES = np.array(SJS_COORDINATES,dtype=int)
1795
1796ATOMIC_IONIZATION_ENERGY = 1.e-5*np.ones(len(PERIODIC_TABLE),dtype=float) #[1.e-5] * len(PERIODIC_TABLE)
1797ATOMIC_IONIZATION_ENERGY[1] = 1312.0
1798ATOMIC_IONIZATION_ENERGY[2] = 2372.3
1799ATOMIC_IONIZATION_ENERGY[3] = 520.2
1800ATOMIC_IONIZATION_ENERGY[4] = 899.5
1801ATOMIC_IONIZATION_ENERGY[5] = 800.6
1802ATOMIC_IONIZATION_ENERGY[6] = 1086.5
1803ATOMIC_IONIZATION_ENERGY[7] = 1402.3
1804ATOMIC_IONIZATION_ENERGY[8] = 1313.9
1805ATOMIC_IONIZATION_ENERGY[9] = 1681.0
1806ATOMIC_IONIZATION_ENERGY[10] = 2080.7
1807ATOMIC_IONIZATION_ENERGY[11] = 495.8
1808ATOMIC_IONIZATION_ENERGY[12] = 737.7
1809ATOMIC_IONIZATION_ENERGY[13] = 577.5
1810ATOMIC_IONIZATION_ENERGY[14] = 786.5
1811ATOMIC_IONIZATION_ENERGY[15] = 1011.8
1812ATOMIC_IONIZATION_ENERGY[16] = 999.6
1813ATOMIC_IONIZATION_ENERGY[17] = 1251.2
1814ATOMIC_IONIZATION_ENERGY[18] = 1520.6
1815ATOMIC_IONIZATION_ENERGY[19] = 418.8
1816ATOMIC_IONIZATION_ENERGY[20] = 589.8
1817ATOMIC_IONIZATION_ENERGY[21] = 633.1
1818ATOMIC_IONIZATION_ENERGY[22] = 658.8
1819ATOMIC_IONIZATION_ENERGY[23] = 650.9
1820ATOMIC_IONIZATION_ENERGY[24] = 652.9
1821ATOMIC_IONIZATION_ENERGY[25] = 717.3
1822ATOMIC_IONIZATION_ENERGY[26] = 762.5
1823ATOMIC_IONIZATION_ENERGY[27] = 760.4
1824ATOMIC_IONIZATION_ENERGY[28] = 737.1
1825ATOMIC_IONIZATION_ENERGY[29] = 745.5
1826ATOMIC_IONIZATION_ENERGY[30] = 906.4
1827ATOMIC_IONIZATION_ENERGY[31] = 578.8
1828ATOMIC_IONIZATION_ENERGY[32] = 762.0
1829ATOMIC_IONIZATION_ENERGY[33] = 947.0
1830ATOMIC_IONIZATION_ENERGY[34] = 941.0
1831ATOMIC_IONIZATION_ENERGY[35] = 1139.9
1832ATOMIC_IONIZATION_ENERGY[36] = 1350.8
1833ATOMIC_IONIZATION_ENERGY[37] = 403.0
1834ATOMIC_IONIZATION_ENERGY[38] = 549.5
1835ATOMIC_IONIZATION_ENERGY[39] = 600.0
1836ATOMIC_IONIZATION_ENERGY[40] = 640.1
1837ATOMIC_IONIZATION_ENERGY[41] = 652.1
1838ATOMIC_IONIZATION_ENERGY[42] = 684.3
1839ATOMIC_IONIZATION_ENERGY[43] = 686.9
1840ATOMIC_IONIZATION_ENERGY[44] = 710.2
1841ATOMIC_IONIZATION_ENERGY[45] = 719.7
1842ATOMIC_IONIZATION_ENERGY[46] = 804.4
1843ATOMIC_IONIZATION_ENERGY[47] = 731.0
1844ATOMIC_IONIZATION_ENERGY[48] = 867.8
1845ATOMIC_IONIZATION_ENERGY[49] = 558.3
1846ATOMIC_IONIZATION_ENERGY[50] = 708.6
1847ATOMIC_IONIZATION_ENERGY[51] = 834.0
1848ATOMIC_IONIZATION_ENERGY[52] = 869.3
1849ATOMIC_IONIZATION_ENERGY[53] = 1008.4
1850ATOMIC_IONIZATION_ENERGY[54] = 1170.4
1851ATOMIC_IONIZATION_ENERGY[55] = 375.7
1852ATOMIC_IONIZATION_ENERGY[56] = 502.9
1853ATOMIC_IONIZATION_ENERGY[57] = 538.1
1854ATOMIC_IONIZATION_ENERGY[58] = 534.6
1855ATOMIC_IONIZATION_ENERGY[59] = 527.0
1856ATOMIC_IONIZATION_ENERGY[60] = 533.1
1857ATOMIC_IONIZATION_ENERGY[61] = 540.0
1858ATOMIC_IONIZATION_ENERGY[62] = 545.1
1859ATOMIC_IONIZATION_ENERGY[63] = 547.1
1860ATOMIC_IONIZATION_ENERGY[64] = 593.4
1861ATOMIC_IONIZATION_ENERGY[65] = 565.8
1862ATOMIC_IONIZATION_ENERGY[66] = 573.0
1863ATOMIC_IONIZATION_ENERGY[67] = 581.0
1864ATOMIC_IONIZATION_ENERGY[68] = 589.3
1865ATOMIC_IONIZATION_ENERGY[69] = 596.7
1866ATOMIC_IONIZATION_ENERGY[70] = 603.4
1867ATOMIC_IONIZATION_ENERGY[71] = 523.5
1868ATOMIC_IONIZATION_ENERGY[72] = 658.5
1869ATOMIC_IONIZATION_ENERGY[73] = 761.0
1870ATOMIC_IONIZATION_ENERGY[74] = 770.0
1871ATOMIC_IONIZATION_ENERGY[75] = 760.0
1872ATOMIC_IONIZATION_ENERGY[76] = 840.0
1873ATOMIC_IONIZATION_ENERGY[77] = 880.0
1874ATOMIC_IONIZATION_ENERGY[78] = 870.0
1875ATOMIC_IONIZATION_ENERGY[79] = 890.1
1876ATOMIC_IONIZATION_ENERGY[80] = 1007.1
1877ATOMIC_IONIZATION_ENERGY[81] = 589.4
1878ATOMIC_IONIZATION_ENERGY[82] = 715.6
1879ATOMIC_IONIZATION_ENERGY[83] = 703.0
1880ATOMIC_IONIZATION_ENERGY[84] = 812.1
1881ATOMIC_IONIZATION_ENERGY[85] = 899.0
1882ATOMIC_IONIZATION_ENERGY[86] = 1037.0
1883ATOMIC_IONIZATION_ENERGY[87] = 380.0
1884ATOMIC_IONIZATION_ENERGY[88] = 509.3
1885ATOMIC_IONIZATION_ENERGY[89] = 499.0
1886ATOMIC_IONIZATION_ENERGY[90] = 587.0
1887ATOMIC_IONIZATION_ENERGY[91] = 568.0
1888ATOMIC_IONIZATION_ENERGY[92] = 597.6
1889ATOMIC_IONIZATION_ENERGY[93] = 604.5
1890ATOMIC_IONIZATION_ENERGY[94] = 584.7
1891ATOMIC_IONIZATION_ENERGY[95] = 578.0
1892ATOMIC_IONIZATION_ENERGY[96] = 581.0
1893ATOMIC_IONIZATION_ENERGY[97] = 601.0
1894ATOMIC_IONIZATION_ENERGY[98] = 608.0
1895ATOMIC_IONIZATION_ENERGY[99] = 619.0
1896ATOMIC_IONIZATION_ENERGY[100] = 627.0
1897ATOMIC_IONIZATION_ENERGY[101] = 635.0
1898ATOMIC_IONIZATION_ENERGY[102] = 642.0
1899ATOMIC_IONIZATION_ENERGY[103] = 470.0
1900ATOMIC_IONIZATION_ENERGY[104] = 580.0
1901
1902ATOMIC_IONIZATION_ENERGY = ATOMIC_IONIZATION_ENERGY / au.KJPERMOL
1903
1904
1905ATOMIC_ELECTRON_AFFINITY = 1.e-5*np.ones(len(PERIODIC_TABLE),dtype=float) #[1.e-5] * len(PERIODIC_TABLE)
1906ATOMIC_ELECTRON_AFFINITY[1] = 72.769
1907ATOMIC_ELECTRON_AFFINITY[2] = -48
1908ATOMIC_ELECTRON_AFFINITY[3] = 59.632
1909ATOMIC_ELECTRON_AFFINITY[4] = -48
1910ATOMIC_ELECTRON_AFFINITY[5] = 26.989
1911ATOMIC_ELECTRON_AFFINITY[6] = 121.776
1912ATOMIC_ELECTRON_AFFINITY[7] = -6.8
1913ATOMIC_ELECTRON_AFFINITY[8] = 140.975
1914ATOMIC_ELECTRON_AFFINITY[9] = 328.164
1915ATOMIC_ELECTRON_AFFINITY[10] = -116
1916ATOMIC_ELECTRON_AFFINITY[11] = 52.867
1917ATOMIC_ELECTRON_AFFINITY[12] = -40
1918ATOMIC_ELECTRON_AFFINITY[13] = 41.762
1919ATOMIC_ELECTRON_AFFINITY[14] = 134.068
1920ATOMIC_ELECTRON_AFFINITY[15] = 72.037
1921ATOMIC_ELECTRON_AFFINITY[16] = 200.410
1922ATOMIC_ELECTRON_AFFINITY[17] = 348.575
1923ATOMIC_ELECTRON_AFFINITY[18] = -96
1924ATOMIC_ELECTRON_AFFINITY[19] = 48.383
1925ATOMIC_ELECTRON_AFFINITY[20] = 2.37
1926ATOMIC_ELECTRON_AFFINITY[21] = 17.307
1927ATOMIC_ELECTRON_AFFINITY[22] = 7.289
1928ATOMIC_ELECTRON_AFFINITY[23] = 50.911
1929ATOMIC_ELECTRON_AFFINITY[24] = 65.217
1930ATOMIC_ELECTRON_AFFINITY[25] = -50
1931ATOMIC_ELECTRON_AFFINITY[26] = 14.785
1932ATOMIC_ELECTRON_AFFINITY[27] = 63.897
1933ATOMIC_ELECTRON_AFFINITY[28] = 111.65
1934ATOMIC_ELECTRON_AFFINITY[29] = 119.235
1935ATOMIC_ELECTRON_AFFINITY[30] = -58
1936ATOMIC_ELECTRON_AFFINITY[31] = 29.058
1937ATOMIC_ELECTRON_AFFINITY[32] = 118.935
1938ATOMIC_ELECTRON_AFFINITY[33] = 77.65
1939ATOMIC_ELECTRON_AFFINITY[34] = 194.958
1940ATOMIC_ELECTRON_AFFINITY[35] = 324.536
1941ATOMIC_ELECTRON_AFFINITY[36] = -96
1942ATOMIC_ELECTRON_AFFINITY[37] = 46.884
1943ATOMIC_ELECTRON_AFFINITY[38] = 5.023
1944ATOMIC_ELECTRON_AFFINITY[39] = 30.035
1945ATOMIC_ELECTRON_AFFINITY[40] = 41.806
1946ATOMIC_ELECTRON_AFFINITY[41] = 88.516
1947ATOMIC_ELECTRON_AFFINITY[42] = 72.097
1948ATOMIC_ELECTRON_AFFINITY[43] = 53
1949ATOMIC_ELECTRON_AFFINITY[44] = 100.950
1950ATOMIC_ELECTRON_AFFINITY[45] = 110.27
1951ATOMIC_ELECTRON_AFFINITY[46] = 54.24
1952ATOMIC_ELECTRON_AFFINITY[47] = 125.862
1953ATOMIC_ELECTRON_AFFINITY[48] = -68
1954ATOMIC_ELECTRON_AFFINITY[49] = 37.043
1955ATOMIC_ELECTRON_AFFINITY[50] = 107.298
1956ATOMIC_ELECTRON_AFFINITY[51] = 101.059
1957ATOMIC_ELECTRON_AFFINITY[52] = 190.161
1958ATOMIC_ELECTRON_AFFINITY[53] = 295.153
1959ATOMIC_ELECTRON_AFFINITY[54] = -77
1960ATOMIC_ELECTRON_AFFINITY[55] = 45.5023
1961ATOMIC_ELECTRON_AFFINITY[56] = 13.954
1962ATOMIC_ELECTRON_AFFINITY[57] = 53.795
1963ATOMIC_ELECTRON_AFFINITY[58] = 57.906
1964ATOMIC_ELECTRON_AFFINITY[59] = 10.539
1965ATOMIC_ELECTRON_AFFINITY[60] = 9.406
1966ATOMIC_ELECTRON_AFFINITY[61] = 12.45
1967ATOMIC_ELECTRON_AFFINITY[62] = 15.63
1968ATOMIC_ELECTRON_AFFINITY[63] = 11.2
1969ATOMIC_ELECTRON_AFFINITY[64] = 20.5
1970ATOMIC_ELECTRON_AFFINITY[65] = 12.67
1971ATOMIC_ELECTRON_AFFINITY[66] = 1.45
1972ATOMIC_ELECTRON_AFFINITY[67] = 32.61
1973ATOMIC_ELECTRON_AFFINITY[68] = 30.10
1974ATOMIC_ELECTRON_AFFINITY[69] = 99.0
1975ATOMIC_ELECTRON_AFFINITY[70] = -1.93
1976ATOMIC_ELECTRON_AFFINITY[71] = 23.04
1977ATOMIC_ELECTRON_AFFINITY[72] = 17.18
1978ATOMIC_ELECTRON_AFFINITY[73] = 31.730
1979ATOMIC_ELECTRON_AFFINITY[74] = 78.76
1980ATOMIC_ELECTRON_AFFINITY[75] = 5.827
1981ATOMIC_ELECTRON_AFFINITY[76] = 103.978
1982ATOMIC_ELECTRON_AFFINITY[77] = 150.908
1983ATOMIC_ELECTRON_AFFINITY[78] = 205.041
1984ATOMIC_ELECTRON_AFFINITY[79] = 222.747
1985ATOMIC_ELECTRON_AFFINITY[80] = -48.0
1986ATOMIC_ELECTRON_AFFINITY[81] = 30.880
1987ATOMIC_ELECTRON_AFFINITY[82] = 34.418
1988ATOMIC_ELECTRON_AFFINITY[83] = 90.92
1989ATOMIC_ELECTRON_AFFINITY[84] = 136.1
1990ATOMIC_ELECTRON_AFFINITY[85] = 233.087
1991ATOMIC_ELECTRON_AFFINITY[86] = -68
1992ATOMIC_ELECTRON_AFFINITY[87] = 46.89
1993ATOMIC_ELECTRON_AFFINITY[88] = 9.6485
1994ATOMIC_ELECTRON_AFFINITY[89] = 33.77
1995ATOMIC_ELECTRON_AFFINITY[90] = 58.633
1996ATOMIC_ELECTRON_AFFINITY[91] = 53.03
1997ATOMIC_ELECTRON_AFFINITY[92] = 30.39
1998ATOMIC_ELECTRON_AFFINITY[93] = 45.85
1999ATOMIC_ELECTRON_AFFINITY[94] = -48.33
2000ATOMIC_ELECTRON_AFFINITY[95] = 9.93
2001ATOMIC_ELECTRON_AFFINITY[96] = 27.17
2002ATOMIC_ELECTRON_AFFINITY[97] = -165.24
2003ATOMIC_ELECTRON_AFFINITY[98] = -97.31
2004ATOMIC_ELECTRON_AFFINITY[99] = -28.6
2005ATOMIC_ELECTRON_AFFINITY[100] = 33.96
2006ATOMIC_ELECTRON_AFFINITY[101] = 93.91
2007ATOMIC_ELECTRON_AFFINITY[102] = -223.22
2008ATOMIC_ELECTRON_AFFINITY[103] = -30.04
2009# ATOMIC_ELECTRON_AFFINITY[104] = 0.0
2010# ATOMIC_ELECTRON_AFFINITY[105] = 0.0
2011# ATOMIC_ELECTRON_AFFINITY[106] = 0.0
2012# ATOMIC_ELECTRON_AFFINITY[107] = 0.0
2013# ATOMIC_ELECTRON_AFFINITY[108] = 0.0
2014# ATOMIC_ELECTRON_AFFINITY[109] = 0.0
2015# ATOMIC_ELECTRON_AFFINITY[110] = 0.0
2016# ATOMIC_ELECTRON_AFFINITY[111] = 151.0
2017# ATOMIC_ELECTRON_AFFINITY[112] = 0.0
2018# ATOMIC_ELECTRON_AFFINITY[113] = 66.6
2019# ATOMIC_ELECTRON_AFFINITY[114] = 0.0
2020# ATOMIC_ELECTRON_AFFINITY[115] = 35.3
2021# ATOMIC_ELECTRON_AFFINITY[116] = 74.9
2022# ATOMIC_ELECTRON_AFFINITY[117] = 165.9
2023# ATOMIC_ELECTRON_AFFINITY[118] = 7.72
2024
2025ATOMIC_ELECTRON_AFFINITY = ATOMIC_ELECTRON_AFFINITY / au.KJPERMOL
2026
2027MULLIKEN_HARDNESS = 0.5*(ATOMIC_IONIZATION_ENERGY - ATOMIC_ELECTRON_AFFINITY) #[0.5*(ei - ea) for ei, ea in zip(ATOMIC_IONIZATION_ENERGY, ATOMIC_ELECTRON_AFFINITY)]
2028MULLIKEN_ELCTRONEGATIVITY = 0.5*(ATOMIC_IONIZATION_ENERGY + ATOMIC_ELECTRON_AFFINITY) #[0.5*(ei + ea) for ei, ea in zip(ATOMIC_IONIZATION_ENERGY, ATOMIC_ELECTRON_AFFINITY)]
2029
2030# Ground state multiplicities (2S+1) of the elements
2031# https://en.wikipedia.org/wiki/Term_symbol
2032MULTIPLICITIES = np.array([
2033    1,  # Dummy
2034    2,  # H
2035    1,  # He
2036    2,  # Li
2037    1,  # Be
2038    2,  # B
2039    3,  # C
2040    4,  # N
2041    3,  # O
2042    2,  # F
2043    1,  # Ne
2044    2,  # Na
2045    1,  # Mg
2046    2,  # Al
2047    3,  # Si
2048    4,  # P
2049    3,  # S
2050    2,  # Cl
2051    1,  # Ar
2052    2,  # K
2053    1,  # Ca
2054    2,  # Sc
2055    3,  # Ti
2056    4,  # V
2057    7,  # Cr
2058    6,  # Mn
2059    5,  # Fe
2060    4,  # Co
2061    3,  # Ni
2062    2,  # Cu
2063    1,  # Zn
2064    2,  # Ga
2065    3,  # Ge
2066    4,  # As
2067    3,  # Se
2068    2,  # Br
2069    1,  # Kr
2070    2,  # Rb
2071    1,  # Sr
2072    2,  # Y
2073    3,  # Zr
2074    6,  # Nb
2075    7,  # Mo
2076    6,  # Tc
2077    5,  # Ru
2078    4,  # Rh
2079    1,  # Pd
2080    2,  # Ag
2081    1,  # Cd
2082    2,  # In
2083    3,  # Sn
2084    4,  # Sb
2085    3,  # Te
2086    2,  # I
2087    1,  # Xe
2088    2,  # Cs
2089    1,  # Ba
2090    2,  # La
2091    1,  # Ce
2092    4,  # Pr
2093    5,  # Nd
2094    6,  # Pm
2095    7,  # Sm
2096    8,  # Eu
2097    9,  # Gd
2098    6,  # Tb
2099    5,  # Dy
2100    4,  # Ho
2101    3,  # Er
2102    2,  # Tm
2103    1,  # Yb
2104    2,  # Lu
2105    3,  # Hf
2106    4,  # Ta
2107    5,  # W
2108    6,  # Re
2109    5,  # Os
2110    4,  # Ir
2111    3,  # Pt
2112    2,  # Au
2113    1,  # Hg
2114    2,  # Tl
2115    3,  # Pb
2116    4,  # Bi
2117    3,  # Po
2118    2,  # At
2119    1,  # Rn
2120    2,  # Fr
2121    1,  # Ra
2122    2,  # Ac
2123    3,  # Th
2124    4,  # Pa
2125    5,  # U
2126    6,  # Np
2127    7,  # Pu
2128    8,  # Am
2129    9,  # Cm
2130    6,  # Bk
2131    5,  # Cs
2132    4,  # Es
2133    3,  # Fm
2134    2,  # Md
2135    1,  # No
2136    2,  # Lr
2137    3,  # Rf
2138    4,  # Db
2139    5,  # Sg
2140    6,  # Bh
2141    5,  # Hs
2142    4,  # Mt
2143    3,  # Ds
2144    2,  # Rg
2145    1,  # Cn
2146    2,  # Nh
2147    3,  # Fl
2148    4,  # Mc
2149    3,  # Lv
2150    2,  # Ts
2151    1,  # Og
2152    1,  # Dummy
2153], dtype=int)
2154
2155GTO_EXPONENTS = np.ones(len(PERIODIC_TABLE),dtype=float) # [1.0] * len(PERIODIC_TABLE)
2156GTO_EXPONENTS[1] = 0.534337523756312  # H
2157GTO_EXPONENTS[2] = 0.7021159834472296  # He
2158GTO_EXPONENTS[3] = 0.166838519142176  # Li
2159GTO_EXPONENTS[4] = 0.18912512649376215  # Be
2160GTO_EXPONENTS[5] = 0.19595732141600747  # B
2161GTO_EXPONENTS[6] = 0.206883838259186  # C
2162GTO_EXPONENTS[7] = 0.221439796025873  # N
2163GTO_EXPONENTS[8] = 0.223967308625516  # O
2164GTO_EXPONENTS[9] = 0.231257590182828  # F
2165GTO_EXPONENTS[10] = 0.24453829863755244  # Ne
2166GTO_EXPONENTS[11] = 0.095892938712585  # Na
2167GTO_EXPONENTS[12] = 0.10079467931059707  # Mg
2168GTO_EXPONENTS[13] = 0.10028848072986629  # Al
2169GTO_EXPONENTS[14] = 0.105219608142377  # Si
2170GTO_EXPONENTS[15] = 0.108476721661715  # P
2171GTO_EXPONENTS[16] = 0.115618357843499  # S
2172GTO_EXPONENTS[17] = 0.113714050615107  # Cl
2173GTO_EXPONENTS[18] = 0.1212883463892641  # Ar
2174GTO_EXPONENTS[19] = 0.060223294377778  # K
2175GTO_EXPONENTS[20] = 0.059395381582096514  # Ca
2176GTO_EXPONENTS[21] = 0.06079192524304038  # Sc
2177GTO_EXPONENTS[22] = 0.06203767983760801  # Ti
2178GTO_EXPONENTS[23] = 0.06290468817369953  # V
2179GTO_EXPONENTS[24] = 0.06388264750522  # Cr
2180GTO_EXPONENTS[25] = 0.06552139521612342  # Mn
2181GTO_EXPONENTS[26] = 0.06692644492343844  # Fe
2182GTO_EXPONENTS[27] = 0.0678792955976895  # Co
2183GTO_EXPONENTS[28] = 0.06856122786267473  # Ni
2184GTO_EXPONENTS[29] = 0.06958759021503495  # Cu
2185GTO_EXPONENTS[30] = 0.07236231041610941  # Zn
2186GTO_EXPONENTS[31] = 0.06957555627430864  # Ga
2187GTO_EXPONENTS[32] = 0.0725904697228818  # Ge
2188GTO_EXPONENTS[33] = 0.0756872561897057  # As
2189GTO_EXPONENTS[34] = 0.07656851771723322  # Se
2190GTO_EXPONENTS[35] = 0.07990716762113642  # Br
2191GTO_EXPONENTS[36] = 0.08346065503143778  # Kr
2192GTO_EXPONENTS[37] = 0.04317280857546588  # Rb
2193GTO_EXPONENTS[38] = 0.04520583675239638  # Sr
2194GTO_EXPONENTS[39] = 0.04653338466628383  # Y
2195GTO_EXPONENTS[40] = 0.04767221848599982  # Zr
2196GTO_EXPONENTS[41] = 0.04844559221185299  # Nb
2197GTO_EXPONENTS[42] = 0.04938434537005703  # Mo
2198GTO_EXPONENTS[43] = 0.050291756781459286  # Tc
2199GTO_EXPONENTS[44] = 0.05112821282855135  # Ru
2200GTO_EXPONENTS[45] = 0.05196978925495233  # Rh
2201GTO_EXPONENTS[46] = 0.05356553096002117  # Pd
2202GTO_EXPONENTS[47] = 0.053599320010163626  # Ag
2203GTO_EXPONENTS[48] = 0.05573994809955866  # Cd
2204GTO_EXPONENTS[49] = 0.05341539504249603  # In
2205GTO_EXPONENTS[50] = 0.0556907204737427  # Sn
2206GTO_EXPONENTS[51] = 0.0577449406299723  # Sb
2207GTO_EXPONENTS[52] = 0.05889812625623931  # Te
2208GTO_EXPONENTS[53] = 0.0611555894435609  # I
2209GTO_EXPONENTS[54] = 0.06370219003886742  # Xe
2210GTO_EXPONENTS[55] = 0.03224362451708012  # Cs
2211GTO_EXPONENTS[56] = 0.03283206686879559  # Ba
2212GTO_EXPONENTS[57] = 0.03342513862348529  # La
2213GTO_EXPONENTS[58] = 0.03402285738400748  # Ce
2214GTO_EXPONENTS[59] = 0.03462523957847376  # Pr
2215GTO_EXPONENTS[60] = 0.03523230055661496  # Nd
2216GTO_EXPONENTS[61] = 0.03584405467681633  # Pm
2217GTO_EXPONENTS[62] = 0.036460515384859206  # Sm
2218GTO_EXPONENTS[63] = 0.03708169528527649  # Eu
2219GTO_EXPONENTS[64] = 0.037707606206117524  # Gd
2220GTO_EXPONENTS[65] = 0.03833825925782179  # Tb
2221GTO_EXPONENTS[66] = 0.038973664886817035  # Dy
2222GTO_EXPONENTS[67] = 0.039613832924385146  # Ho
2223GTO_EXPONENTS[68] = 0.04025877263127613  # Er
2224GTO_EXPONENTS[69] = 0.040908492738495464  # Tm
2225GTO_EXPONENTS[70] = 0.041563001484642384  # Yb
2226GTO_EXPONENTS[71] = 0.04222230665013448  # Lu
2227GTO_EXPONENTS[72] = 0.04288641558861739  # Hf
2228GTO_EXPONENTS[73] = 0.043555335255825986  # Ta
2229GTO_EXPONENTS[74] = 0.044229072236135106  # W
2230GTO_EXPONENTS[75] = 0.04490763276701256  # Re
2231GTO_EXPONENTS[76] = 0.045591022761565465  # Os
2232GTO_EXPONENTS[77] = 0.04627924782935086  # Ir
2233GTO_EXPONENTS[78] = 0.046972313295604785  # Pt
2234GTO_EXPONENTS[79] = 0.047670224219027967  # Au
2235GTO_EXPONENTS[80] = 0.048372985408253175  # Hg
2236GTO_EXPONENTS[81] = 0.04908060143710664  # Tl
2237GTO_EXPONENTS[82] = 0.04979307665876563  # Pb
2238GTO_EXPONENTS[83] = 0.05051041521890378  # Bi
2239GTO_EXPONENTS[84] = 0.05123262106790798  # Po
2240GTO_EXPONENTS[85] = 0.05195969797224218  # At
2241GTO_EXPONENTS[86] = 0.052691649525027  # Rn
2242GTO_EXPONENTS[87] = 0.03578427498778282  # Fr
2243GTO_EXPONENTS[88] = 0.036391747269481335  # Ra
2244GTO_EXPONENTS[89] = 0.03700414495208116  # Ac
2245GTO_EXPONENTS[90] = 0.037621469663581576  # Th
2246GTO_EXPONENTS[91] = 0.03824372296172443  # Pa
2247GTO_EXPONENTS[92] = 0.038870906337742386  # U
2248GTO_EXPONENTS[93] = 0.039503021219869885  # Np
2249GTO_EXPONENTS[94] = 0.040140068976634066  # Pu
2250GTO_EXPONENTS[95] = 0.04078205091994164  # Am
2251GTO_EXPONENTS[96] = 0.0414289683079762  # Cm
2252GTO_EXPONENTS[97] = 0.04208082234791952  # Bk
2253GTO_EXPONENTS[98] = 0.04273761419850917  # Cf
2254GTO_EXPONENTS[99] = 0.04339934497244377  # Es
2255GTO_EXPONENTS[100] = 0.04406601573864634  # Fm
2256GTO_EXPONENTS[101] = 0.044737627524395585  # Md
2257GTO_EXPONENTS[102] = 0.04541418131733376  # No
2258GTO_EXPONENTS[103] = 0.04609567806735967  # Lr
2259GTO_EXPONENTS[104] = 0.046782118688413976  # Rf
2260GTO_EXPONENTS[105] = 0.047473504060164484  # Db
2261GTO_EXPONENTS[106] = 0.048169835029597215  # Sg
2262GTO_EXPONENTS[107] = 0.04887111241251998  # Bh
2263GTO_EXPONENTS[108] = 0.049577336994983415  # Hs
2264GTO_EXPONENTS[109] = 0.050288509534625325  # Mt
2265GTO_EXPONENTS[110] = 0.05100463076194258  # Ds
2266GTO_EXPONENTS[111] = 0.05172570138149545  # Rg
2267GTO_EXPONENTS[112] = 0.052451722073048296  # Cn
2268GTO_EXPONENTS[113] = 0.05318269349265068  # Nh
2269GTO_EXPONENTS[114] = 0.05391861627366232  # Fl
2270GTO_EXPONENTS[115] = 0.05465949102772548  # Mc
2271GTO_EXPONENTS[116] = 0.055405318345687654  # Lv
2272GTO_EXPONENTS[117] = 0.056156098798477695  # Ts
2273
2274PUBCHEM_IONIZATION_ENERGY = np.array(
2275    [0.0]
2276    + [
2277        0.49971728701446033,
2278        0.9035555916917588,
2279        0.19815234678496618,
2280        0.34261393343402075,
2281        0.30494587789719013,
2282        0.4137973710680117,
2283        0.5341146528510198,
2284        0.5004522734639595,
2285        0.6402834454811693,
2286        0.7924991391724399,
2287        0.18885476819880215,
2288        0.2809853196435184,
2289        0.2199814443350904,
2290        0.29958047681584643,
2291        0.3853901447948702,
2292        0.38072298084055073,
2293        0.47656521385523765,
2294        0.5791693222053166,
2295        0.15952880886378676,
2296        0.2246486082894099,
2297        0.24111230475819048,
2298        0.2509243738590039,
2299        0.24791092941605747,
2300        0.24868266518803156,
2301        0.2731944632788276,
2302        0.2903931461971073,
2303        0.28962141042513323,
2304        0.2807648237086687,
2305        0.283925265441515,
2306        0.34522313532974264,
2307        0.22045918552726484,
2308        0.29031964755215744,
2309        0.36069460009169935,
2310        0.35837939277577713,
2311        0.43415649571913767,
2312        0.5144905146493929,
2313        0.15350191997789384,
2314        0.20928739149487804,
2315        0.22847053782680538,
2316        0.24379500529886233,
2317        0.24838867060823192,
2318        0.2606261949923924,
2319        0.2675350676176843,
2320        0.2705117627381558,
2321        0.2741131963407015,
2322        0.30637910147371344,
2323        0.27841286707027146,
2324        0.33052340633975996,
2325        0.21263157984009906,
2326        0.2698870242560815,
2327        0.31751414618362533,
2328        0.33111139549935925,
2329        0.38406716918577183,
2330        0.445769281621224,
2331        0.14310186171748113,
2332        0.19153746873947397,
2333        0.20495097144283314,
2334        0.2035544971887848,
2335        0.20079829800316307,
2336        0.2030400066741354,
2337        0.2039587397360093,
2338        0.20741317604865525,
2339        0.20836865843300412,
2340        0.22600833322098332,
2341        0.2154980269931457,
2342        0.21825422617876744,
2343        0.22130441994418887,
2344        0.2244648616770351,
2345        0.22725781018513183,
2346        0.22983026275837878,
2347        0.1994018237491147,
2348        0.25081412589157903,
2349        0.28995215432740784,
2350        0.29325959335015395,
2351        0.2895846611026583,
2352        0.3197191055321227,
2353        0.33441883452210536,
2354        0.3307439022746097,
2355        0.33904924915394996,
2356        0.38358942799359735,
2357        0.2244648616770351,
2358        0.27256972479675334,
2359        0.2678658115199589,
2360        0.30931904727171,
2361        0.34911856351208803,
2362        0.394871469993409,
2363        0.14332235765233087,
2364        0.19399967334529608,
2365        0.1899939971955258,
2366        0.22343588064773634,
2367        0.21645350937749455,
2368        0.22762530340988138,
2369        0.23027125462807826,
2370        0.2227008941982372,
2371        0.22023868959241513,
2372        0.22123092129923894,
2373        0.22894827901897985,
2374        0.2315207315922268,
2375        0.23593065028922158,
2376        0.2388705960872181,
2377        0.24181054188521467,
2378        0.24438299445846162,
2379        0.0,
2380        0.0,
2381        0.0,
2382        0.0,
2383        0.0,
2384        0.0,
2385        0.0,
2386        0.0,
2387        0.0,
2388        0.0,
2389        0.0,
2390        0.0,
2391        0.0,
2392        0.0,
2393        0.0,
2394        0.0,
2395    ]
2396    + [0.0],
2397)
2398
2399# Possible oxidation states for each element (extracted from PubChem https://pubchem.ncbi.nlm.nih.gov/periodic-table/#property=OxidationStates)
2400OXIDATION_STATES = [[0]] * len(PERIODIC_TABLE)
2401OXIDATION_STATES[1] = [+1, -1]
2402OXIDATION_STATES[2] = [0]
2403OXIDATION_STATES[3] = [+1]
2404OXIDATION_STATES[4] = [+2]
2405OXIDATION_STATES[5] = [+3]
2406OXIDATION_STATES[6] = [+4, +2, -4]
2407OXIDATION_STATES[7] = [+5, +4, +3, +2, +1, -1, -2, -3]
2408OXIDATION_STATES[8] = [-2]
2409OXIDATION_STATES[9] = [-1]
2410OXIDATION_STATES[10] = [0]
2411OXIDATION_STATES[11] = [+1]
2412OXIDATION_STATES[12] = [+2]
2413OXIDATION_STATES[13] = [+3]
2414OXIDATION_STATES[14] = [+4, +2, -4]
2415OXIDATION_STATES[15] = [+5, +3, -3]
2416OXIDATION_STATES[16] = [+6, +4, -2]
2417OXIDATION_STATES[17] = [+7, +5, +1, -1]
2418OXIDATION_STATES[18] = [0]
2419OXIDATION_STATES[19] = [+1]
2420OXIDATION_STATES[20] = [+2]
2421OXIDATION_STATES[21] = [+3]
2422OXIDATION_STATES[22] = [+4, +3, +2]
2423OXIDATION_STATES[23] = [+5, +4, +3, +2]
2424OXIDATION_STATES[24] = [+6, +3, +2]
2425OXIDATION_STATES[25] = [+7, +4, +3, +2]
2426OXIDATION_STATES[26] = [+3, +2]
2427OXIDATION_STATES[27] = [+3, +2]
2428OXIDATION_STATES[28] = [+3, +2]
2429OXIDATION_STATES[29] = [+2, +1]
2430OXIDATION_STATES[30] = [+2]
2431OXIDATION_STATES[31] = [+3]
2432OXIDATION_STATES[32] = [+4, +2]
2433OXIDATION_STATES[33] = [+5, +3, -3]
2434OXIDATION_STATES[34] = [+6, +4, -2]
2435OXIDATION_STATES[35] = [+5, +1, -1]
2436OXIDATION_STATES[36] = [0]
2437OXIDATION_STATES[37] = [+1]
2438OXIDATION_STATES[38] = [+2]
2439OXIDATION_STATES[39] = [+3]
2440OXIDATION_STATES[40] = [+4]
2441OXIDATION_STATES[41] = [+5, +3]
2442OXIDATION_STATES[42] = [+6]
2443OXIDATION_STATES[43] = [+7, +6, +4]
2444OXIDATION_STATES[44] = [+3]
2445OXIDATION_STATES[45] = [+3]
2446OXIDATION_STATES[46] = [+3, +2]
2447OXIDATION_STATES[47] = [+1]
2448OXIDATION_STATES[48] = [+2]
2449OXIDATION_STATES[49] = [+3]
2450OXIDATION_STATES[50] = [+4, +2]
2451OXIDATION_STATES[51] = [+5, +3, -3]
2452OXIDATION_STATES[52] = [+6, +4, -2]
2453OXIDATION_STATES[53] = [+7, +5, +1, -1]
2454OXIDATION_STATES[54] = [0]
2455OXIDATION_STATES[55] = [+1]
2456OXIDATION_STATES[56] = [+2]
2457OXIDATION_STATES[57] = [+3]
2458OXIDATION_STATES[58] = [+4, +3]
2459OXIDATION_STATES[59] = [+3]
2460OXIDATION_STATES[60] = [+3]
2461OXIDATION_STATES[61] = [+3]
2462OXIDATION_STATES[62] = [+3, +2]
2463OXIDATION_STATES[63] = [+3, +2]
2464OXIDATION_STATES[64] = [+3]
2465OXIDATION_STATES[65] = [+3]
2466OXIDATION_STATES[66] = [+3]
2467OXIDATION_STATES[67] = [+3]
2468OXIDATION_STATES[68] = [+3]
2469OXIDATION_STATES[69] = [+3]
2470OXIDATION_STATES[70] = [+3, +2]
2471OXIDATION_STATES[71] = [+3]
2472OXIDATION_STATES[72] = [+4]
2473OXIDATION_STATES[73] = [+5]
2474OXIDATION_STATES[74] = [+6]
2475OXIDATION_STATES[75] = [+7, +6, +4]
2476OXIDATION_STATES[76] = [+4, +3]
2477OXIDATION_STATES[77] = [+4, +3]
2478OXIDATION_STATES[78] = [+4, +2]
2479OXIDATION_STATES[79] = [+3, +1]
2480OXIDATION_STATES[80] = [+2, +1]
2481OXIDATION_STATES[81] = [+3, +1]
2482OXIDATION_STATES[82] = [+4, +2]
2483OXIDATION_STATES[83] = [+5, +3]
2484OXIDATION_STATES[84] = [+4, +2]
2485OXIDATION_STATES[85] = [7, 5, 3, 1, -1]
2486OXIDATION_STATES[86] = [0]
2487OXIDATION_STATES[87] = [+1]
2488OXIDATION_STATES[88] = [+2]
2489OXIDATION_STATES[89] = [+3]
2490OXIDATION_STATES[90] = [+4]
2491OXIDATION_STATES[91] = [+5, +4]
2492OXIDATION_STATES[92] = [+6, +5, +4, +3]
2493OXIDATION_STATES[93] = [+6, +5, +4, +3]
2494OXIDATION_STATES[94] = [+6, +5, +4, +3]
2495OXIDATION_STATES[95] = [+6, +5, +4, +3]
2496OXIDATION_STATES[96] = [+3]
2497OXIDATION_STATES[97] = [+4, +3]
2498OXIDATION_STATES[98] = [+3]
2499OXIDATION_STATES[99] = [+3]
2500OXIDATION_STATES[100] = [+3]
2501OXIDATION_STATES[101] = [+3, +2]
2502OXIDATION_STATES[102] = [+3, +2]
2503OXIDATION_STATES[103] = [+3]
2504OXIDATION_STATES[104] = [+4]
2505OXIDATION_STATES[105] = [5, 4, 3]
2506OXIDATION_STATES[106] = [6, 5, 4, 3, 0]
2507OXIDATION_STATES[107] = [7, 5, 4, 3]
2508OXIDATION_STATES[108] = [8, 6, 5, 4, 3, 2]
2509OXIDATION_STATES[109] = [9, 8, 6, 4, 3, 1]
2510OXIDATION_STATES[110] = [8, 6, 4, 2, 0]
2511OXIDATION_STATES[111] = [5, 3, 1, -1]
2512OXIDATION_STATES[112] = [2, 1, 0]
2513OXIDATION_STATES[113] = [0]
2514OXIDATION_STATES[114] = [6, 4, 2, 1, 0]
2515OXIDATION_STATES[115] = [3, 1]
2516OXIDATION_STATES[116] = [+4, +2, -2]
2517OXIDATION_STATES[117] = [+5, +3, +1, -1]
2518OXIDATION_STATES[118] = [+6, +4, +2, +1, 0, -1]
2519
2520__states_set = sorted(set(sum(OXIDATION_STATES, [])))
2521__nstates = len(__states_set)
2522__state_dict = {s: i for i, s in enumerate(__states_set)}
2523__conv_tensor = np.zeros((len(PERIODIC_TABLE), __nstates))
2524for i, states in enumerate(OXIDATION_STATES[1 : len(PERIODIC_TABLE)]):
2525    for s in states:
2526        __conv_tensor[i, __state_dict[s]] = 1
2527OXIDATION_STATES_ONE_HOT = np.copy(__conv_tensor)
2528del __states_set, __nstates, __state_dict, __conv_tensor
2529
2530# Covalent radii from UFF (in Angstrom)
2531UFF_MAX_COV_RADII = np.ones(len(PERIODIC_TABLE),dtype=float) #[1.]*len(PERIODIC_TABLE)
2532UFF_MAX_COV_RADII[1]=0.354
2533UFF_MAX_COV_RADII[2]=0.849
2534UFF_MAX_COV_RADII[3]=1.336
2535UFF_MAX_COV_RADII[4]=1.074
2536UFF_MAX_COV_RADII[5]=0.838
2537UFF_MAX_COV_RADII[6]=0.757
2538UFF_MAX_COV_RADII[7]=0.7
2539UFF_MAX_COV_RADII[8]=0.68
2540UFF_MAX_COV_RADII[9]=0.668
2541UFF_MAX_COV_RADII[10]=0.92
2542UFF_MAX_COV_RADII[11]=1.539
2543UFF_MAX_COV_RADII[12]=1.421
2544UFF_MAX_COV_RADII[13]=1.244
2545UFF_MAX_COV_RADII[14]=1.117
2546UFF_MAX_COV_RADII[15]=1.101
2547UFF_MAX_COV_RADII[16]=1.077
2548UFF_MAX_COV_RADII[17]=1.044
2549UFF_MAX_COV_RADII[18]=1.032
2550UFF_MAX_COV_RADII[19]=1.953
2551UFF_MAX_COV_RADII[20]=1.761
2552UFF_MAX_COV_RADII[21]=1.513
2553UFF_MAX_COV_RADII[22]=1.412
2554UFF_MAX_COV_RADII[23]=1.402
2555UFF_MAX_COV_RADII[24]=1.345
2556UFF_MAX_COV_RADII[25]=1.382
2557UFF_MAX_COV_RADII[26]=1.335
2558UFF_MAX_COV_RADII[27]=1.241
2559UFF_MAX_COV_RADII[28]=1.164
2560UFF_MAX_COV_RADII[29]=1.302
2561UFF_MAX_COV_RADII[30]=1.193
2562UFF_MAX_COV_RADII[31]=1.26
2563UFF_MAX_COV_RADII[32]=1.197
2564UFF_MAX_COV_RADII[33]=1.211
2565UFF_MAX_COV_RADII[34]=1.19
2566UFF_MAX_COV_RADII[35]=1.192
2567UFF_MAX_COV_RADII[36]=1.147
2568UFF_MAX_COV_RADII[37]=2.26
2569UFF_MAX_COV_RADII[38]=2.052
2570UFF_MAX_COV_RADII[39]=1.698
2571UFF_MAX_COV_RADII[40]=1.564
2572UFF_MAX_COV_RADII[41]=1.473
2573UFF_MAX_COV_RADII[42]=1.484
2574UFF_MAX_COV_RADII[43]=1.322
2575UFF_MAX_COV_RADII[44]=1.478
2576UFF_MAX_COV_RADII[45]=1.332
2577UFF_MAX_COV_RADII[46]=1.338
2578UFF_MAX_COV_RADII[47]=1.386
2579UFF_MAX_COV_RADII[48]=1.403
2580UFF_MAX_COV_RADII[49]=1.459
2581UFF_MAX_COV_RADII[50]=1.398
2582UFF_MAX_COV_RADII[51]=1.407
2583UFF_MAX_COV_RADII[52]=1.386
2584UFF_MAX_COV_RADII[53]=1.382
2585UFF_MAX_COV_RADII[54]=1.267
2586UFF_MAX_COV_RADII[55]=2.57
2587UFF_MAX_COV_RADII[56]=2.277
2588UFF_MAX_COV_RADII[57]=1.943
2589UFF_MAX_COV_RADII[58]=1.841
2590UFF_MAX_COV_RADII[59]=1.823
2591UFF_MAX_COV_RADII[60]=1.816
2592UFF_MAX_COV_RADII[61]=1.801
2593UFF_MAX_COV_RADII[62]=1.78
2594UFF_MAX_COV_RADII[63]=1.771
2595UFF_MAX_COV_RADII[64]=1.735
2596UFF_MAX_COV_RADII[65]=1.732
2597UFF_MAX_COV_RADII[66]=1.71
2598UFF_MAX_COV_RADII[67]=1.696
2599UFF_MAX_COV_RADII[68]=1.673
2600UFF_MAX_COV_RADII[69]=1.66
2601UFF_MAX_COV_RADII[70]=1.637
2602UFF_MAX_COV_RADII[71]=1.671
2603UFF_MAX_COV_RADII[72]=1.611
2604UFF_MAX_COV_RADII[73]=1.511
2605UFF_MAX_COV_RADII[74]=1.526
2606UFF_MAX_COV_RADII[75]=1.372
2607UFF_MAX_COV_RADII[76]=1.372
2608UFF_MAX_COV_RADII[77]=1.371
2609UFF_MAX_COV_RADII[78]=1.364
2610UFF_MAX_COV_RADII[79]=1.262
2611UFF_MAX_COV_RADII[80]=1.34
2612UFF_MAX_COV_RADII[81]=1.518
2613UFF_MAX_COV_RADII[82]=1.459
2614UFF_MAX_COV_RADII[83]=1.512
2615UFF_MAX_COV_RADII[84]=1.5
2616UFF_MAX_COV_RADII[85]=1.545
2617UFF_MAX_COV_RADII[86]=1.42
2618UFF_MAX_COV_RADII[87]=2.88
2619UFF_MAX_COV_RADII[88]=2.512
2620UFF_MAX_COV_RADII[89]=1.983
2621UFF_MAX_COV_RADII[90]=1.721
2622UFF_MAX_COV_RADII[91]=1.711
2623UFF_MAX_COV_RADII[92]=1.684
2624UFF_MAX_COV_RADII[93]=1.666
2625UFF_MAX_COV_RADII[94]=1.657
2626UFF_MAX_COV_RADII[95]=1.66
2627UFF_MAX_COV_RADII[96]=1.801
2628UFF_MAX_COV_RADII[97]=1.761
2629UFF_MAX_COV_RADII[98]=1.75
2630UFF_MAX_COV_RADII[99]=1.724
2631UFF_MAX_COV_RADII[100]=1.712
2632UFF_MAX_COV_RADII[101]=1.689
2633UFF_MAX_COV_RADII[102]=1.679
2634UFF_MAX_COV_RADII[103]=1.698
2635
2636# Convert UFF radii to Bohr
2637UFF_MAX_COV_RADII = UFF_MAX_COV_RADII/au.BOHR
2638
2639# Van der Waals radii from UFF (in Angstrom)
2640UFF_VDW_RADII = np.ones(len(PERIODIC_TABLE),dtype=float) # [1.]*len(PERIODIC_TABLE)
2641UFF_VDW_RADII[1]=2.886
2642UFF_VDW_RADII[2]=2.362
2643UFF_VDW_RADII[3]=2.451
2644UFF_VDW_RADII[4]=2.745
2645UFF_VDW_RADII[5]=4.083
2646UFF_VDW_RADII[6]=3.851
2647UFF_VDW_RADII[7]=3.66
2648UFF_VDW_RADII[8]=3.5
2649UFF_VDW_RADII[9]=3.364
2650UFF_VDW_RADII[10]=3.243
2651UFF_VDW_RADII[11]=2.983
2652UFF_VDW_RADII[12]=3.021
2653UFF_VDW_RADII[13]=4.499
2654UFF_VDW_RADII[14]=4.295
2655UFF_VDW_RADII[15]=4.147
2656UFF_VDW_RADII[16]=4.035
2657UFF_VDW_RADII[17]=3.947
2658UFF_VDW_RADII[18]=3.868
2659UFF_VDW_RADII[19]=3.812
2660UFF_VDW_RADII[20]=3.399
2661UFF_VDW_RADII[21]=3.295
2662UFF_VDW_RADII[22]=3.175
2663UFF_VDW_RADII[23]=3.144
2664UFF_VDW_RADII[24]=3.023
2665UFF_VDW_RADII[25]=2.961
2666UFF_VDW_RADII[26]=2.912
2667UFF_VDW_RADII[27]=2.872
2668UFF_VDW_RADII[28]=2.834
2669UFF_VDW_RADII[29]=3.495
2670UFF_VDW_RADII[30]=2.763
2671UFF_VDW_RADII[31]=4.383
2672UFF_VDW_RADII[32]=4.28
2673UFF_VDW_RADII[33]=4.23
2674UFF_VDW_RADII[34]=4.205
2675UFF_VDW_RADII[35]=4.189
2676UFF_VDW_RADII[36]=4.141
2677UFF_VDW_RADII[37]=4.114
2678UFF_VDW_RADII[38]=3.641
2679UFF_VDW_RADII[39]=3.345
2680UFF_VDW_RADII[40]=3.124
2681UFF_VDW_RADII[41]=3.165
2682UFF_VDW_RADII[42]=3.052
2683UFF_VDW_RADII[43]=2.998
2684UFF_VDW_RADII[44]=2.963
2685UFF_VDW_RADII[45]=2.929
2686UFF_VDW_RADII[46]=2.899
2687UFF_VDW_RADII[47]=3.148
2688UFF_VDW_RADII[48]=2.848
2689UFF_VDW_RADII[49]=4.463
2690UFF_VDW_RADII[50]=4.392
2691UFF_VDW_RADII[51]=4.42
2692UFF_VDW_RADII[52]=4.47
2693UFF_VDW_RADII[53]=4.5
2694UFF_VDW_RADII[54]=4.404
2695UFF_VDW_RADII[55]=4.517
2696UFF_VDW_RADII[56]=3.703
2697UFF_VDW_RADII[57]=3.522
2698UFF_VDW_RADII[58]=3.556
2699UFF_VDW_RADII[59]=3.606
2700UFF_VDW_RADII[60]=3.575
2701UFF_VDW_RADII[61]=3.547
2702UFF_VDW_RADII[62]=3.52
2703UFF_VDW_RADII[63]=3.493
2704UFF_VDW_RADII[64]=3.368
2705UFF_VDW_RADII[65]=3.451
2706UFF_VDW_RADII[66]=3.428
2707UFF_VDW_RADII[67]=3.409
2708UFF_VDW_RADII[68]=3.391
2709UFF_VDW_RADII[69]=3.374
2710UFF_VDW_RADII[70]=3.355
2711UFF_VDW_RADII[71]=3.64
2712UFF_VDW_RADII[72]=3.141
2713UFF_VDW_RADII[73]=3.17
2714UFF_VDW_RADII[74]=3.069
2715UFF_VDW_RADII[75]=2.954
2716UFF_VDW_RADII[76]=3.12
2717UFF_VDW_RADII[77]=2.84
2718UFF_VDW_RADII[78]=2.754
2719UFF_VDW_RADII[79]=3.293
2720UFF_VDW_RADII[80]=2.705
2721UFF_VDW_RADII[81]=4.347
2722UFF_VDW_RADII[82]=4.297
2723UFF_VDW_RADII[83]=4.37
2724UFF_VDW_RADII[84]=4.709
2725UFF_VDW_RADII[85]=4.75
2726UFF_VDW_RADII[86]=4.765
2727UFF_VDW_RADII[87]=4.9
2728UFF_VDW_RADII[88]=3.677
2729UFF_VDW_RADII[89]=3.478
2730UFF_VDW_RADII[90]=3.396
2731UFF_VDW_RADII[91]=3.424
2732UFF_VDW_RADII[92]=3.395
2733UFF_VDW_RADII[93]=3.424
2734UFF_VDW_RADII[94]=3.424
2735UFF_VDW_RADII[95]=3.381
2736UFF_VDW_RADII[96]=3.326
2737UFF_VDW_RADII[97]=3.339
2738UFF_VDW_RADII[98]=3.313
2739UFF_VDW_RADII[99]=3.299
2740UFF_VDW_RADII[100]=3.286
2741UFF_VDW_RADII[101]=3.274
2742UFF_VDW_RADII[102]=3.248
2743UFF_VDW_RADII[103]=3.236
2744
2745# Convert UFF radii to Bohr
2746UFF_VDW_RADII = UFF_VDW_RADII/au.BOHR
2747
2748UFF_EFFECTIVE_CHARGE = np.zeros(len(PERIODIC_TABLE),dtype=float) #[0.0] * len(PERIODIC_TABLE)
2749UFF_EFFECTIVE_CHARGE[1]=0.712
2750UFF_EFFECTIVE_CHARGE[2]=0.098
2751UFF_EFFECTIVE_CHARGE[3]=1.026
2752UFF_EFFECTIVE_CHARGE[4]=1.565
2753UFF_EFFECTIVE_CHARGE[5]=1.755
2754UFF_EFFECTIVE_CHARGE[6]=1.912
2755UFF_EFFECTIVE_CHARGE[7]=2.544
2756UFF_EFFECTIVE_CHARGE[8]=2.3
2757UFF_EFFECTIVE_CHARGE[9]=1.735
2758UFF_EFFECTIVE_CHARGE[10]=0.194
2759UFF_EFFECTIVE_CHARGE[11]=1.081
2760UFF_EFFECTIVE_CHARGE[12]=1.787
2761UFF_EFFECTIVE_CHARGE[13]=1.792
2762UFF_EFFECTIVE_CHARGE[14]=2.323
2763UFF_EFFECTIVE_CHARGE[15]=2.863
2764UFF_EFFECTIVE_CHARGE[16]=2.703
2765UFF_EFFECTIVE_CHARGE[17]=2.348
2766UFF_EFFECTIVE_CHARGE[18]=0.3
2767UFF_EFFECTIVE_CHARGE[19]=1.165
2768UFF_EFFECTIVE_CHARGE[20]=2.141
2769UFF_EFFECTIVE_CHARGE[21]=2.592
2770UFF_EFFECTIVE_CHARGE[22]=2.659
2771UFF_EFFECTIVE_CHARGE[23]=2.679
2772UFF_EFFECTIVE_CHARGE[24]=2.463
2773UFF_EFFECTIVE_CHARGE[25]=2.43
2774UFF_EFFECTIVE_CHARGE[26]=2.43
2775UFF_EFFECTIVE_CHARGE[27]=2.43
2776UFF_EFFECTIVE_CHARGE[28]=2.43
2777UFF_EFFECTIVE_CHARGE[29]=1.756
2778UFF_EFFECTIVE_CHARGE[30]=1.308
2779UFF_EFFECTIVE_CHARGE[31]=1.821
2780UFF_EFFECTIVE_CHARGE[32]=2.789
2781UFF_EFFECTIVE_CHARGE[33]=2.864
2782UFF_EFFECTIVE_CHARGE[34]=2.764
2783UFF_EFFECTIVE_CHARGE[35]=2.519
2784UFF_EFFECTIVE_CHARGE[36]=0.452
2785UFF_EFFECTIVE_CHARGE[37]=1.592
2786UFF_EFFECTIVE_CHARGE[38]=2.449
2787UFF_EFFECTIVE_CHARGE[39]=3.257
2788UFF_EFFECTIVE_CHARGE[40]=3.667
2789UFF_EFFECTIVE_CHARGE[41]=3.618
2790UFF_EFFECTIVE_CHARGE[42]=3.4
2791UFF_EFFECTIVE_CHARGE[43]=3.4
2792UFF_EFFECTIVE_CHARGE[44]=3.4
2793UFF_EFFECTIVE_CHARGE[45]=3.508
2794UFF_EFFECTIVE_CHARGE[46]=3.21
2795UFF_EFFECTIVE_CHARGE[47]=1.956
2796UFF_EFFECTIVE_CHARGE[48]=1.65
2797UFF_EFFECTIVE_CHARGE[49]=2.07
2798UFF_EFFECTIVE_CHARGE[50]=2.961
2799UFF_EFFECTIVE_CHARGE[51]=2.704
2800UFF_EFFECTIVE_CHARGE[52]=2.882
2801UFF_EFFECTIVE_CHARGE[53]=2.65
2802UFF_EFFECTIVE_CHARGE[54]=0.556
2803UFF_EFFECTIVE_CHARGE[55]=1.573
2804UFF_EFFECTIVE_CHARGE[56]=2.727
2805UFF_EFFECTIVE_CHARGE[57]=3.3
2806UFF_EFFECTIVE_CHARGE[58]=3.3
2807UFF_EFFECTIVE_CHARGE[59]=3.3
2808UFF_EFFECTIVE_CHARGE[60]=3.3
2809UFF_EFFECTIVE_CHARGE[61]=3.3
2810UFF_EFFECTIVE_CHARGE[62]=3.3
2811UFF_EFFECTIVE_CHARGE[63]=3.3
2812UFF_EFFECTIVE_CHARGE[64]=3.3
2813UFF_EFFECTIVE_CHARGE[65]=3.3
2814UFF_EFFECTIVE_CHARGE[66]=3.3
2815UFF_EFFECTIVE_CHARGE[67]=3.416
2816UFF_EFFECTIVE_CHARGE[68]=3.3
2817UFF_EFFECTIVE_CHARGE[69]=3.3
2818UFF_EFFECTIVE_CHARGE[70]=2.618
2819UFF_EFFECTIVE_CHARGE[71]=3.271
2820UFF_EFFECTIVE_CHARGE[72]=3.921
2821UFF_EFFECTIVE_CHARGE[73]=4.075
2822UFF_EFFECTIVE_CHARGE[74]=3.7
2823UFF_EFFECTIVE_CHARGE[75]=3.7
2824UFF_EFFECTIVE_CHARGE[76]=3.7
2825UFF_EFFECTIVE_CHARGE[77]=3.731
2826UFF_EFFECTIVE_CHARGE[78]=3.382
2827UFF_EFFECTIVE_CHARGE[79]=2.625
2828UFF_EFFECTIVE_CHARGE[80]=1.75
2829UFF_EFFECTIVE_CHARGE[81]=2.068
2830UFF_EFFECTIVE_CHARGE[82]=2.846
2831UFF_EFFECTIVE_CHARGE[83]=2.47
2832UFF_EFFECTIVE_CHARGE[84]=2.33
2833UFF_EFFECTIVE_CHARGE[85]=2.24
2834UFF_EFFECTIVE_CHARGE[86]=0.583
2835UFF_EFFECTIVE_CHARGE[87]=1.847
2836UFF_EFFECTIVE_CHARGE[88]=2.92
2837UFF_EFFECTIVE_CHARGE[89]=3.9
2838UFF_EFFECTIVE_CHARGE[90]=4.202
2839UFF_EFFECTIVE_CHARGE[91]=3.9
2840UFF_EFFECTIVE_CHARGE[92]=3.9
2841UFF_EFFECTIVE_CHARGE[93]=3.9
2842UFF_EFFECTIVE_CHARGE[94]=3.9
2843UFF_EFFECTIVE_CHARGE[95]=3.9
2844UFF_EFFECTIVE_CHARGE[96]=3.9
2845UFF_EFFECTIVE_CHARGE[97]=3.9
2846UFF_EFFECTIVE_CHARGE[98]=3.9
2847UFF_EFFECTIVE_CHARGE[99]=3.9
2848UFF_EFFECTIVE_CHARGE[100]=3.9
2849UFF_EFFECTIVE_CHARGE[101]=3.9
2850UFF_EFFECTIVE_CHARGE[102]=3.9
2851UFF_EFFECTIVE_CHARGE[103]=3.9
2852
2853UFF_ZETA_SCALE = 12.*np.ones(len(PERIODIC_TABLE),dtype=float) # [12.0] * len(PERIODIC_TABLE)
2854UFF_ZETA_SCALE[1]=12.0
2855UFF_ZETA_SCALE[2]=15.24
2856UFF_ZETA_SCALE[3]=12.0
2857UFF_ZETA_SCALE[4]=12.0
2858UFF_ZETA_SCALE[5]=12.052
2859UFF_ZETA_SCALE[6]=12.73
2860UFF_ZETA_SCALE[7]=13.407
2861UFF_ZETA_SCALE[8]=14.085
2862UFF_ZETA_SCALE[9]=14.762
2863UFF_ZETA_SCALE[10]=15.44
2864UFF_ZETA_SCALE[11]=12.0
2865UFF_ZETA_SCALE[12]=12.0
2866UFF_ZETA_SCALE[13]=11.278
2867UFF_ZETA_SCALE[14]=12.175
2868UFF_ZETA_SCALE[15]=13.072
2869UFF_ZETA_SCALE[16]=13.969
2870UFF_ZETA_SCALE[17]=14.866
2871UFF_ZETA_SCALE[18]=15.763
2872UFF_ZETA_SCALE[19]=12.0
2873UFF_ZETA_SCALE[20]=12.0
2874UFF_ZETA_SCALE[21]=12.0
2875UFF_ZETA_SCALE[22]=12.0
2876UFF_ZETA_SCALE[23]=12.0
2877UFF_ZETA_SCALE[24]=12.0
2878UFF_ZETA_SCALE[25]=12.0
2879UFF_ZETA_SCALE[26]=12.0
2880UFF_ZETA_SCALE[27]=12.0
2881UFF_ZETA_SCALE[28]=12.0
2882UFF_ZETA_SCALE[29]=12.0
2883UFF_ZETA_SCALE[30]=12.0
2884UFF_ZETA_SCALE[31]=11.0
2885UFF_ZETA_SCALE[32]=12.0
2886UFF_ZETA_SCALE[33]=13.0
2887UFF_ZETA_SCALE[34]=14.0
2888UFF_ZETA_SCALE[35]=15.0
2889UFF_ZETA_SCALE[36]=16.0
2890UFF_ZETA_SCALE[37]=12.0
2891UFF_ZETA_SCALE[38]=12.0
2892UFF_ZETA_SCALE[39]=12.0
2893UFF_ZETA_SCALE[40]=12.0
2894UFF_ZETA_SCALE[41]=12.0
2895UFF_ZETA_SCALE[42]=12.0
2896UFF_ZETA_SCALE[43]=12.0
2897UFF_ZETA_SCALE[44]=12.0
2898UFF_ZETA_SCALE[45]=12.0
2899UFF_ZETA_SCALE[46]=12.0
2900UFF_ZETA_SCALE[47]=12.0
2901UFF_ZETA_SCALE[48]=12.0
2902UFF_ZETA_SCALE[49]=11.0
2903UFF_ZETA_SCALE[50]=12.0
2904UFF_ZETA_SCALE[51]=13.0
2905UFF_ZETA_SCALE[52]=14.0
2906UFF_ZETA_SCALE[53]=15.0
2907UFF_ZETA_SCALE[54]=12.0
2908UFF_ZETA_SCALE[55]=12.0
2909UFF_ZETA_SCALE[56]=12.0
2910UFF_ZETA_SCALE[57]=12.0
2911UFF_ZETA_SCALE[58]=12.0
2912UFF_ZETA_SCALE[59]=12.0
2913UFF_ZETA_SCALE[60]=12.0
2914UFF_ZETA_SCALE[61]=12.0
2915UFF_ZETA_SCALE[62]=12.0
2916UFF_ZETA_SCALE[63]=12.0
2917UFF_ZETA_SCALE[64]=12.0
2918UFF_ZETA_SCALE[65]=12.0
2919UFF_ZETA_SCALE[66]=12.0
2920UFF_ZETA_SCALE[67]=12.0
2921UFF_ZETA_SCALE[68]=12.0
2922UFF_ZETA_SCALE[69]=12.0
2923UFF_ZETA_SCALE[70]=12.0
2924UFF_ZETA_SCALE[71]=12.0
2925UFF_ZETA_SCALE[72]=12.0
2926UFF_ZETA_SCALE[73]=12.0
2927UFF_ZETA_SCALE[74]=12.0
2928UFF_ZETA_SCALE[75]=12.0
2929UFF_ZETA_SCALE[76]=12.0
2930UFF_ZETA_SCALE[77]=12.0
2931UFF_ZETA_SCALE[78]=12.0
2932UFF_ZETA_SCALE[79]=12.0
2933UFF_ZETA_SCALE[80]=12.0
2934UFF_ZETA_SCALE[81]=11.0
2935UFF_ZETA_SCALE[82]=12.0
2936UFF_ZETA_SCALE[83]=13.0
2937UFF_ZETA_SCALE[84]=14.0
2938UFF_ZETA_SCALE[85]=15.0
2939UFF_ZETA_SCALE[86]=16.0
2940UFF_ZETA_SCALE[87]=12.0
2941UFF_ZETA_SCALE[88]=12.0
2942UFF_ZETA_SCALE[89]=12.0
2943UFF_ZETA_SCALE[90]=12.0
2944UFF_ZETA_SCALE[91]=12.0
2945UFF_ZETA_SCALE[92]=12.0
2946UFF_ZETA_SCALE[93]=12.0
2947UFF_ZETA_SCALE[94]=12.0
2948UFF_ZETA_SCALE[95]=12.0
2949UFF_ZETA_SCALE[96]=12.0
2950UFF_ZETA_SCALE[97]=12.0
2951UFF_ZETA_SCALE[98]=12.0
2952UFF_ZETA_SCALE[99]=12.0
2953UFF_ZETA_SCALE[100]=12.0
2954UFF_ZETA_SCALE[101]=12.0
2955UFF_ZETA_SCALE[102]=12.0
2956UFF_ZETA_SCALE[103]=12.0
2957
2958
2959# UFF D energy parameters in kcal/mol
2960UFF_D_ENERGY = np.zeros(len(PERIODIC_TABLE),dtype=float) # [0.0] * len(PERIODIC_TABLE)
2961UFF_D_ENERGY[1]=0.044
2962UFF_D_ENERGY[2]=0.056
2963UFF_D_ENERGY[3]=0.025
2964UFF_D_ENERGY[4]=0.085
2965UFF_D_ENERGY[5]=0.18
2966UFF_D_ENERGY[6]=0.105
2967UFF_D_ENERGY[7]=0.069
2968UFF_D_ENERGY[8]=0.06
2969UFF_D_ENERGY[9]=0.05
2970UFF_D_ENERGY[10]=0.042
2971UFF_D_ENERGY[11]=0.03
2972UFF_D_ENERGY[12]=0.111
2973UFF_D_ENERGY[13]=0.505
2974UFF_D_ENERGY[14]=0.402
2975UFF_D_ENERGY[15]=0.305
2976UFF_D_ENERGY[16]=0.274
2977UFF_D_ENERGY[17]=0.227
2978UFF_D_ENERGY[18]=0.185
2979UFF_D_ENERGY[19]=0.035
2980UFF_D_ENERGY[20]=0.238
2981UFF_D_ENERGY[21]=0.019
2982UFF_D_ENERGY[22]=0.017
2983UFF_D_ENERGY[23]=0.016
2984UFF_D_ENERGY[24]=0.015
2985UFF_D_ENERGY[25]=0.013
2986UFF_D_ENERGY[26]=0.013
2987UFF_D_ENERGY[27]=0.014
2988UFF_D_ENERGY[28]=0.015
2989UFF_D_ENERGY[29]=0.005
2990UFF_D_ENERGY[30]=0.124
2991UFF_D_ENERGY[31]=0.415
2992UFF_D_ENERGY[32]=0.379
2993UFF_D_ENERGY[33]=0.309
2994UFF_D_ENERGY[34]=0.291
2995UFF_D_ENERGY[35]=0.251
2996UFF_D_ENERGY[36]=0.22
2997UFF_D_ENERGY[37]=0.04
2998UFF_D_ENERGY[38]=0.235
2999UFF_D_ENERGY[39]=0.072
3000UFF_D_ENERGY[40]=0.069
3001UFF_D_ENERGY[41]=0.059
3002UFF_D_ENERGY[42]=0.056
3003UFF_D_ENERGY[43]=0.048
3004UFF_D_ENERGY[44]=0.056
3005UFF_D_ENERGY[45]=0.053
3006UFF_D_ENERGY[46]=0.048
3007UFF_D_ENERGY[47]=0.036
3008UFF_D_ENERGY[48]=0.228
3009UFF_D_ENERGY[49]=0.599
3010UFF_D_ENERGY[50]=0.567
3011UFF_D_ENERGY[51]=0.449
3012UFF_D_ENERGY[52]=0.398
3013UFF_D_ENERGY[53]=0.339
3014UFF_D_ENERGY[54]=0.332
3015UFF_D_ENERGY[55]=0.045
3016UFF_D_ENERGY[56]=0.364
3017UFF_D_ENERGY[57]=0.017
3018UFF_D_ENERGY[58]=0.013
3019UFF_D_ENERGY[59]=0.01
3020UFF_D_ENERGY[60]=0.01
3021UFF_D_ENERGY[61]=0.009
3022UFF_D_ENERGY[62]=0.008
3023UFF_D_ENERGY[63]=0.008
3024UFF_D_ENERGY[64]=0.009
3025UFF_D_ENERGY[65]=0.007
3026UFF_D_ENERGY[66]=0.007
3027UFF_D_ENERGY[67]=0.007
3028UFF_D_ENERGY[68]=0.007
3029UFF_D_ENERGY[69]=0.006
3030UFF_D_ENERGY[70]=0.228
3031UFF_D_ENERGY[71]=0.041
3032UFF_D_ENERGY[72]=0.072
3033UFF_D_ENERGY[73]=0.081
3034UFF_D_ENERGY[74]=0.067
3035UFF_D_ENERGY[75]=0.066
3036UFF_D_ENERGY[76]=0.037
3037UFF_D_ENERGY[77]=0.073
3038UFF_D_ENERGY[78]=0.08
3039UFF_D_ENERGY[79]=0.039
3040UFF_D_ENERGY[80]=0.385
3041UFF_D_ENERGY[81]=0.68
3042UFF_D_ENERGY[82]=0.663
3043UFF_D_ENERGY[83]=0.518
3044UFF_D_ENERGY[84]=0.325
3045UFF_D_ENERGY[85]=0.284
3046UFF_D_ENERGY[86]=0.248
3047UFF_D_ENERGY[87]=0.05
3048UFF_D_ENERGY[88]=0.404
3049UFF_D_ENERGY[89]=0.033
3050UFF_D_ENERGY[90]=0.026
3051UFF_D_ENERGY[91]=0.022
3052UFF_D_ENERGY[92]=0.022
3053UFF_D_ENERGY[93]=0.019
3054UFF_D_ENERGY[94]=0.016
3055UFF_D_ENERGY[95]=0.014
3056UFF_D_ENERGY[96]=0.013
3057UFF_D_ENERGY[97]=0.013
3058UFF_D_ENERGY[98]=0.013
3059UFF_D_ENERGY[99]=0.012
3060UFF_D_ENERGY[100]=0.012
3061UFF_D_ENERGY[101]=0.011
3062UFF_D_ENERGY[102]=0.011
3063UFF_D_ENERGY[103]=0.011
3064
3065# convert UFF D energy to hartree
3066UFF_D_ENERGY = UFF_D_ENERGY/au.KCALPERMOL
3067
3068UFF_NTYPES = np.ones(len(PERIODIC_TABLE),dtype=int) #[1]*len(PERIODIC_TABLE)
3069UFF_NTYPES[1]=2
3070UFF_NTYPES[5]=2
3071UFF_NTYPES[6]=4
3072UFF_NTYPES[7]=4
3073UFF_NTYPES[8]=5
3074UFF_NTYPES[15]=3
3075UFF_NTYPES[16]=5
3076UFF_NTYPES[22]=2
3077UFF_NTYPES[26]=2
3078UFF_NTYPES[42]=2
3079UFF_NTYPES[74]=3
3080UFF_NTYPES[75]=2
3081
3082UFF_COV_RADII = np.ones((len(PERIODIC_TABLE),5),dtype=float)
3083UFF_COV_RADII[1][0]=0.354
3084UFF_COV_RADII[1][1]=0.46
3085UFF_COV_RADII[2][0]=0.849
3086UFF_COV_RADII[3][0]=1.336
3087UFF_COV_RADII[4][0]=1.074
3088UFF_COV_RADII[5][0]=0.838
3089UFF_COV_RADII[5][1]=0.828
3090UFF_COV_RADII[6][0]=0.757
3091UFF_COV_RADII[6][1]=0.729
3092UFF_COV_RADII[6][2]=0.732
3093UFF_COV_RADII[6][3]=0.706
3094UFF_COV_RADII[7][0]=0.7
3095UFF_COV_RADII[7][1]=0.699
3096UFF_COV_RADII[7][2]=0.685
3097UFF_COV_RADII[7][3]=0.656
3098UFF_COV_RADII[8][0]=0.658
3099UFF_COV_RADII[8][1]=0.528
3100UFF_COV_RADII[8][2]=0.68
3101UFF_COV_RADII[8][3]=0.634
3102UFF_COV_RADII[8][4]=0.639
3103UFF_COV_RADII[9][0]=0.668
3104UFF_COV_RADII[10][0]=0.92
3105UFF_COV_RADII[11][0]=1.539
3106UFF_COV_RADII[12][0]=1.421
3107UFF_COV_RADII[13][0]=1.244
3108UFF_COV_RADII[14][0]=1.117
3109UFF_COV_RADII[15][0]=1.101
3110UFF_COV_RADII[15][1]=1.056
3111UFF_COV_RADII[15][2]=1.056
3112UFF_COV_RADII[16][0]=1.064
3113UFF_COV_RADII[16][1]=1.049
3114UFF_COV_RADII[16][2]=1.027
3115UFF_COV_RADII[16][3]=1.077
3116UFF_COV_RADII[16][4]=0.854
3117UFF_COV_RADII[17][0]=1.044
3118UFF_COV_RADII[18][0]=1.032
3119UFF_COV_RADII[19][0]=1.953
3120UFF_COV_RADII[20][0]=1.761
3121UFF_COV_RADII[21][0]=1.513
3122UFF_COV_RADII[22][0]=1.412
3123UFF_COV_RADII[22][1]=1.412
3124UFF_COV_RADII[23][0]=1.402
3125UFF_COV_RADII[24][0]=1.345
3126UFF_COV_RADII[25][0]=1.382
3127UFF_COV_RADII[26][0]=1.27
3128UFF_COV_RADII[26][1]=1.335
3129UFF_COV_RADII[27][0]=1.241
3130UFF_COV_RADII[28][0]=1.164
3131UFF_COV_RADII[29][0]=1.302
3132UFF_COV_RADII[30][0]=1.193
3133UFF_COV_RADII[31][0]=1.26
3134UFF_COV_RADII[32][0]=1.197
3135UFF_COV_RADII[33][0]=1.211
3136UFF_COV_RADII[34][0]=1.19
3137UFF_COV_RADII[35][0]=1.192
3138UFF_COV_RADII[36][0]=1.147
3139UFF_COV_RADII[37][0]=2.26
3140UFF_COV_RADII[38][0]=2.052
3141UFF_COV_RADII[39][0]=1.698
3142UFF_COV_RADII[40][0]=1.564
3143UFF_COV_RADII[41][0]=1.473
3144UFF_COV_RADII[42][0]=1.467
3145UFF_COV_RADII[42][1]=1.484
3146UFF_COV_RADII[43][0]=1.322
3147UFF_COV_RADII[44][0]=1.478
3148UFF_COV_RADII[45][0]=1.332
3149UFF_COV_RADII[46][0]=1.338
3150UFF_COV_RADII[47][0]=1.386
3151UFF_COV_RADII[48][0]=1.403
3152UFF_COV_RADII[49][0]=1.459
3153UFF_COV_RADII[50][0]=1.398
3154UFF_COV_RADII[51][0]=1.407
3155UFF_COV_RADII[52][0]=1.386
3156UFF_COV_RADII[53][0]=1.382
3157UFF_COV_RADII[54][0]=1.267
3158UFF_COV_RADII[55][0]=2.57
3159UFF_COV_RADII[56][0]=2.277
3160UFF_COV_RADII[57][0]=1.943
3161UFF_COV_RADII[58][0]=1.841
3162UFF_COV_RADII[59][0]=1.823
3163UFF_COV_RADII[60][0]=1.816
3164UFF_COV_RADII[61][0]=1.801
3165UFF_COV_RADII[62][0]=1.78
3166UFF_COV_RADII[63][0]=1.771
3167UFF_COV_RADII[64][0]=1.735
3168UFF_COV_RADII[65][0]=1.732
3169UFF_COV_RADII[66][0]=1.71
3170UFF_COV_RADII[67][0]=1.696
3171UFF_COV_RADII[68][0]=1.673
3172UFF_COV_RADII[69][0]=1.66
3173UFF_COV_RADII[70][0]=1.637
3174UFF_COV_RADII[71][0]=1.671
3175UFF_COV_RADII[72][0]=1.611
3176UFF_COV_RADII[73][0]=1.511
3177UFF_COV_RADII[74][0]=1.392
3178UFF_COV_RADII[74][1]=1.526
3179UFF_COV_RADII[74][2]=1.38
3180UFF_COV_RADII[75][0]=1.372
3181UFF_COV_RADII[75][1]=1.314
3182UFF_COV_RADII[76][0]=1.372
3183UFF_COV_RADII[77][0]=1.371
3184UFF_COV_RADII[78][0]=1.364
3185UFF_COV_RADII[79][0]=1.262
3186UFF_COV_RADII[80][0]=1.34
3187UFF_COV_RADII[81][0]=1.518
3188UFF_COV_RADII[82][0]=1.459
3189UFF_COV_RADII[83][0]=1.512
3190UFF_COV_RADII[84][0]=1.5
3191UFF_COV_RADII[85][0]=1.545
3192UFF_COV_RADII[86][0]=1.42
3193UFF_COV_RADII[87][0]=2.88
3194UFF_COV_RADII[88][0]=2.512
3195UFF_COV_RADII[89][0]=1.983
3196UFF_COV_RADII[90][0]=1.721
3197UFF_COV_RADII[91][0]=1.711
3198UFF_COV_RADII[92][0]=1.684
3199UFF_COV_RADII[93][0]=1.666
3200UFF_COV_RADII[94][0]=1.657
3201UFF_COV_RADII[95][0]=1.66
3202UFF_COV_RADII[96][0]=1.801
3203UFF_COV_RADII[97][0]=1.761
3204UFF_COV_RADII[98][0]=1.75
3205UFF_COV_RADII[99][0]=1.724
3206UFF_COV_RADII[100][0]=1.712
3207UFF_COV_RADII[101][0]=1.689
3208UFF_COV_RADII[102][0]=1.679
3209UFF_COV_RADII[103][0]=1.698
3210
3211UFF_COV_RADII = UFF_COV_RADII/au.BOHR
3212
3213
3214UFF_COV_ANGLE = 180.*np.ones((len(PERIODIC_TABLE),5),dtype=float)
3215UFF_COV_ANGLE[1][0]=180.0
3216UFF_COV_ANGLE[1][1]=83.5
3217UFF_COV_ANGLE[2][0]=90.0
3218UFF_COV_ANGLE[3][0]=180.0
3219UFF_COV_ANGLE[4][0]=109.47
3220UFF_COV_ANGLE[5][0]=109.47
3221UFF_COV_ANGLE[5][1]=120.0
3222UFF_COV_ANGLE[6][0]=109.47
3223UFF_COV_ANGLE[6][1]=120.0
3224UFF_COV_ANGLE[6][2]=120.0
3225UFF_COV_ANGLE[6][3]=180.0
3226UFF_COV_ANGLE[7][0]=106.7
3227UFF_COV_ANGLE[7][1]=120.0
3228UFF_COV_ANGLE[7][2]=111.2
3229UFF_COV_ANGLE[7][3]=180.0
3230UFF_COV_ANGLE[8][0]=104.51
3231UFF_COV_ANGLE[8][1]=146.0
3232UFF_COV_ANGLE[8][2]=110.0
3233UFF_COV_ANGLE[8][3]=120.0
3234UFF_COV_ANGLE[8][4]=180.0
3235UFF_COV_ANGLE[9][0]=180.0
3236UFF_COV_ANGLE[10][0]=90.0
3237UFF_COV_ANGLE[11][0]=180.0
3238UFF_COV_ANGLE[12][0]=109.47
3239UFF_COV_ANGLE[13][0]=109.47
3240UFF_COV_ANGLE[14][0]=109.47
3241UFF_COV_ANGLE[15][0]=93.8
3242UFF_COV_ANGLE[15][1]=109.47
3243UFF_COV_ANGLE[15][2]=109.47
3244UFF_COV_ANGLE[16][0]=92.1
3245UFF_COV_ANGLE[16][1]=103.2
3246UFF_COV_ANGLE[16][2]=109.47
3247UFF_COV_ANGLE[16][3]=92.2
3248UFF_COV_ANGLE[16][4]=120.0
3249UFF_COV_ANGLE[17][0]=180.0
3250UFF_COV_ANGLE[18][0]=90.0
3251UFF_COV_ANGLE[19][0]=180.0
3252UFF_COV_ANGLE[20][0]=90.0
3253UFF_COV_ANGLE[21][0]=109.47
3254UFF_COV_ANGLE[22][0]=109.47
3255UFF_COV_ANGLE[22][1]=90.0
3256UFF_COV_ANGLE[23][0]=109.47
3257UFF_COV_ANGLE[24][0]=90.0
3258UFF_COV_ANGLE[25][0]=90.0
3259UFF_COV_ANGLE[26][0]=109.47
3260UFF_COV_ANGLE[26][1]=90.0
3261UFF_COV_ANGLE[27][0]=90.0
3262UFF_COV_ANGLE[28][0]=90.0
3263UFF_COV_ANGLE[29][0]=109.47
3264UFF_COV_ANGLE[30][0]=109.47
3265UFF_COV_ANGLE[31][0]=109.47
3266UFF_COV_ANGLE[32][0]=109.47
3267UFF_COV_ANGLE[33][0]=92.1
3268UFF_COV_ANGLE[34][0]=90.6
3269UFF_COV_ANGLE[35][0]=180.0
3270UFF_COV_ANGLE[36][0]=90.0
3271UFF_COV_ANGLE[37][0]=180.0
3272UFF_COV_ANGLE[38][0]=90.0
3273UFF_COV_ANGLE[39][0]=109.47
3274UFF_COV_ANGLE[40][0]=109.47
3275UFF_COV_ANGLE[41][0]=109.47
3276UFF_COV_ANGLE[42][0]=90.0
3277UFF_COV_ANGLE[42][1]=109.47
3278UFF_COV_ANGLE[43][0]=90.0
3279UFF_COV_ANGLE[44][0]=90.0
3280UFF_COV_ANGLE[45][0]=90.0
3281UFF_COV_ANGLE[46][0]=90.0
3282UFF_COV_ANGLE[47][0]=180.0
3283UFF_COV_ANGLE[48][0]=109.47
3284UFF_COV_ANGLE[49][0]=109.47
3285UFF_COV_ANGLE[50][0]=109.47
3286UFF_COV_ANGLE[51][0]=91.6
3287UFF_COV_ANGLE[52][0]=90.25
3288UFF_COV_ANGLE[53][0]=180.0
3289UFF_COV_ANGLE[54][0]=90.0
3290UFF_COV_ANGLE[55][0]=180.0
3291UFF_COV_ANGLE[56][0]=90.0
3292UFF_COV_ANGLE[57][0]=109.47
3293UFF_COV_ANGLE[58][0]=90.0
3294UFF_COV_ANGLE[59][0]=90.0
3295UFF_COV_ANGLE[60][0]=90.0
3296UFF_COV_ANGLE[61][0]=90.0
3297UFF_COV_ANGLE[62][0]=90.0
3298UFF_COV_ANGLE[63][0]=90.0
3299UFF_COV_ANGLE[64][0]=90.0
3300UFF_COV_ANGLE[65][0]=90.0
3301UFF_COV_ANGLE[66][0]=90.0
3302UFF_COV_ANGLE[67][0]=90.0
3303UFF_COV_ANGLE[68][0]=90.0
3304UFF_COV_ANGLE[69][0]=90.0
3305UFF_COV_ANGLE[70][0]=90.0
3306UFF_COV_ANGLE[71][0]=90.0
3307UFF_COV_ANGLE[72][0]=109.47
3308UFF_COV_ANGLE[73][0]=109.47
3309UFF_COV_ANGLE[74][0]=90.0
3310UFF_COV_ANGLE[74][1]=109.47
3311UFF_COV_ANGLE[74][2]=109.47
3312UFF_COV_ANGLE[75][0]=90.0
3313UFF_COV_ANGLE[75][1]=109.47
3314UFF_COV_ANGLE[76][0]=90.0
3315UFF_COV_ANGLE[77][0]=90.0
3316UFF_COV_ANGLE[78][0]=90.0
3317UFF_COV_ANGLE[79][0]=90.0
3318UFF_COV_ANGLE[80][0]=180.0
3319UFF_COV_ANGLE[81][0]=120.0
3320UFF_COV_ANGLE[82][0]=109.47
3321UFF_COV_ANGLE[83][0]=90.0
3322UFF_COV_ANGLE[84][0]=90.0
3323UFF_COV_ANGLE[85][0]=180.0
3324UFF_COV_ANGLE[86][0]=90.0
3325UFF_COV_ANGLE[87][0]=180.0
3326UFF_COV_ANGLE[88][0]=90.0
3327UFF_COV_ANGLE[89][0]=90.0
3328UFF_COV_ANGLE[90][0]=90.0
3329UFF_COV_ANGLE[91][0]=90.0
3330UFF_COV_ANGLE[92][0]=90.0
3331UFF_COV_ANGLE[93][0]=90.0
3332UFF_COV_ANGLE[94][0]=90.0
3333UFF_COV_ANGLE[95][0]=90.0
3334UFF_COV_ANGLE[96][0]=90.0
3335UFF_COV_ANGLE[97][0]=90.0
3336UFF_COV_ANGLE[98][0]=90.0
3337UFF_COV_ANGLE[99][0]=90.0
3338UFF_COV_ANGLE[100][0]=90.0
3339UFF_COV_ANGLE[101][0]=90.0
3340UFF_COV_ANGLE[102][0]=90.0
3341UFF_COV_ANGLE[103][0]=90.0
3342
3343UFF_MAX_COORDINATION = np.zeros(len(PERIODIC_TABLE),dtype=int)
3344UFF_MAX_COORDINATION[1] = 1
3345UFF_MAX_COORDINATION[2] = 4
3346UFF_MAX_COORDINATION[3] = 1
3347UFF_MAX_COORDINATION[4] = 4
3348UFF_MAX_COORDINATION[5] = 4
3349UFF_MAX_COORDINATION[6] = 4
3350UFF_MAX_COORDINATION[7] = 4
3351UFF_MAX_COORDINATION[8] = 2
3352UFF_MAX_COORDINATION[9] = 1
3353UFF_MAX_COORDINATION[10] = 4
3354UFF_MAX_COORDINATION[11] = 1
3355UFF_MAX_COORDINATION[12] = 4
3356UFF_MAX_COORDINATION[13] = 4
3357UFF_MAX_COORDINATION[14] = 4
3358UFF_MAX_COORDINATION[15] = 4
3359UFF_MAX_COORDINATION[16] = 4
3360UFF_MAX_COORDINATION[17] = 1
3361UFF_MAX_COORDINATION[18] = 4
3362UFF_MAX_COORDINATION[19] = 1
3363UFF_MAX_COORDINATION[20] = 6
3364UFF_MAX_COORDINATION[21] = 4
3365UFF_MAX_COORDINATION[22] = 6
3366UFF_MAX_COORDINATION[23] = 4
3367UFF_MAX_COORDINATION[24] = 6
3368UFF_MAX_COORDINATION[25] = 6
3369UFF_MAX_COORDINATION[26] = 6
3370UFF_MAX_COORDINATION[27] = 6
3371UFF_MAX_COORDINATION[28] = 4
3372UFF_MAX_COORDINATION[29] = 4
3373UFF_MAX_COORDINATION[30] = 4
3374UFF_MAX_COORDINATION[31] = 4
3375UFF_MAX_COORDINATION[32] = 4
3376UFF_MAX_COORDINATION[33] = 4
3377UFF_MAX_COORDINATION[34] = 4
3378UFF_MAX_COORDINATION[35] = 1
3379UFF_MAX_COORDINATION[36] = 4
3380UFF_MAX_COORDINATION[37] = 1
3381UFF_MAX_COORDINATION[38] = 6
3382UFF_MAX_COORDINATION[39] = 4
3383UFF_MAX_COORDINATION[40] = 4
3384UFF_MAX_COORDINATION[41] = 4
3385UFF_MAX_COORDINATION[42] = 6
3386UFF_MAX_COORDINATION[43] = 6
3387UFF_MAX_COORDINATION[44] = 6
3388UFF_MAX_COORDINATION[45] = 6
3389UFF_MAX_COORDINATION[46] = 4
3390UFF_MAX_COORDINATION[47] = 2
3391UFF_MAX_COORDINATION[48] = 4
3392UFF_MAX_COORDINATION[49] = 4
3393UFF_MAX_COORDINATION[50] = 4
3394UFF_MAX_COORDINATION[51] = 4
3395UFF_MAX_COORDINATION[52] = 4
3396UFF_MAX_COORDINATION[53] = 1
3397UFF_MAX_COORDINATION[54] = 4
3398UFF_MAX_COORDINATION[55] = 1
3399UFF_MAX_COORDINATION[56] = 6
3400UFF_MAX_COORDINATION[72] = 4
3401UFF_MAX_COORDINATION[73] = 4
3402UFF_MAX_COORDINATION[74] = 6
3403UFF_MAX_COORDINATION[75] = 6
3404UFF_MAX_COORDINATION[76] = 6
3405UFF_MAX_COORDINATION[77] = 6
3406UFF_MAX_COORDINATION[78] = 4
3407UFF_MAX_COORDINATION[79] = 4
3408UFF_MAX_COORDINATION[80] = 2
3409UFF_MAX_COORDINATION[81] = 4
3410UFF_MAX_COORDINATION[82] = 4
3411UFF_MAX_COORDINATION[83] = 3
3412UFF_MAX_COORDINATION[84] = 4
3413UFF_MAX_COORDINATION[85] = 1
3414UFF_MAX_COORDINATION[86] = 4
3415UFF_MAX_COORDINATION[87] = 1
3416UFF_MAX_COORDINATION[88] = 6
3417UFF_MAX_COORDINATION[57] = 4
3418UFF_MAX_COORDINATION[58] = 6
3419UFF_MAX_COORDINATION[59] = 6
3420UFF_MAX_COORDINATION[60] = 6
3421UFF_MAX_COORDINATION[61] = 6
3422UFF_MAX_COORDINATION[62] = 6
3423UFF_MAX_COORDINATION[63] = 6
3424UFF_MAX_COORDINATION[64] = 6
3425UFF_MAX_COORDINATION[65] = 6
3426UFF_MAX_COORDINATION[66] = 6
3427UFF_MAX_COORDINATION[67] = 6
3428UFF_MAX_COORDINATION[68] = 6
3429UFF_MAX_COORDINATION[69] = 6
3430UFF_MAX_COORDINATION[70] = 6
3431UFF_MAX_COORDINATION[71] = 6
3432UFF_MAX_COORDINATION[89] = 6
3433UFF_MAX_COORDINATION[90] = 6
3434UFF_MAX_COORDINATION[91] = 6
3435UFF_MAX_COORDINATION[92] = 6
3436UFF_MAX_COORDINATION[93] = 6
3437UFF_MAX_COORDINATION[94] = 6
3438UFF_MAX_COORDINATION[95] = 6
3439UFF_MAX_COORDINATION[96] = 6
3440UFF_MAX_COORDINATION[97] = 6
3441UFF_MAX_COORDINATION[98] = 6
3442UFF_MAX_COORDINATION[99] = 6
3443UFF_MAX_COORDINATION[100] = 6
3444UFF_MAX_COORDINATION[101] = 6
3445UFF_MAX_COORDINATION[102] = 6
3446UFF_MAX_COORDINATION[103] = 6
3447
3448# chemical blocks
3449# 0: H
3450# 1: CNOPS+Se
3451# 2: halogens
3452# 3: alkali metals
3453# 4: alkaline earth metals
3454# 5: transition metals
3455# 6: post-transition metals
3456# 7: metalloids
3457# 8: lanthanides
3458# 9: actinides
3459# 10: noble gases
3460CHEMICAL_BLOCKS_NAMES = ['H','CNOPSSe','halogens','alkali','alkaline','transition_metals','post_metals','metalloids','lanthanides','actinides','noble gases']
3461CHEMICAL_BLOCKS_NAMES = [b.strip().upper() for b in CHEMICAL_BLOCKS_NAMES]
3462
3463CHEMICAL_BLOCKS = -np.ones(len(PERIODIC_TABLE)+1,dtype=int)
3464CHEMICAL_BLOCKS[1] = 0
3465CHEMICAL_BLOCKS[2] = 10
3466CHEMICAL_BLOCKS[3] = 3
3467CHEMICAL_BLOCKS[4] = 4
3468CHEMICAL_BLOCKS[5] = 7
3469CHEMICAL_BLOCKS[6] = 1
3470CHEMICAL_BLOCKS[7] = 1
3471CHEMICAL_BLOCKS[8] = 1
3472CHEMICAL_BLOCKS[9] = 2
3473CHEMICAL_BLOCKS[10] = 10
3474CHEMICAL_BLOCKS[11] = 3
3475CHEMICAL_BLOCKS[12] = 4
3476CHEMICAL_BLOCKS[13] = 6
3477CHEMICAL_BLOCKS[14] = 7
3478CHEMICAL_BLOCKS[15] = 1
3479CHEMICAL_BLOCKS[16] = 1
3480CHEMICAL_BLOCKS[17] = 2
3481CHEMICAL_BLOCKS[18] = 10
3482CHEMICAL_BLOCKS[19] = 3
3483CHEMICAL_BLOCKS[20] = 4
3484CHEMICAL_BLOCKS[21] = 5
3485CHEMICAL_BLOCKS[22] = 5
3486CHEMICAL_BLOCKS[23] = 5
3487CHEMICAL_BLOCKS[24] = 5
3488CHEMICAL_BLOCKS[25] = 5
3489CHEMICAL_BLOCKS[26] = 5
3490CHEMICAL_BLOCKS[27] = 5
3491CHEMICAL_BLOCKS[28] = 5
3492CHEMICAL_BLOCKS[29] = 5
3493CHEMICAL_BLOCKS[30] = 5
3494CHEMICAL_BLOCKS[31] = 6
3495CHEMICAL_BLOCKS[32] = 7
3496CHEMICAL_BLOCKS[33] = 7
3497CHEMICAL_BLOCKS[34] = 1
3498CHEMICAL_BLOCKS[35] = 2
3499CHEMICAL_BLOCKS[36] = 10
3500CHEMICAL_BLOCKS[37] = 3
3501CHEMICAL_BLOCKS[38] = 4
3502CHEMICAL_BLOCKS[39] = 5
3503CHEMICAL_BLOCKS[40] = 5
3504CHEMICAL_BLOCKS[41] = 5
3505CHEMICAL_BLOCKS[42] = 5
3506CHEMICAL_BLOCKS[43] = 5
3507CHEMICAL_BLOCKS[44] = 5
3508CHEMICAL_BLOCKS[45] = 5
3509CHEMICAL_BLOCKS[46] = 5
3510CHEMICAL_BLOCKS[47] = 5
3511CHEMICAL_BLOCKS[48] = 5
3512CHEMICAL_BLOCKS[49] = 6
3513CHEMICAL_BLOCKS[50] = 6
3514CHEMICAL_BLOCKS[51] = 7
3515CHEMICAL_BLOCKS[52] = 7
3516CHEMICAL_BLOCKS[53] = 2
3517CHEMICAL_BLOCKS[54] = 10
3518CHEMICAL_BLOCKS[55] = 3
3519CHEMICAL_BLOCKS[56] = 4
3520CHEMICAL_BLOCKS[57] = 8
3521CHEMICAL_BLOCKS[58] = 8
3522CHEMICAL_BLOCKS[59] = 8
3523CHEMICAL_BLOCKS[60] = 8
3524CHEMICAL_BLOCKS[61] = 8
3525CHEMICAL_BLOCKS[62] = 8
3526CHEMICAL_BLOCKS[63] = 8
3527CHEMICAL_BLOCKS[64] = 8
3528CHEMICAL_BLOCKS[65] = 8
3529CHEMICAL_BLOCKS[66] = 8
3530CHEMICAL_BLOCKS[67] = 8
3531CHEMICAL_BLOCKS[68] = 8
3532CHEMICAL_BLOCKS[69] = 8
3533CHEMICAL_BLOCKS[70] = 8
3534CHEMICAL_BLOCKS[71] = 8
3535CHEMICAL_BLOCKS[72] = 5
3536CHEMICAL_BLOCKS[73] = 5
3537CHEMICAL_BLOCKS[74] = 5
3538CHEMICAL_BLOCKS[75] = 5
3539CHEMICAL_BLOCKS[76] = 5
3540CHEMICAL_BLOCKS[77] = 5
3541CHEMICAL_BLOCKS[78] = 5
3542CHEMICAL_BLOCKS[79] = 5
3543CHEMICAL_BLOCKS[80] = 5
3544CHEMICAL_BLOCKS[81] = 6
3545CHEMICAL_BLOCKS[82] = 6
3546CHEMICAL_BLOCKS[83] = 6
3547CHEMICAL_BLOCKS[84] = 6
3548CHEMICAL_BLOCKS[85] = 2
3549CHEMICAL_BLOCKS[86] = 10
3550CHEMICAL_BLOCKS[87] = 3
3551CHEMICAL_BLOCKS[88] = 4
3552CHEMICAL_BLOCKS[89] = 9
3553CHEMICAL_BLOCKS[90] = 9
3554CHEMICAL_BLOCKS[91] = 9
3555CHEMICAL_BLOCKS[92] = 9
3556CHEMICAL_BLOCKS[93] = 9
3557CHEMICAL_BLOCKS[94] = 9
3558CHEMICAL_BLOCKS[95] = 9
3559CHEMICAL_BLOCKS[96] = 9
3560CHEMICAL_BLOCKS[97] = 9
3561CHEMICAL_BLOCKS[98] = 9
3562CHEMICAL_BLOCKS[99] = 9
3563CHEMICAL_BLOCKS[100] = 9
3564CHEMICAL_BLOCKS[101] = 9
3565CHEMICAL_BLOCKS[102] = 9
3566CHEMICAL_BLOCKS[103] = 9
3567CHEMICAL_BLOCKS[104] = 5
3568CHEMICAL_BLOCKS[105] = 5
3569CHEMICAL_BLOCKS[106] = 5
3570CHEMICAL_BLOCKS[107] = 5
3571CHEMICAL_BLOCKS[108] = 5
3572CHEMICAL_BLOCKS[109] = 5
3573CHEMICAL_BLOCKS[110] = 5
3574CHEMICAL_BLOCKS[111] = 5
3575CHEMICAL_BLOCKS[112] = 5
3576CHEMICAL_BLOCKS[113] = 6
3577CHEMICAL_BLOCKS[114] = 6
3578CHEMICAL_BLOCKS[115] = 6
3579CHEMICAL_BLOCKS[116] = 6
3580CHEMICAL_BLOCKS[117] = 2
3581CHEMICAL_BLOCKS[118] = 10
3582
3583
3584CHEMICAL_PROPERTIES = {
3585    "ATOMIC_NUMBER": [i for i in range(len(PERIODIC_TABLE))],
3586    "ATOMIC_MASSES": ATOMIC_MASSES,
3587    "EL_STRUCT": EL_STRUCT,
3588    "VALENCE_STRUCTURE": VALENCE_STRUCTURE,
3589    "VALENCE_ELECTRONS": VALENCE_ELECTRONS,
3590    "D3_ELECTRONEGATIVITIES": D3_ELECTRONEGATIVITIES,
3591    "D3_HARDNESSES": D3_HARDNESSES,
3592    "D3_KAPPA": D3_KAPPA,
3593    "D3_VDW_RADII": D3_VDW_RADII,
3594    "D3_COV_RADII": D3_COV_RADII,
3595    "VDW_RADII": VDW_RADII,
3596    "C6_FREE": C6_FREE,
3597    "POLARIZABILITIES": POLARIZABILITIES,
3598    "PAULING_ELECTRONEGATIVITY": PAULING_ELECTRONEGATIVITY,
3599    "SJS_COORDINATES": SJS_COORDINATES,
3600    "ATOMIC_IONIZATION_ENERGY": ATOMIC_IONIZATION_ENERGY,
3601    "ATOMIC_ELECTRON_AFFINITY": ATOMIC_ELECTRON_AFFINITY,
3602    "GTO_EXPONENTS": GTO_EXPONENTS,
3603    "MULTIPLICITY": MULTIPLICITIES,
3604    "OXIDATION_STATES": OXIDATION_STATES,
3605}
PERIODIC_TABLE_STR = '\nH He\nLi Be B C N O F Ne\nNa Mg Al Si P S Cl Ar\nK Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr\nRb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe\nCs Ba La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn\nFr Ra Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr Rf Db Sg Bh Hs Mt Ds Rg Cn Nh Fl Mc Lv Ts Og\n'
PERIODIC_TABLE = ['Dummy', 'H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og']
PERIODIC_TABLE_REV_IDX = {'Dummy': 0, 'H': 1, 'He': 2, 'Li': 3, 'Be': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, 'F': 9, 'Ne': 10, 'Na': 11, 'Mg': 12, 'Al': 13, 'Si': 14, 'P': 15, 'S': 16, 'Cl': 17, 'Ar': 18, 'K': 19, 'Ca': 20, 'Sc': 21, 'Ti': 22, 'V': 23, 'Cr': 24, 'Mn': 25, 'Fe': 26, 'Co': 27, 'Ni': 28, 'Cu': 29, 'Zn': 30, 'Ga': 31, 'Ge': 32, 'As': 33, 'Se': 34, 'Br': 35, 'Kr': 36, 'Rb': 37, 'Sr': 38, 'Y': 39, 'Zr': 40, 'Nb': 41, 'Mo': 42, 'Tc': 43, 'Ru': 44, 'Rh': 45, 'Pd': 46, 'Ag': 47, 'Cd': 48, 'In': 49, 'Sn': 50, 'Sb': 51, 'Te': 52, 'I': 53, 'Xe': 54, 'Cs': 55, 'Ba': 56, 'La': 57, 'Ce': 58, 'Pr': 59, 'Nd': 60, 'Pm': 61, 'Sm': 62, 'Eu': 63, 'Gd': 64, 'Tb': 65, 'Dy': 66, 'Ho': 67, 'Er': 68, 'Tm': 69, 'Yb': 70, 'Lu': 71, 'Hf': 72, 'Ta': 73, 'W': 74, 'Re': 75, 'Os': 76, 'Ir': 77, 'Pt': 78, 'Au': 79, 'Hg': 80, 'Tl': 81, 'Pb': 82, 'Bi': 83, 'Po': 84, 'At': 85, 'Rn': 86, 'Fr': 87, 'Ra': 88, 'Ac': 89, 'Th': 90, 'Pa': 91, 'U': 92, 'Np': 93, 'Pu': 94, 'Am': 95, 'Cm': 96, 'Bk': 97, 'Cf': 98, 'Es': 99, 'Fm': 100, 'Md': 101, 'No': 102, 'Lr': 103, 'Rf': 104, 'Db': 105, 'Sg': 106, 'Bh': 107, 'Hs': 108, 'Mt': 109, 'Ds': 110, 'Rg': 111, 'Cn': 112, 'Nh': 113, 'Fl': 114, 'Mc': 115, 'Lv': 116, 'Ts': 117, 'Og': 118}
PERIODIC_COORDINATES = array([[ 0, 0], [ 1, 1], [ 1, 32], [ 2, 1], [ 2, 2], [ 2, 27], [ 2, 28], [ 2, 29], [ 2, 30], [ 2, 31], [ 2, 32], [ 3, 1], [ 3, 2], [ 3, 27], [ 3, 28], [ 3, 29], [ 3, 30], [ 3, 31], [ 3, 32], [ 4, 1], [ 4, 2], [ 4, 17], [ 4, 18], [ 4, 19], [ 4, 20], [ 4, 21], [ 4, 22], [ 4, 23], [ 4, 24], [ 4, 25], [ 4, 26], [ 4, 27], [ 4, 28], [ 4, 29], [ 4, 30], [ 4, 31], [ 4, 32], [ 5, 1], [ 5, 2], [ 5, 17], [ 5, 18], [ 5, 19], [ 5, 20], [ 5, 21], [ 5, 22], [ 5, 23], [ 5, 24], [ 5, 25], [ 5, 26], [ 5, 27], [ 5, 28], [ 5, 29], [ 5, 30], [ 5, 31], [ 5, 32], [ 6, 1], [ 6, 2], [ 6, 3], [ 6, 4], [ 6, 5], [ 6, 6], [ 6, 7], [ 6, 8], [ 6, 9], [ 6, 10], [ 6, 11], [ 6, 12], [ 6, 13], [ 6, 14], [ 6, 15], [ 6, 16], [ 6, 17], [ 6, 18], [ 6, 19], [ 6, 20], [ 6, 21], [ 6, 22], [ 6, 23], [ 6, 24], [ 6, 25], [ 6, 26], [ 6, 27], [ 6, 28], [ 6, 29], [ 6, 30], [ 6, 31], [ 6, 32], [ 7, 1], [ 7, 2], [ 7, 3], [ 7, 4], [ 7, 5], [ 7, 6], [ 7, 7], [ 7, 8], [ 7, 9], [ 7, 10], [ 7, 11], [ 7, 12], [ 7, 13], [ 7, 14], [ 7, 15], [ 7, 16], [ 7, 17], [ 7, 18], [ 7, 19], [ 7, 20], [ 7, 21], [ 7, 22], [ 7, 23], [ 7, 24], [ 7, 25], [ 7, 26], [ 7, 27], [ 7, 28], [ 7, 29], [ 7, 30], [ 7, 31], [ 7, 32]])
ATOMIC_MASSES = array([ 0. , 1.008 , 4.002602 , 6.94 , 9.0121831 , 10.81 , 12.011 , 14.007 , 15.999 , 18.99840316, 20.1797 , 22.98976928, 24.305 , 26.9815385 , 28.085 , 30.973762 , 32.06 , 35.45 , 39.948 , 39.0983 , 40.078 , 44.955908 , 47.867 , 50.9415 , 51.9961 , 54.938044 , 55.845 , 58.933194 , 58.6934 , 63.546 , 65.38 , 69.723 , 72.63 , 74.921595 , 78.971 , 79.904 , 83.798 , 85.4678 , 87.62 , 88.90584 , 91.224 , 92.90637 , 95.95 , 97.90721 , 101.07 , 102.9055 , 106.42 , 107.8682 , 112.414 , 114.818 , 118.71 , 121.76 , 127.6 , 126.90447 , 131.293 , 132.90545196, 137.327 , 138.90547 , 140.116 , 140.90766 , 144.242 , 144.91276 , 150.36 , 151.964 , 157.25 , 158.92535 , 162.5 , 164.93033 , 167.259 , 168.93422 , 173.054 , 174.9668 , 178.49 , 180.94788 , 183.84 , 186.207 , 190.23 , 192.217 , 195.084 , 196.966569 , 200.592 , 204.38 , 207.2 , 208.9804 , 208.98243 , 209.98715 , 222.01758 , 223.01974 , 226.02541 , 227.02775 , 232.0377 , 231.03588 , 238.02891 , 237.04817 , 244.06421 , 243.06138 , 247.07035 , 247.07031 , 251.07959 , 252.083 , 257.09511 , 258.09843 , 259.101 , 262.11 , 267.122 , 268.126 , 271.134 , 270.133 , 269.1338 , 278.156 , 281.165 , 281.166 , 285.177 , 286.182 , 289.19 , 289.194 , 293.204 , 293.208 , 294.214 ])
EL_STRUCT = array([[ 0, 0, 0, ..., 0, 0, 0], [ 1, 0, 0, ..., 0, 0, 0], [ 2, 0, 0, ..., 0, 0, 0], ..., [ 2, 2, 6, ..., 14, 10, 4], [ 2, 2, 6, ..., 14, 10, 5], [ 2, 2, 6, ..., 14, 10, 6]], shape=(119, 19))
VALENCE_STRUCTURE = array([[ 0.25, 0.25, 0.25, 0.25], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 1. , 0. , 0. ], [ 2. , 2. , 0. , 0. ], [ 2. , 3. , 0. , 0. ], [ 2. , 4. , 0. , 0. ], [ 2. , 5. , 0. , 0. ], [ 2. , 6. , 0. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 1. , 0. , 0. ], [ 2. , 2. , 0. , 0. ], [ 2. , 3. , 0. , 0. ], [ 2. , 4. , 0. , 0. ], [ 2. , 5. , 0. , 0. ], [ 2. , 6. , 0. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 2. , 0. ], [ 2. , 0. , 3. , 0. ], [ 1. , 0. , 5. , 0. ], [ 2. , 0. , 5. , 0. ], [ 2. , 0. , 6. , 0. ], [ 2. , 0. , 7. , 0. ], [ 2. , 0. , 8. , 0. ], [ 1. , 0. , 10. , 0. ], [ 2. , 0. , 10. , 0. ], [ 2. , 1. , 10. , 0. ], [ 2. , 2. , 10. , 0. ], [ 2. , 3. , 10. , 0. ], [ 2. , 4. , 10. , 0. ], [ 2. , 5. , 10. , 0. ], [ 2. , 6. , 10. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 2. , 0. ], [ 1. , 0. , 4. , 0. ], [ 1. , 0. , 5. , 0. ], [ 2. , 0. , 5. , 0. ], [ 1. , 0. , 7. , 0. ], [ 1. , 0. , 8. , 0. ], [ 0. , 0. , 10. , 0. ], [ 1. , 0. , 10. , 0. ], [ 2. , 0. , 10. , 0. ], [ 2. , 1. , 10. , 0. ], [ 2. , 2. , 10. , 0. ], [ 2. , 3. , 10. , 0. ], [ 2. , 4. , 10. , 0. ], [ 2. , 5. , 10. , 0. ], [ 2. , 6. , 10. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 1. , 1. ], [ 2. , 0. , 0. , 3. ], [ 2. , 0. , 0. , 4. ], [ 2. , 0. , 0. , 5. ], [ 2. , 0. , 0. , 6. ], [ 2. , 0. , 0. , 7. ], [ 2. , 0. , 1. , 7. ], [ 2. , 0. , 0. , 9. ], [ 2. , 0. , 0. , 10. ], [ 2. , 0. , 0. , 11. ], [ 2. , 0. , 0. , 12. ], [ 2. , 0. , 0. , 13. ], [ 2. , 0. , 0. , 14. ], [ 2. , 0. , 1. , 14. ], [ 2. , 0. , 2. , 14. ], [ 2. , 0. , 3. , 14. ], [ 2. , 0. , 4. , 14. ], [ 2. , 0. , 5. , 14. ], [ 2. , 0. , 6. , 14. ], [ 2. , 0. , 7. , 14. ], [ 1. , 0. , 9. , 14. ], [ 1. , 0. , 10. , 14. ], [ 2. , 0. , 10. , 14. ], [ 2. , 1. , 10. , 14. ], [ 2. , 2. , 10. , 14. ], [ 2. , 3. , 10. , 14. ], [ 2. , 4. , 10. , 14. ], [ 2. , 5. , 10. , 14. ], [ 2. , 6. , 10. , 14. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 2. , 0. ], [ 2. , 0. , 1. , 2. ], [ 2. , 0. , 1. , 3. ], [ 2. , 0. , 1. , 4. ], [ 2. , 0. , 0. , 6. ], [ 2. , 0. , 0. , 7. ], [ 2. , 0. , 1. , 7. ], [ 2. , 0. , 0. , 9. ], [ 2. , 0. , 0. , 10. ], [ 2. , 0. , 0. , 11. ], [ 2. , 0. , 0. , 12. ], [ 2. , 0. , 0. , 13. ], [ 2. , 0. , 0. , 14. ], [ 2. , 1. , 0. , 14. ], [ 2. , 0. , 2. , 14. ], [ 2. , 0. , 3. , 14. ], [ 2. , 0. , 4. , 14. ], [ 2. , 0. , 5. , 14. ], [ 2. , 0. , 6. , 14. ], [ 2. , 0. , 7. , 14. ], [ 2. , 0. , 8. , 14. ], [ 2. , 0. , 9. , 14. ], [ 2. , 0. , 10. , 14. ], [ 2. , 1. , 10. , 14. ], [ 2. , 2. , 10. , 14. ], [ 2. , 3. , 10. , 14. ], [ 2. , 4. , 10. , 14. ], [ 2. , 5. , 10. , 14. ], [ 2. , 6. , 10. , 14. ]])
VALENCE_ELECTRONS = array([ 1., 1., 2., 1., 2., 3., 4., 5., 6., 7., 8., 1., 2., 3., 4., 5., 6., 7., 8., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24., 25., 26., 27., 28., 29., 30., 31., 32., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24., 25., 26., 27., 28., 29., 30., 31., 32.])
VALENCE_STRUCTURE_FULL = array([[[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[1, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[1, 0, 0, ..., 0, 0, 0], [1, 0, 0, ..., 0, 0, 0]], ..., [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]]], shape=(119, 2, 9))
D3_ELECTRONEGATIVITIES = array([1. , 1.23695041, 1.26590957, 0.54341808, 0.99666991, 1.26691604, 1.40028282, 1.55819364, 1.5686644 , 1.57540015, 1.15056627, 0.5593622 , 0.72373742, 1.12910844, 1.1230684 , 1.52672442, 1.40768172, 1.48154584, 1.31062963, 0.4037414 , 0.75442607, 0.76482096, 0.98457281, 0.96702598, 1.05266584, 0.93274875, 1.04025281, 0.92738624, 1.0741921 , 1.07900668, 1.04712861, 1.15018618, 1.15388455, 1.36313743, 1.36485106, 1.39801837, 1.18695346, 0.3627387 , 0.58797255, 0.71961946, 0.96158233, 0.89585296, 0.81360499, 1.00794665, 0.92613682, 1.09152285, 1.1490707 , 1.13508911, 1.08853785, 1.11005982, 1.12452195, 1.21642129, 1.36507125, 1.4034 , 1.16653482, 0.34125098, 0.58884173, 0.68441115, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.87936784, 1.02761808, 0.93297476, 1.10172128, 0.97350071, 1.16695666, 1.23997927, 1.18464453, 1.14191734, 1.12334192, 1.01485321, 1.12950808, 1.30804834, 1.33689961, 1.27465977, 1. ])
D3_HARDNESSES = array([10. , -0.35015861, 1.04121227, 0.09281243, 0.0941238 , 0.26629137, 0.19408787, 0.05317918, 0.03151644, 0.32275132, 1.30996037, 0.2420651 , 0.04147733, 0.11634126, 0.13155266, 0.1535065 , 0.15250997, 0.17523529, 0.2877445 , 0.42937314, 0.01896455, 0.07179178, -0.01121381, -0.0309337 , 0.02716319, -0.01843812, -0.15270393, -0.09192645, -0.13418723, -0.09861139, 0.18338109, 0.08299615, 0.11370033, 0.19005278, 0.10980677, 0.12327841, 0.25345554, 0.58615231, 0.16093861, 0.0454853 , -0.02478645, 0.01909943, 0.01402541, -0.03595279, 0.01137752, -0.03697213, 0.08009416, 0.02274892, 0.12801822, -0.02078702, 0.05284319, 0.0758119 , 0.09663758, 0.09547417, 0.07803344, 0.64913257, 0.15348654, 0.05054344, 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , -0.02786741, 0.01057858, -0.03892226, -0.04574364, -0.0387408 , -0.03782372, -0.07046855, 0.09546597, 0.21953269, 0.02522348, 0.1526305 , 0.08042611, 0.01878626, 0.08715453, 0.10500484, 10. ])
D3_KAPPA = array([ 0. , 0.0491611 , 0.10937243, -0.12349591, -0.02665108, -0.02631658, 0.06005196, 0.09279548, 0.11689703, 0.15704746, 0.07987901, -0.10002962, -0.07712863, -0.02170561, -0.04964052, 0.14250599, 0.0712666 , 0.1368275 , 0.14877121, -0.10219289, -0.08979338, -0.08273597, -0.01754829, -0.0276546 , -0.02558926, -0.08010286, -0.04163215, -0.09369631, -0.03774117, -0.05759708, 0.02431998, -0.0105627 , -0.02692862, 0.07657769, 0.06561608, 0.08006749, 0.141392 , -0.05351029, -0.06701705, -0.07377246, -0.02927768, -0.03867291, -0.06929825, -0.04485293, -0.04800824, -0.01484022, 0.07917502, 0.06619243, 0.02434095, -0.01505548, -0.03030768, 0.01418235, 0.08953411, 0.08967527, 0.07277771, -0.02129476, -0.06188828, -0.06568203, -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.03585873, -0.031324 , -0.05902379, -0.02827592, -0.0760626 , -0.02123839, 0.03814822, 0.02146834, 0.01580538, -0.00894298, -0.05864876, -0.01817842, 0.07721851, 0.07936083, 0.05849285, 0. ])
D3_VDW_RADII = array([1. , 0.55159092, 0.66205886, 0.90529132, 1.51710827, 2.86070364, 1.88862966, 1.3225029 , 1.23166285, 1.77503721, 1.11955204, 1.28263182, 1.22344336, 1.70936266, 1.54075036, 1.38200579, 2.18849322, 1.36779065, 1.27039703, 1.64466502, 1.58859404, 1.65357953, 1.50021521, 1.30104175, 1.46301827, 1.32928147, 1.02766713, 1.02291377, 0.94343886, 1.14881311, 1.47080755, 1.76901636, 1.98724061, 2.41244711, 2.26739524, 2.95378999, 1.20807752, 1.65941046, 1.6273388 , 1.61344972, 1.63220728, 1.60899928, 1.43501286, 1.54559205, 1.32663678, 1.37644152, 1.36051851, 1.23395526, 1.65734544, 1.5389524 , 1.97542736, 1.97636542, 2.05432381, 3.80138135, 1.43893803, 1.75505957, 1.59815118, 1.76401732, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.47055223, 1.81127084, 1.40189963, 1.54015481, 1.33721475, 1.57165422, 1.04815857, 1.78342098, 2.79106396, 1.7816084 , 2.47588882, 2.37670734, 1.76613217, 2.66172302, 2.82773085, 1. ])
D3_COV_RADII = array([1.88972613, 0.60471236, 0.86927402, 2.51333575, 1.92752065, 1.60626721, 1.4172946 , 1.34170555, 1.19052746, 1.20942472, 1.26611651, 2.9290755 , 2.62671932, 2.38105492, 2.19208231, 2.097596 , 1.94641791, 1.87082887, 1.81413708, 3.70386321, 3.23143168, 2.79679467, 2.57002753, 2.53223301, 2.30546588, 2.24877409, 2.19208231, 2.097596 , 2.07869874, 2.11649326, 2.22987683, 2.3432604 , 2.28656861, 2.28656861, 2.19208231, 2.15428779, 2.21097957, 3.96842487, 3.49599334, 3.08025359, 2.91017824, 2.77789741, 2.60782206, 2.41884944, 2.36215766, 2.36215766, 2.26767135, 2.41884944, 2.57002753, 2.6834111 , 2.64561658, 2.64561658, 2.57002753, 2.51333575, 2.47554123, 4.38416462, 3.70386321, 3.40150703, 3.08025359, 3.32591799, 3.28812346, 3.2692262 , 3.25032894, 3.17473989, 3.19363716, 3.17473989, 3.15584263, 3.13694537, 3.11804811, 3.09915085, 3.21253442, 3.06135633, 2.87238371, 2.75900015, 2.5889248 , 2.47554123, 2.4377467 , 2.30546588, 2.32436314, 2.3432604 , 2.51333575, 2.72120562, 2.72120562, 2.85348645, 2.74010289, 2.77789741, 2.6834111 , 1.88972613])
VDW_RADII_TS = array([1. , 3.1 , 2.65 , 4.16 , 4.17 , 3.89 , 3.59 , 3.34 , 3.19 , 3.04 , 2.91 , 3.73 , 4.27 , 4.33 , 4.2 , 4.01 , 3.86 , 3.71 , 3.55 , 3.71 , 4.65 , 4.59 , 4.51 , 4.44 , 3.99 , 3.97 , 4.23 , 4.18 , 3.82 , 3.76 , 4.02 , 4.19 , 4.2 , 4.11 , 4.04 , 3.93 , 3.82 , 3.72 , 4.54 , 4.8151 , 4.53 , 4.2365 , 4.099 , 4.076 , 3.9953 , 3.95 , 3.66 , 3.82 , 3.99 , 4.23198, 4.303 , 4.276 , 4.22 , 4.17 , 4.08 , 3.78 , 4.77 , 3.14 , 3.26 , 3.28 , 3.3 , 3.27 , 3.32 , 3.4 , 3.62 , 3.42 , 3.26 , 3.24 , 3.3 , 3.26 , 3.22 , 3.2 , 4.21 , 4.15 , 4.08 , 4.02 , 3.84 , 4. , 3.92 , 3.86 , 3.98 , 3.91 , 4.31 , 4.32 , 4.097 , 4.07 , 4.23 , 3.9 , 4.98 , 2.75 , 2.85 , 2.71 , 3. , 3.28 , 3.45 , 3.51 , 3.47 , 3.56 , 3.55 , 3.76 , 3.89 , 3.93 , 3.78 , 1. ])
C6_FREE = array([1.00000e+00, 6.50000e+00, 1.46000e+00, 1.38700e+03, 2.14000e+02, 9.95000e+01, 4.66000e+01, 2.42000e+01, 1.56000e+01, 9.52000e+00, 6.38000e+00, 1.55600e+03, 6.27000e+02, 5.28000e+02, 3.05000e+02, 1.85000e+02, 1.34000e+02, 9.46000e+01, 6.43000e+01, 3.89700e+03, 2.22100e+03, 1.38300e+03, 1.04400e+03, 8.32000e+02, 6.02000e+02, 5.52000e+02, 4.82000e+02, 4.08000e+02, 3.73000e+02, 2.53000e+02, 2.84000e+02, 4.98000e+02, 3.54000e+02, 2.46000e+02, 2.10000e+02, 1.62000e+02, 1.29600e+02, 4.69100e+03, 3.17000e+03, 1.96858e+03, 1.67791e+03, 1.26361e+03, 1.02873e+03, 1.39087e+03, 6.09754e+02, 4.69000e+02, 1.57500e+02, 3.39000e+02, 4.52000e+02, 7.07046e+02, 5.87417e+02, 4.59322e+02, 3.96000e+02, 3.85000e+02, 2.85900e+02, 6.58208e+03, 5.72700e+03, 3.88450e+03, 3.70833e+03, 3.91184e+03, 3.90875e+03, 3.84768e+03, 3.70869e+03, 3.51171e+03, 2.78153e+03, 3.12441e+03, 2.98429e+03, 2.83995e+03, 2.72412e+03, 2.57678e+03, 2.38753e+03, 2.37180e+03, 1.27480e+03, 1.01992e+03, 8.47930e+02, 7.10200e+02, 5.96670e+02, 3.59100e+02, 3.47100e+02, 2.98000e+02, 3.92000e+02, 7.17440e+02, 6.97000e+02, 5.71000e+02, 5.30920e+02, 4.57530e+02, 4.20600e+02, 4.22444e+03, 4.85132e+03, 3.60441e+03, 4.04754e+03, 2.36742e+03, 1.87710e+03, 2.50788e+03, 2.11727e+03, 2.11098e+03, 2.40322e+03, 1.98582e+03, 1.89192e+03, 1.85110e+03, 1.78707e+03, 1.70100e+03, 1.57818e+03, 1.00000e+00])
POLARIZABILITIES = array([1.0000e+00, 4.5000e+00, 1.3800e+00, 1.6400e+02, 3.7701e+01, 2.0501e+01, 1.1302e+01, 7.4020e+00, 5.3020e+00, 3.7408e+00, 2.6600e+00, 1.6301e+02, 7.1204e+01, 5.7801e+01, 3.7307e+01, 2.5010e+01, 1.9401e+01, 1.4602e+01, 1.1100e+01, 2.9001e+02, 1.6104e+02, 9.7100e+03, 1.0010e+04, 8.7100e+03, 8.3120e+03, 6.8090e+01, 6.2040e+01, 5.5040e+01, 4.9030e+01, 4.7010e+01, 3.8703e+01, 5.0030e+01, 4.0010e+01, 3.0010e+01, 2.9010e+01, 2.1010e+01, 1.6800e+01, 3.2001e+02, 1.9701e+02, 1.6212e+04, 1.1213e+04, 9.8080e+01, 8.7060e+01, 7.9100e+03, 7.2100e+03, 6.6100e+03, 2.6101e+01, 5.5080e+01, 4.6020e+01, 6.5040e+01, 5.3060e+01, 4.3020e+01, 3.8040e+01, 3.2901e+01, 2.7302e+01, 4.0101e+02, 2.7210e+04, 2.1520e+04, 2.0520e+04, 2.1620e+04, 2.0820e+04, 2.0020e+04, 1.9220e+04, 1.8420e+04, 1.5820e+04, 1.7020e+04, 1.6515e+04, 1.5610e+04, 1.5015e+04, 1.4415e+04, 1.3906e+02, 1.3707e+02, 1.0306e+02, 7.4200e+03, 6.8150e+03, 6.2030e+01, 5.7030e+01, 5.4070e+01, 4.8040e+01, 3.6030e+01, 3.3904e+01, 5.0020e+01, 4.7030e+01, 4.8040e+01, 4.4040e+01, 4.2040e+01, 3.5020e+01, 3.1802e+02, 2.4604e+02, 2.0312e+04, 2.1754e+04, 1.5420e+04, 1.2917e+04, 1.5120e+04, 1.3220e+04, 1.3125e+04, 1.4425e+04, 1.2525e+04, 1.2220e+04, 1.1820e+04, 1.1320e+04, 1.0920e+04, 1.1006e+02, 3.2020e+04, 1.1210e+04, 4.2040e+01, 4.0040e+01, 3.8040e+01, 3.6040e+01, 3.4030e+01, 3.2030e+01, 3.2060e+01, 2.8020e+01, 2.9020e+01, 3.1040e+01, 7.1200e+03, nan, 7.6150e+03, 5.8060e+01])
VDW_RADII = array([1. , 3.164697, 2.672999, 5.289595, 4.287516, 3.930227, 3.609691, 3.39813 , 3.24017 , 3.082294, 2.935712, 5.285046, 4.695238, 4.557411, 4.28111 , 4.04323 , 3.899329, 3.744173, 3.600377, 5.738428, 5.27619 , 4.90772 , 4.9297 , 4.83279 , 4.79999 , 4.66488 , 4.60342 , 4.52547 , 4.45139 , 4.42513 , 4.303648, 4.46438 , 4.32415 , 4.1502 , 4.1302 , 3.94427 , 3.819973, 5.819626, 5.430039, 5.28056 , 5.00983 , 4.91457 , 4.83248 , 4.76586 , 4.70393 , 4.641 , 4.068122, 4.52594 , 4.41127 , 4.63541 , 4.50173 , 4.36929 , 4.29265 , 4.204918, 4.094343, 6.010321, 5.6863 , 5.49873 , 5.46176 , 5.50273 , 5.47275 , 5.44278 , 5.41081 , 5.37783 , 5.26295 , 5.31789 , 5.29469 , 5.25248 , 5.22375 , 5.19277 , 5.16632 , 5.15538 , 4.95041 , 4.7218 , 4.6615 , 4.60332 , 4.54834 , 4.51384 , 4.43853 , 4.25951 , 4.223071, 4.46426 , 4.4254 , 4.43853 , 4.38357 , 4.35459 , 4.24235 , 5.814452, 5.60513 , 5.45346 , 5.512 , 5.24297 , 5.11196 , 5.22899 , 5.1311 , 5.1214 , 5.1913 , 5.0915 , 5.0712 , 5.0512 , 5.0213 , 4.9913 , 4.99639 , 5.82052 , 5.00964 , 4.35459 , 4.32462 , 4.29265 , 4.25968 , 4.22553 , 4.18856 , 4.1911 , 4.10942 , 4.13041 , 4.16977 , 4.6919 , nan, 4.7413 , 4.56067 ])
PAULING_ELECTRONEGATIVITY = array([0. , 2.2 , 4.42, 0.98, 1.57, 2.04, 2.55, 3.04, 3.44, 3.98, 4.44, 0.93, 1.31, 1.61, 1.9 , 2.19, 2.58, 3.16, 3.57, 0.82, 1. , 1.36, 1.54, 1.63, 1.66, 1.55, 1.83, 1.88, 1.91, 1.9 , 1.65, 1.81, 2.01, 2.18, 2.55, 2.96, 3.37, 0.82, 0.95, 1.22, 1.33, 1.6 , 2.16, 1.9 , 2.2 , 2.28, 2.2 , 1.93, 1.69, 1.78, 1.96, 2.05, 2.1 , 2.66, 3.12, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ])
SJS_COORDINATES = array([[ 0, 0, 0, 0], [ 0, 1, 1, 0], [ 0, 1, -1, 0], [ 0, 2, 1, 0], [ 0, 2, -1, 0], [ 1, 3, 1, -1], [ 1, 3, 2, 0], [ 1, 3, 1, 1], [ 1, 3, -1, -1], [ 1, 3, -2, 0], [ 1, 3, -1, 1], [ 0, 3, 1, 0], [ 0, 3, -1, 0], [ 1, 4, 1, -1], [ 1, 4, 2, 0], [ 1, 4, 1, 1], [ 1, 4, -1, -1], [ 1, 4, -2, 0], [ 1, 4, -1, 1], [ 0, 4, 1, 0], [ 0, 4, -1, 0], [ 2, 5, 1, -2], [ 2, 5, 2, -1], [ 2, 5, 3, 0], [ 2, 5, 2, 1], [ 2, 5, 1, 2], [ 2, 5, -1, -2], [ 2, 5, -2, -1], [ 2, 5, -3, 0], [ 2, 5, -2, 1], [ 2, 5, -1, 2], [ 1, 5, 1, -1], [ 1, 5, 2, 0], [ 1, 5, 1, 1], [ 1, 5, -1, -1], [ 1, 5, -2, 0], [ 1, 5, -1, 1], [ 0, 5, 1, 0], [ 0, 5, -1, 0], [ 2, 6, 1, -2], [ 2, 6, 2, -1], [ 2, 6, 3, 0], [ 2, 6, 2, 1], [ 2, 6, 1, 2], [ 2, 6, -1, -2], [ 2, 6, -2, -1], [ 2, 6, -3, 0], [ 2, 6, -2, 1], [ 2, 6, -1, 2], [ 1, 6, 1, -1], [ 1, 6, 2, 0], [ 1, 6, 1, 1], [ 1, 6, -1, -1], [ 1, 6, -2, 0], [ 1, 6, -1, 1], [ 0, 6, 1, 0], [ 0, 6, -1, 0], [ 2, 7, 1, -2], [ 3, 7, 1, -3], [ 3, 7, 2, -2], [ 3, 7, 3, -1], [ 3, 7, 4, 0], [ 3, 7, 3, 1], [ 3, 7, 2, 2], [ 3, 7, 1, 3], [ 3, 7, -1, -3], [ 3, 7, -2, -2], [ 3, 7, -3, -1], [ 3, 7, -4, 0], [ 3, 7, -3, 1], [ 3, 7, -2, 2], [ 3, 7, -1, 3], [ 2, 7, 2, -1], [ 2, 7, 3, 0], [ 2, 7, 2, 1], [ 2, 7, 1, 2], [ 2, 7, -1, -2], [ 2, 7, -2, -1], [ 2, 7, -3, 0], [ 2, 7, -2, 1], [ 2, 7, -1, 2], [ 1, 7, 1, -1], [ 1, 7, 2, 0], [ 1, 7, 1, 1], [ 1, 7, -1, -1], [ 1, 7, -2, 0], [ 1, 7, -1, 1], [ 0, 7, 1, 0], [ 0, 7, -1, 0], [ 2, 8, 1, -2], [ 3, 8, 1, -3], [ 3, 8, 2, -2], [ 3, 8, 3, -1], [ 3, 8, 4, 0], [ 3, 8, 3, 1], [ 3, 8, 2, 2], [ 3, 8, 1, 3], [ 3, 8, -1, -3], [ 3, 8, -2, -2], [ 3, 8, -3, -1], [ 3, 8, -4, 0], [ 3, 8, -3, 1], [ 3, 8, -2, 2], [ 3, 8, -1, 3], [ 2, 8, 2, -1], [ 2, 8, 3, 0], [ 2, 8, 2, 1], [ 2, 8, 1, 2], [ 2, 8, -1, -2], [ 2, 8, -2, -1], [ 2, 8, -3, 0], [ 2, 8, -2, 1], [ 2, 8, -1, 2], [ 1, 8, 1, -1], [ 1, 8, 2, 0], [ 1, 8, 1, 1], [ 1, 8, -1, -1], [ 1, 8, -2, 0], [ 1, 8, -1, 1]])
ATOMIC_IONIZATION_ENERGY = array([3.80879803e-09, 4.99714302e-01, 9.03561158e-01, 1.98133674e-01, 3.42601383e-01, 3.04932371e-01, 4.13825906e-01, 5.34107748e-01, 5.00437974e-01, 6.40258950e-01, 7.92496607e-01, 1.88840207e-01, 2.80975031e-01, 2.19958086e-01, 2.99561965e-01, 3.85374185e-01, 3.80727451e-01, 4.76556810e-01, 5.79165829e-01, 1.59512462e-01, 2.24642908e-01, 2.41135004e-01, 2.50923614e-01, 2.47914664e-01, 2.48676424e-01, 2.73205083e-01, 2.90420850e-01, 2.89621003e-01, 2.80746503e-01, 2.83945893e-01, 3.45229454e-01, 2.20453230e-01, 2.90230410e-01, 3.60693174e-01, 3.58407895e-01, 4.34164888e-01, 5.14492438e-01, 1.53494561e-01, 2.09293452e-01, 2.28527882e-01, 2.43801162e-01, 2.48371720e-01, 2.60636049e-01, 2.61626337e-01, 2.70500836e-01, 2.74119195e-01, 3.06379714e-01, 2.78423136e-01, 3.30527493e-01, 2.12645194e-01, 2.69891429e-01, 3.17653756e-01, 3.31098813e-01, 3.84079194e-01, 4.45781722e-01, 1.43096542e-01, 1.91544453e-01, 2.04951422e-01, 2.03618343e-01, 2.00723656e-01, 2.03047023e-01, 2.05675094e-01, 2.07617581e-01, 2.08379340e-01, 2.26014075e-01, 2.15501793e-01, 2.18244127e-01, 2.21291166e-01, 2.24452468e-01, 2.27270979e-01, 2.29822873e-01, 1.99390577e-01, 2.50809351e-01, 2.89849530e-01, 2.93277449e-01, 2.89468651e-01, 3.19939035e-01, 3.35174227e-01, 3.31365429e-01, 3.39021113e-01, 3.83584050e-01, 2.24490556e-01, 2.72557587e-01, 2.67758502e-01, 3.09312488e-01, 3.42410943e-01, 3.94972356e-01, 1.44734325e-01, 1.93982084e-01, 1.90059022e-01, 2.23576445e-01, 2.16339728e-01, 2.27613771e-01, 2.30241841e-01, 2.22700421e-01, 2.20148526e-01, 2.21291166e-01, 2.28908762e-01, 2.31574920e-01, 2.35764598e-01, 2.38811637e-01, 2.41858675e-01, 2.44524834e-01, 1.79013508e-01, 2.20910286e-01, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09])
ATOMIC_ELECTRON_AFFINITY = array([ 3.80879803e-09, 2.77162424e-02, -1.82822306e-02, 2.27126244e-02, -1.82822306e-02, 1.02795650e-02, 4.63820189e-02, -2.58998266e-03, 5.36945303e-02, 1.24991040e-01, -4.41820572e-02, 2.01359726e-02, -1.52351921e-02, 1.59063023e-02, 5.10637935e-02, 2.74374384e-02, 7.63321214e-02, 1.32765177e-01, -3.65644611e-02, 1.84281075e-02, 9.02685134e-04, 6.59188676e-03, 2.77623289e-03, 1.93909717e-02, 2.48398381e-02, -1.90439902e-02, 5.63130789e-03, 2.43370768e-02, 4.25252300e-02, 4.54142034e-02, -2.20910286e-02, 1.10676053e-02, 4.52999394e-02, 2.95753167e-02, 7.42555647e-02, 1.23609208e-01, -3.65644611e-02, 1.78571687e-02, 1.91315925e-03, 1.14397249e-02, 1.59230611e-02, 3.37139567e-02, 2.74602912e-02, 2.01866296e-02, 3.84498162e-02, 4.19996159e-02, 2.06589205e-02, 4.79382938e-02, -2.58998266e-02, 1.41089306e-02, 4.08676411e-02, 3.84913321e-02, 7.24284843e-02, 1.12417817e-01, -2.93277449e-02, 1.73309071e-02, 5.31479678e-03, 2.04894290e-02, 2.20552259e-02, 4.01409225e-03, 3.58255543e-03, 4.74195355e-03, 5.95315133e-03, 4.26585380e-03, 7.80803597e-03, 4.82574711e-03, 5.52275715e-04, 1.24204904e-02, 1.14644821e-02, 3.77071005e-02, -7.35098021e-04, 8.77547067e-03, 6.54351502e-03, 1.20853162e-02, 2.99980933e-02, 2.21938661e-03, 3.96031202e-02, 5.74778094e-02, 7.80959758e-02, 8.48398336e-02, -1.82822306e-02, 1.17615683e-02, 1.31091211e-02, 3.46295917e-02, 5.18377412e-02, 8.87781307e-02, -2.58998266e-02, 1.78594540e-02, 3.67491878e-03, 1.28623110e-02, 2.23321255e-02, 2.01980560e-02, 1.15749372e-02, 1.74633390e-02, -1.84079209e-02, 3.78213645e-03, 1.03485043e-02, -6.29365787e-02, -3.70634137e-02, -1.08931624e-02, 1.29346781e-02, 3.57684223e-02, -8.50199897e-02, -1.14416293e-02, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09])
MULLIKEN_HARDNESS = array([0. , 0.23599903, 0.46092169, 0.08771052, 0.18044181, 0.1473264 , 0.18372194, 0.26834887, 0.22337172, 0.25763395, 0.41833933, 0.08435212, 0.14810511, 0.10202589, 0.12424909, 0.17896837, 0.15219767, 0.17189582, 0.30786515, 0.07054218, 0.11187011, 0.11727156, 0.12407369, 0.11426185, 0.11191829, 0.14612454, 0.14239477, 0.13264196, 0.11911064, 0.11926585, 0.18366024, 0.10469281, 0.12246524, 0.16555893, 0.14207617, 0.15527784, 0.27552845, 0.0678187 , 0.10369015, 0.10854408, 0.11393905, 0.10732888, 0.11658788, 0.12071985, 0.11602551, 0.11605979, 0.1428604 , 0.11524242, 0.17821366, 0.09926813, 0.11451189, 0.13958121, 0.12933516, 0.13583069, 0.23755473, 0.06288282, 0.09311483, 0.092231 , 0.09078156, 0.09835478, 0.09973223, 0.10046657, 0.10083221, 0.10205674, 0.10910302, 0.10533802, 0.10884593, 0.10443534, 0.10649399, 0.09478194, 0.11527899, 0.09530755, 0.12213292, 0.13888211, 0.13163968, 0.14362463, 0.14016796, 0.13884821, 0.12663473, 0.12709064, 0.20093314, 0.10636449, 0.12972423, 0.11656446, 0.12873737, 0.12681641, 0.21043609, 0.06343744, 0.09515358, 0.08859836, 0.10062216, 0.09807084, 0.10801942, 0.10638925, 0.12055417, 0.10818319, 0.10547133, 0.14592267, 0.13431917, 0.12332888, 0.11293848, 0.10304513, 0.16477241, 0.09522757, 0.11045514, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ])
MULLIKEN_ELCTRONEGATIVITY = array([3.80879803e-09, 2.63715272e-01, 4.42639464e-01, 1.10423149e-01, 1.62159576e-01, 1.57605968e-01, 2.30103963e-01, 2.65758883e-01, 2.77066252e-01, 3.82624995e-01, 3.74157275e-01, 1.04488090e-01, 1.32869919e-01, 1.17932194e-01, 1.75312879e-01, 2.06405812e-01, 2.28529786e-01, 3.04660994e-01, 2.71300684e-01, 8.89702846e-02, 1.12772797e-01, 1.23863445e-01, 1.26849924e-01, 1.33652818e-01, 1.36758131e-01, 1.27080546e-01, 1.48026079e-01, 1.56979040e-01, 1.61635867e-01, 1.64680048e-01, 1.61569213e-01, 1.15760418e-01, 1.67765175e-01, 1.95134245e-01, 2.16331730e-01, 2.78887048e-01, 2.38963989e-01, 8.56758647e-02, 1.05603306e-01, 1.19983803e-01, 1.29862112e-01, 1.41042838e-01, 1.44048170e-01, 1.40906483e-01, 1.54475326e-01, 1.58059405e-01, 1.63519317e-01, 1.63180715e-01, 1.52313833e-01, 1.13377062e-01, 1.55379535e-01, 1.78072544e-01, 2.01763649e-01, 2.48248505e-01, 2.08226989e-01, 8.02137246e-02, 9.84296250e-02, 1.12720426e-01, 1.12836784e-01, 1.02368874e-01, 1.03314789e-01, 1.05208524e-01, 1.06785366e-01, 1.06322597e-01, 1.16911056e-01, 1.10163770e-01, 1.09398202e-01, 1.16855828e-01, 1.17958475e-01, 1.32489040e-01, 1.14543888e-01, 1.04083024e-01, 1.28676433e-01, 1.50967423e-01, 1.61637771e-01, 1.45844019e-01, 1.79771078e-01, 1.96326018e-01, 2.04730702e-01, 2.11930473e-01, 1.82650910e-01, 1.18126062e-01, 1.42833354e-01, 1.51194047e-01, 1.80575115e-01, 2.15594537e-01, 1.84536265e-01, 8.12968896e-02, 9.88285013e-02, 1.01460666e-01, 1.22954285e-01, 1.18268892e-01, 1.19594354e-01, 1.23852590e-01, 1.02146250e-01, 1.11965331e-01, 1.15819835e-01, 8.29860916e-02, 9.72557534e-02, 1.12435718e-01, 1.25873157e-01, 1.38813549e-01, 7.97524220e-02, 8.37859392e-02, 1.10455145e-01, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09])
MULTIPLICITIES = array([1, 2, 1, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 4, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 6, 7, 6, 5, 4, 1, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 1, 4, 5, 6, 7, 8, 9, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 1])
GTO_EXPONENTS = array([1. , 0.53433752, 0.70211598, 0.16683852, 0.18912513, 0.19595732, 0.20688384, 0.2214398 , 0.22396731, 0.23125759, 0.2445383 , 0.09589294, 0.10079468, 0.10028848, 0.10521961, 0.10847672, 0.11561836, 0.11371405, 0.12128835, 0.06022329, 0.05939538, 0.06079193, 0.06203768, 0.06290469, 0.06388265, 0.0655214 , 0.06692644, 0.0678793 , 0.06856123, 0.06958759, 0.07236231, 0.06957556, 0.07259047, 0.07568726, 0.07656852, 0.07990717, 0.08346066, 0.04317281, 0.04520584, 0.04653338, 0.04767222, 0.04844559, 0.04938435, 0.05029176, 0.05112821, 0.05196979, 0.05356553, 0.05359932, 0.05573995, 0.0534154 , 0.05569072, 0.05774494, 0.05889813, 0.06115559, 0.06370219, 0.03224362, 0.03283207, 0.03342514, 0.03402286, 0.03462524, 0.0352323 , 0.03584405, 0.03646052, 0.0370817 , 0.03770761, 0.03833826, 0.03897366, 0.03961383, 0.04025877, 0.04090849, 0.041563 , 0.04222231, 0.04288642, 0.04355534, 0.04422907, 0.04490763, 0.04559102, 0.04627925, 0.04697231, 0.04767022, 0.04837299, 0.0490806 , 0.04979308, 0.05051042, 0.05123262, 0.0519597 , 0.05269165, 0.03578427, 0.03639175, 0.03700414, 0.03762147, 0.03824372, 0.03887091, 0.03950302, 0.04014007, 0.04078205, 0.04142897, 0.04208082, 0.04273761, 0.04339934, 0.04406602, 0.04473763, 0.04541418, 0.04609568, 0.04678212, 0.0474735 , 0.04816984, 0.04887111, 0.04957734, 0.05028851, 0.05100463, 0.0517257 , 0.05245172, 0.05318269, 0.05391862, 0.05465949, 0.05540532, 0.0561561 , 1. ])
PUBCHEM_IONIZATION_ENERGY = array([0. , 0.49971729, 0.90355559, 0.19815235, 0.34261393, 0.30494588, 0.41379737, 0.53411465, 0.50045227, 0.64028345, 0.79249914, 0.18885477, 0.28098532, 0.21998144, 0.29958048, 0.38539014, 0.38072298, 0.47656521, 0.57916932, 0.15952881, 0.22464861, 0.2411123 , 0.25092437, 0.24791093, 0.24868267, 0.27319446, 0.29039315, 0.28962141, 0.28076482, 0.28392527, 0.34522314, 0.22045919, 0.29031965, 0.3606946 , 0.35837939, 0.4341565 , 0.51449051, 0.15350192, 0.20928739, 0.22847054, 0.24379501, 0.24838867, 0.26062619, 0.26753507, 0.27051176, 0.2741132 , 0.3063791 , 0.27841287, 0.33052341, 0.21263158, 0.26988702, 0.31751415, 0.3311114 , 0.38406717, 0.44576928, 0.14310186, 0.19153747, 0.20495097, 0.2035545 , 0.2007983 , 0.20304001, 0.20395874, 0.20741318, 0.20836866, 0.22600833, 0.21549803, 0.21825423, 0.22130442, 0.22446486, 0.22725781, 0.22983026, 0.19940182, 0.25081413, 0.28995215, 0.29325959, 0.28958466, 0.31971911, 0.33441883, 0.3307439 , 0.33904925, 0.38358943, 0.22446486, 0.27256972, 0.26786581, 0.30931905, 0.34911856, 0.39487147, 0.14332236, 0.19399967, 0.189994 , 0.22343588, 0.21645351, 0.2276253 , 0.23027125, 0.22270089, 0.22023869, 0.22123092, 0.22894828, 0.23152073, 0.23593065, 0.2388706 , 0.24181054, 0.24438299, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ])
OXIDATION_STATES = [[0], [1, -1], [0], [1], [2], [3], [4, 2, -4], [5, 4, 3, 2, 1, -1, -2, -3], [-2], [-1], [0], [1], [2], [3], [4, 2, -4], [5, 3, -3], [6, 4, -2], [7, 5, 1, -1], [0], [1], [2], [3], [4, 3, 2], [5, 4, 3, 2], [6, 3, 2], [7, 4, 3, 2], [3, 2], [3, 2], [3, 2], [2, 1], [2], [3], [4, 2], [5, 3, -3], [6, 4, -2], [5, 1, -1], [0], [1], [2], [3], [4], [5, 3], [6], [7, 6, 4], [3], [3], [3, 2], [1], [2], [3], [4, 2], [5, 3, -3], [6, 4, -2], [7, 5, 1, -1], [0], [1], [2], [3], [4, 3], [3], [3], [3], [3, 2], [3, 2], [3], [3], [3], [3], [3], [3], [3, 2], [3], [4], [5], [6], [7, 6, 4], [4, 3], [4, 3], [4, 2], [3, 1], [2, 1], [3, 1], [4, 2], [5, 3], [4, 2], [7, 5, 3, 1, -1], [0], [1], [2], [3], [4], [5, 4], [6, 5, 4, 3], [6, 5, 4, 3], [6, 5, 4, 3], [6, 5, 4, 3], [3], [4, 3], [3], [3], [3], [3, 2], [3, 2], [3], [4], [5, 4, 3], [6, 5, 4, 3, 0], [7, 5, 4, 3], [8, 6, 5, 4, 3, 2], [9, 8, 6, 4, 3, 1], [8, 6, 4, 2, 0], [5, 3, 1, -1], [2, 1, 0], [0], [6, 4, 2, 1, 0], [3, 1], [4, 2, -2], [5, 3, 1, -1], [6, 4, 2, 1, 0, -1]]
OXIDATION_STATES_ONE_HOT = array([[0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], ..., [0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.]], shape=(119, 14))
UFF_MAX_COV_RADII = array([1.88972613, 0.66896305, 1.60437748, 2.52467411, 2.02956586, 1.5835905 , 1.43052268, 1.32280829, 1.28501377, 1.26233705, 1.73854804, 2.90828851, 2.68530083, 2.3508193 , 2.11082408, 2.08058847, 2.03523504, 1.97287408, 1.95019736, 3.69063513, 3.32780771, 2.85915563, 2.66829329, 2.64939603, 2.54168164, 2.61160151, 2.52278438, 2.34515012, 2.19964121, 2.46042342, 2.25444327, 2.38105492, 2.26200218, 2.28845834, 2.24877409, 2.25255354, 2.16751587, 4.27078105, 3.87771801, 3.20875497, 2.95553166, 2.78356659, 2.80435357, 2.49821794, 2.79301522, 2.5171152 , 2.52845356, 2.61916041, 2.65128576, 2.75711042, 2.64183713, 2.65884466, 2.61916041, 2.61160151, 2.394283 , 4.85659615, 4.30290639, 3.67173787, 3.4789858 , 3.44497073, 3.43174265, 3.40339676, 3.36371251, 3.34670497, 3.27867483, 3.27300565, 3.23143168, 3.20497551, 3.16151181, 3.13694537, 3.09348167, 3.15773236, 3.04434879, 2.85537618, 2.88372207, 2.59270425, 2.59270425, 2.59081452, 2.57758644, 2.38483437, 2.53223301, 2.86860426, 2.75711042, 2.85726591, 2.83458919, 2.91962687, 2.6834111 , 5.44241125, 4.74699203, 3.74732691, 3.25221867, 3.2333214 , 3.1822988 , 3.14828373, 3.13127619, 3.13694537, 3.40339676, 3.32780771, 3.30702072, 3.25788784, 3.23521113, 3.19174743, 3.17285017, 3.20875497, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613])
UFF_VDW_RADII = array([1.88972613, 5.4537496 , 4.46353311, 4.63171874, 5.18729822, 7.71575178, 7.27733532, 6.91639763, 6.61404145, 6.35703869, 6.12838183, 5.63705304, 5.70886263, 8.50187785, 8.11637372, 7.83669425, 7.62504493, 7.45874903, 7.30946066, 7.203636 , 6.42317911, 6.22664759, 5.99988046, 5.94129895, 5.71264208, 5.59547906, 5.50288248, 5.42729344, 5.35548385, 6.60459282, 5.22131329, 8.28266962, 8.08802783, 7.99354152, 7.94629837, 7.91606275, 7.8253559 , 7.77433329, 6.88049283, 6.3211339 , 5.90350442, 5.98098319, 5.76744414, 5.66539893, 5.59925852, 5.53500783, 5.47831604, 5.94885785, 5.38194001, 8.43384771, 8.29967715, 8.35258949, 8.44707579, 8.50376758, 8.32235387, 8.53589292, 6.99765585, 6.65561542, 6.71986611, 6.81435242, 6.75577091, 6.70285858, 6.65183597, 6.60081336, 6.3645976 , 6.52144487, 6.47798117, 6.44207637, 6.4080613 , 6.37593596, 6.34003116, 6.87860311, 5.93562977, 5.99043183, 5.79956949, 5.58225098, 5.89594552, 5.3668222 , 5.20430576, 6.22286814, 5.11170918, 8.21463948, 8.12015317, 8.25810318, 8.89872034, 8.97619911, 9.004545 , 9.25965803, 6.94852297, 6.57246747, 6.41750993, 6.47042226, 6.4156202 , 6.47042226, 6.47042226, 6.38916404, 6.2852291 , 6.30979554, 6.26066266, 6.2342065 , 6.20964006, 6.18696334, 6.13783046, 6.11515375, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613])
UFF_EFFECTIVE_CHARGE = array([0. , 0.712, 0.098, 1.026, 1.565, 1.755, 1.912, 2.544, 2.3 , 1.735, 0.194, 1.081, 1.787, 1.792, 2.323, 2.863, 2.703, 2.348, 0.3 , 1.165, 2.141, 2.592, 2.659, 2.679, 2.463, 2.43 , 2.43 , 2.43 , 2.43 , 1.756, 1.308, 1.821, 2.789, 2.864, 2.764, 2.519, 0.452, 1.592, 2.449, 3.257, 3.667, 3.618, 3.4 , 3.4 , 3.4 , 3.508, 3.21 , 1.956, 1.65 , 2.07 , 2.961, 2.704, 2.882, 2.65 , 0.556, 1.573, 2.727, 3.3 , 3.3 , 3.3 , 3.3 , 3.3 , 3.3 , 3.3 , 3.3 , 3.3 , 3.3 , 3.416, 3.3 , 3.3 , 2.618, 3.271, 3.921, 4.075, 3.7 , 3.7 , 3.7 , 3.731, 3.382, 2.625, 1.75 , 2.068, 2.846, 2.47 , 2.33 , 2.24 , 0.583, 1.847, 2.92 , 3.9 , 4.202, 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 3.9 , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ])
UFF_ZETA_SCALE = array([12. , 12. , 15.24 , 12. , 12. , 12.052, 12.73 , 13.407, 14.085, 14.762, 15.44 , 12. , 12. , 11.278, 12.175, 13.072, 13.969, 14.866, 15.763, 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 11. , 12. , 13. , 14. , 15. , 16. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 11. , 12. , 13. , 14. , 15. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 11. , 12. , 13. , 14. , 15. , 16. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. , 12. ])
UFF_D_ENERGY = array([0.00000000e+00, 7.01184483e-05, 8.92416615e-05, 3.98400274e-05, 1.35456093e-04, 2.86848198e-04, 1.67328115e-04, 1.09958476e-04, 9.56160658e-05, 7.96800549e-05, 6.69312461e-05, 4.78080329e-05, 1.76889722e-04, 8.04768554e-04, 6.40627641e-04, 4.86048335e-04, 4.36646701e-04, 3.61747449e-04, 2.94816203e-04, 5.57760384e-05, 3.79277061e-04, 3.02784209e-05, 2.70912187e-05, 2.54976176e-05, 2.39040165e-05, 2.07168143e-05, 2.07168143e-05, 2.23104154e-05, 2.39040165e-05, 7.96800549e-06, 1.97606536e-04, 6.61344455e-04, 6.03974816e-04, 4.92422739e-04, 4.63737919e-04, 3.99993875e-04, 3.50592241e-04, 6.37440439e-05, 3.74496258e-04, 1.14739279e-04, 1.09958476e-04, 9.40224647e-05, 8.92416615e-05, 7.64928527e-05, 8.92416615e-05, 8.44608582e-05, 7.64928527e-05, 5.73696395e-05, 3.63341050e-04, 9.54567057e-04, 9.03571822e-04, 7.15526893e-04, 6.34253237e-04, 5.40230772e-04, 5.29075564e-04, 7.17120494e-05, 5.80070799e-04, 2.70912187e-05, 2.07168143e-05, 1.59360110e-05, 1.59360110e-05, 1.43424099e-05, 1.27488088e-05, 1.27488088e-05, 1.43424099e-05, 1.11552077e-05, 1.11552077e-05, 1.11552077e-05, 1.11552077e-05, 9.56160658e-06, 3.63341050e-04, 6.53376450e-05, 1.14739279e-04, 1.29081689e-04, 1.06771274e-04, 1.05177672e-04, 5.89632406e-05, 1.16332880e-04, 1.27488088e-04, 6.21504428e-05, 6.13536423e-04, 1.08364875e-03, 1.05655753e-03, 8.25485368e-04, 5.17920357e-04, 4.52582712e-04, 3.95213072e-04, 7.96800549e-05, 6.43814843e-04, 5.25888362e-05, 4.14336285e-05, 3.50592241e-05, 3.50592241e-05, 3.02784209e-05, 2.54976176e-05, 2.23104154e-05, 2.07168143e-05, 2.07168143e-05, 2.07168143e-05, 1.91232132e-05, 1.91232132e-05, 1.75296121e-05, 1.75296121e-05, 1.75296121e-05, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00])
UFF_NTYPES = array([1, 2, 1, 1, 1, 2, 4, 4, 5, 1, 1, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
UFF_COV_RADII = array([[1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [0.66896305, 0.86927402, 1.88972613, 1.88972613, 1.88972613], [1.60437748, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.52467411, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.02956586, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.5835905 , 1.56469323, 1.88972613, 1.88972613, 1.88972613], [1.43052268, 1.37761035, 1.38327953, 1.33414665, 1.88972613], [1.32280829, 1.32091856, 1.2944624 , 1.23966034, 1.88972613], [1.24343979, 0.9977754 , 1.28501377, 1.19808637, 1.207535 ], [1.26233705, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.73854804, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.90828851, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.68530083, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.3508193 , 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.11082408, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.08058847, 1.99555079, 1.99555079, 1.88972613, 1.88972613], [2.0106686 , 1.98232271, 1.94074873, 2.03523504, 1.61382611], [1.97287408, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.95019736, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.69063513, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.32780771, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.85915563, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.66829329, 2.66829329, 1.88972613, 1.88972613, 1.88972613], [2.64939603, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.54168164, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.61160151, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.39995218, 2.52278438, 1.88972613, 1.88972613, 1.88972613], [2.34515012, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.19964121, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.46042342, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.25444327, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.38105492, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.26200218, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.28845834, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.24877409, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.25255354, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.16751587, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [4.27078105, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.87771801, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.20875497, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.95553166, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.78356659, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.77222823, 2.80435357, 1.88972613, 1.88972613, 1.88972613], [2.49821794, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.79301522, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.5171152 , 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.52845356, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.61916041, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.65128576, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.75711042, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.64183713, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.65884466, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.61916041, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.61160151, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.394283 , 1.88972613, 1.88972613, 1.88972613, 1.88972613], [4.85659615, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [4.30290639, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.67173787, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.4789858 , 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.44497073, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.43174265, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.40339676, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.36371251, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.34670497, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.27867483, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.27300565, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.23143168, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.20497551, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.16151181, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.13694537, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.09348167, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.15773236, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.04434879, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.85537618, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.63049877, 2.88372207, 2.60782206, 1.88972613, 1.88972613], [2.59270425, 2.48310013, 1.88972613, 1.88972613, 1.88972613], [2.59270425, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.59081452, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.57758644, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.38483437, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.53223301, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.86860426, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.75711042, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.85726591, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.83458919, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.91962687, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [2.6834111 , 1.88972613, 1.88972613, 1.88972613, 1.88972613], [5.44241125, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [4.74699203, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.74732691, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.25221867, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.2333214 , 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.1822988 , 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.14828373, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.13127619, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.13694537, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.40339676, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.32780771, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.30702072, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.25788784, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.23521113, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.19174743, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.17285017, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [3.20875497, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613], [1.88972613, 1.88972613, 1.88972613, 1.88972613, 1.88972613]])
UFF_COV_ANGLE = array([[180. , 180. , 180. , 180. , 180. ], [180. , 83.5 , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 120. , 180. , 180. , 180. ], [109.47, 120. , 120. , 180. , 180. ], [106.7 , 120. , 111.2 , 180. , 180. ], [104.51, 146. , 110. , 120. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 93.8 , 109.47, 109.47, 180. , 180. ], [ 92.1 , 103.2 , 109.47, 92.2 , 120. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 90. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [109.47, 90. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 92.1 , 180. , 180. , 180. , 180. ], [ 90.6 , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 90. , 109.47, 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 91.6 , 180. , 180. , 180. , 180. ], [ 90.25, 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 90. , 109.47, 109.47, 180. , 180. ], [ 90. , 109.47, 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [120. , 180. , 180. , 180. , 180. ], [109.47, 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [ 90. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ], [180. , 180. , 180. , 180. , 180. ]])
UFF_MAX_COORDINATION = array([0, 1, 4, 1, 4, 4, 4, 4, 2, 1, 4, 1, 4, 4, 4, 4, 4, 1, 4, 1, 6, 4, 6, 4, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 1, 4, 1, 6, 4, 4, 4, 6, 6, 6, 6, 4, 2, 4, 4, 4, 4, 4, 1, 4, 1, 6, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 6, 6, 6, 6, 4, 4, 2, 4, 4, 3, 4, 1, 4, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
CHEMICAL_BLOCKS_NAMES = ['H', 'CNOPSSE', 'HALOGENS', 'ALKALI', 'ALKALINE', 'TRANSITION_METALS', 'POST_METALS', 'METALLOIDS', 'LANTHANIDES', 'ACTINIDES', 'NOBLE GASES']
CHEMICAL_BLOCKS = array([-1, 0, 10, 3, 4, 7, 1, 1, 1, 2, 10, 3, 4, 6, 7, 1, 1, 2, 10, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 7, 1, 2, 10, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 2, 10, 3, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 2, 10, 3, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 2, 10, -1])
CHEMICAL_PROPERTIES = {'ATOMIC_NUMBER': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118], 'ATOMIC_MASSES': array([ 0. , 1.008 , 4.002602 , 6.94 , 9.0121831 , 10.81 , 12.011 , 14.007 , 15.999 , 18.99840316, 20.1797 , 22.98976928, 24.305 , 26.9815385 , 28.085 , 30.973762 , 32.06 , 35.45 , 39.948 , 39.0983 , 40.078 , 44.955908 , 47.867 , 50.9415 , 51.9961 , 54.938044 , 55.845 , 58.933194 , 58.6934 , 63.546 , 65.38 , 69.723 , 72.63 , 74.921595 , 78.971 , 79.904 , 83.798 , 85.4678 , 87.62 , 88.90584 , 91.224 , 92.90637 , 95.95 , 97.90721 , 101.07 , 102.9055 , 106.42 , 107.8682 , 112.414 , 114.818 , 118.71 , 121.76 , 127.6 , 126.90447 , 131.293 , 132.90545196, 137.327 , 138.90547 , 140.116 , 140.90766 , 144.242 , 144.91276 , 150.36 , 151.964 , 157.25 , 158.92535 , 162.5 , 164.93033 , 167.259 , 168.93422 , 173.054 , 174.9668 , 178.49 , 180.94788 , 183.84 , 186.207 , 190.23 , 192.217 , 195.084 , 196.966569 , 200.592 , 204.38 , 207.2 , 208.9804 , 208.98243 , 209.98715 , 222.01758 , 223.01974 , 226.02541 , 227.02775 , 232.0377 , 231.03588 , 238.02891 , 237.04817 , 244.06421 , 243.06138 , 247.07035 , 247.07031 , 251.07959 , 252.083 , 257.09511 , 258.09843 , 259.101 , 262.11 , 267.122 , 268.126 , 271.134 , 270.133 , 269.1338 , 278.156 , 281.165 , 281.166 , 285.177 , 286.182 , 289.19 , 289.194 , 293.204 , 293.208 , 294.214 ]), 'EL_STRUCT': array([[ 0, 0, 0, ..., 0, 0, 0], [ 1, 0, 0, ..., 0, 0, 0], [ 2, 0, 0, ..., 0, 0, 0], ..., [ 2, 2, 6, ..., 14, 10, 4], [ 2, 2, 6, ..., 14, 10, 5], [ 2, 2, 6, ..., 14, 10, 6]], shape=(119, 19)), 'VALENCE_STRUCTURE': array([[ 0.25, 0.25, 0.25, 0.25], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 1. , 0. , 0. ], [ 2. , 2. , 0. , 0. ], [ 2. , 3. , 0. , 0. ], [ 2. , 4. , 0. , 0. ], [ 2. , 5. , 0. , 0. ], [ 2. , 6. , 0. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 1. , 0. , 0. ], [ 2. , 2. , 0. , 0. ], [ 2. , 3. , 0. , 0. ], [ 2. , 4. , 0. , 0. ], [ 2. , 5. , 0. , 0. ], [ 2. , 6. , 0. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 2. , 0. ], [ 2. , 0. , 3. , 0. ], [ 1. , 0. , 5. , 0. ], [ 2. , 0. , 5. , 0. ], [ 2. , 0. , 6. , 0. ], [ 2. , 0. , 7. , 0. ], [ 2. , 0. , 8. , 0. ], [ 1. , 0. , 10. , 0. ], [ 2. , 0. , 10. , 0. ], [ 2. , 1. , 10. , 0. ], [ 2. , 2. , 10. , 0. ], [ 2. , 3. , 10. , 0. ], [ 2. , 4. , 10. , 0. ], [ 2. , 5. , 10. , 0. ], [ 2. , 6. , 10. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 2. , 0. ], [ 1. , 0. , 4. , 0. ], [ 1. , 0. , 5. , 0. ], [ 2. , 0. , 5. , 0. ], [ 1. , 0. , 7. , 0. ], [ 1. , 0. , 8. , 0. ], [ 0. , 0. , 10. , 0. ], [ 1. , 0. , 10. , 0. ], [ 2. , 0. , 10. , 0. ], [ 2. , 1. , 10. , 0. ], [ 2. , 2. , 10. , 0. ], [ 2. , 3. , 10. , 0. ], [ 2. , 4. , 10. , 0. ], [ 2. , 5. , 10. , 0. ], [ 2. , 6. , 10. , 0. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 1. , 1. ], [ 2. , 0. , 0. , 3. ], [ 2. , 0. , 0. , 4. ], [ 2. , 0. , 0. , 5. ], [ 2. , 0. , 0. , 6. ], [ 2. , 0. , 0. , 7. ], [ 2. , 0. , 1. , 7. ], [ 2. , 0. , 0. , 9. ], [ 2. , 0. , 0. , 10. ], [ 2. , 0. , 0. , 11. ], [ 2. , 0. , 0. , 12. ], [ 2. , 0. , 0. , 13. ], [ 2. , 0. , 0. , 14. ], [ 2. , 0. , 1. , 14. ], [ 2. , 0. , 2. , 14. ], [ 2. , 0. , 3. , 14. ], [ 2. , 0. , 4. , 14. ], [ 2. , 0. , 5. , 14. ], [ 2. , 0. , 6. , 14. ], [ 2. , 0. , 7. , 14. ], [ 1. , 0. , 9. , 14. ], [ 1. , 0. , 10. , 14. ], [ 2. , 0. , 10. , 14. ], [ 2. , 1. , 10. , 14. ], [ 2. , 2. , 10. , 14. ], [ 2. , 3. , 10. , 14. ], [ 2. , 4. , 10. , 14. ], [ 2. , 5. , 10. , 14. ], [ 2. , 6. , 10. , 14. ], [ 1. , 0. , 0. , 0. ], [ 2. , 0. , 0. , 0. ], [ 2. , 0. , 1. , 0. ], [ 2. , 0. , 2. , 0. ], [ 2. , 0. , 1. , 2. ], [ 2. , 0. , 1. , 3. ], [ 2. , 0. , 1. , 4. ], [ 2. , 0. , 0. , 6. ], [ 2. , 0. , 0. , 7. ], [ 2. , 0. , 1. , 7. ], [ 2. , 0. , 0. , 9. ], [ 2. , 0. , 0. , 10. ], [ 2. , 0. , 0. , 11. ], [ 2. , 0. , 0. , 12. ], [ 2. , 0. , 0. , 13. ], [ 2. , 0. , 0. , 14. ], [ 2. , 1. , 0. , 14. ], [ 2. , 0. , 2. , 14. ], [ 2. , 0. , 3. , 14. ], [ 2. , 0. , 4. , 14. ], [ 2. , 0. , 5. , 14. ], [ 2. , 0. , 6. , 14. ], [ 2. , 0. , 7. , 14. ], [ 2. , 0. , 8. , 14. ], [ 2. , 0. , 9. , 14. ], [ 2. , 0. , 10. , 14. ], [ 2. , 1. , 10. , 14. ], [ 2. , 2. , 10. , 14. ], [ 2. , 3. , 10. , 14. ], [ 2. , 4. , 10. , 14. ], [ 2. , 5. , 10. , 14. ], [ 2. , 6. , 10. , 14. ]]), 'VALENCE_ELECTRONS': array([ 1., 1., 2., 1., 2., 3., 4., 5., 6., 7., 8., 1., 2., 3., 4., 5., 6., 7., 8., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24., 25., 26., 27., 28., 29., 30., 31., 32., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24., 25., 26., 27., 28., 29., 30., 31., 32.]), 'D3_ELECTRONEGATIVITIES': array([1. , 1.23695041, 1.26590957, 0.54341808, 0.99666991, 1.26691604, 1.40028282, 1.55819364, 1.5686644 , 1.57540015, 1.15056627, 0.5593622 , 0.72373742, 1.12910844, 1.1230684 , 1.52672442, 1.40768172, 1.48154584, 1.31062963, 0.4037414 , 0.75442607, 0.76482096, 0.98457281, 0.96702598, 1.05266584, 0.93274875, 1.04025281, 0.92738624, 1.0741921 , 1.07900668, 1.04712861, 1.15018618, 1.15388455, 1.36313743, 1.36485106, 1.39801837, 1.18695346, 0.3627387 , 0.58797255, 0.71961946, 0.96158233, 0.89585296, 0.81360499, 1.00794665, 0.92613682, 1.09152285, 1.1490707 , 1.13508911, 1.08853785, 1.11005982, 1.12452195, 1.21642129, 1.36507125, 1.4034 , 1.16653482, 0.34125098, 0.58884173, 0.68441115, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.56999999, 0.87936784, 1.02761808, 0.93297476, 1.10172128, 0.97350071, 1.16695666, 1.23997927, 1.18464453, 1.14191734, 1.12334192, 1.01485321, 1.12950808, 1.30804834, 1.33689961, 1.27465977, 1. ]), 'D3_HARDNESSES': array([10. , -0.35015861, 1.04121227, 0.09281243, 0.0941238 , 0.26629137, 0.19408787, 0.05317918, 0.03151644, 0.32275132, 1.30996037, 0.2420651 , 0.04147733, 0.11634126, 0.13155266, 0.1535065 , 0.15250997, 0.17523529, 0.2877445 , 0.42937314, 0.01896455, 0.07179178, -0.01121381, -0.0309337 , 0.02716319, -0.01843812, -0.15270393, -0.09192645, -0.13418723, -0.09861139, 0.18338109, 0.08299615, 0.11370033, 0.19005278, 0.10980677, 0.12327841, 0.25345554, 0.58615231, 0.16093861, 0.0454853 , -0.02478645, 0.01909943, 0.01402541, -0.03595279, 0.01137752, -0.03697213, 0.08009416, 0.02274892, 0.12801822, -0.02078702, 0.05284319, 0.0758119 , 0.09663758, 0.09547417, 0.07803344, 0.64913257, 0.15348654, 0.05054344, 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , 0.11 , -0.02786741, 0.01057858, -0.03892226, -0.04574364, -0.0387408 , -0.03782372, -0.07046855, 0.09546597, 0.21953269, 0.02522348, 0.1526305 , 0.08042611, 0.01878626, 0.08715453, 0.10500484, 10. ]), 'D3_KAPPA': array([ 0. , 0.0491611 , 0.10937243, -0.12349591, -0.02665108, -0.02631658, 0.06005196, 0.09279548, 0.11689703, 0.15704746, 0.07987901, -0.10002962, -0.07712863, -0.02170561, -0.04964052, 0.14250599, 0.0712666 , 0.1368275 , 0.14877121, -0.10219289, -0.08979338, -0.08273597, -0.01754829, -0.0276546 , -0.02558926, -0.08010286, -0.04163215, -0.09369631, -0.03774117, -0.05759708, 0.02431998, -0.0105627 , -0.02692862, 0.07657769, 0.06561608, 0.08006749, 0.141392 , -0.05351029, -0.06701705, -0.07377246, -0.02927768, -0.03867291, -0.06929825, -0.04485293, -0.04800824, -0.01484022, 0.07917502, 0.06619243, 0.02434095, -0.01505548, -0.03030768, 0.01418235, 0.08953411, 0.08967527, 0.07277771, -0.02129476, -0.06188828, -0.06568203, -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.11 , -0.03585873, -0.031324 , -0.05902379, -0.02827592, -0.0760626 , -0.02123839, 0.03814822, 0.02146834, 0.01580538, -0.00894298, -0.05864876, -0.01817842, 0.07721851, 0.07936083, 0.05849285, 0. ]), 'D3_VDW_RADII': array([1. , 0.55159092, 0.66205886, 0.90529132, 1.51710827, 2.86070364, 1.88862966, 1.3225029 , 1.23166285, 1.77503721, 1.11955204, 1.28263182, 1.22344336, 1.70936266, 1.54075036, 1.38200579, 2.18849322, 1.36779065, 1.27039703, 1.64466502, 1.58859404, 1.65357953, 1.50021521, 1.30104175, 1.46301827, 1.32928147, 1.02766713, 1.02291377, 0.94343886, 1.14881311, 1.47080755, 1.76901636, 1.98724061, 2.41244711, 2.26739524, 2.95378999, 1.20807752, 1.65941046, 1.6273388 , 1.61344972, 1.63220728, 1.60899928, 1.43501286, 1.54559205, 1.32663678, 1.37644152, 1.36051851, 1.23395526, 1.65734544, 1.5389524 , 1.97542736, 1.97636542, 2.05432381, 3.80138135, 1.43893803, 1.75505957, 1.59815118, 1.76401732, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.63999999, 1.47055223, 1.81127084, 1.40189963, 1.54015481, 1.33721475, 1.57165422, 1.04815857, 1.78342098, 2.79106396, 1.7816084 , 2.47588882, 2.37670734, 1.76613217, 2.66172302, 2.82773085, 1. ]), 'D3_COV_RADII': array([1.88972613, 0.60471236, 0.86927402, 2.51333575, 1.92752065, 1.60626721, 1.4172946 , 1.34170555, 1.19052746, 1.20942472, 1.26611651, 2.9290755 , 2.62671932, 2.38105492, 2.19208231, 2.097596 , 1.94641791, 1.87082887, 1.81413708, 3.70386321, 3.23143168, 2.79679467, 2.57002753, 2.53223301, 2.30546588, 2.24877409, 2.19208231, 2.097596 , 2.07869874, 2.11649326, 2.22987683, 2.3432604 , 2.28656861, 2.28656861, 2.19208231, 2.15428779, 2.21097957, 3.96842487, 3.49599334, 3.08025359, 2.91017824, 2.77789741, 2.60782206, 2.41884944, 2.36215766, 2.36215766, 2.26767135, 2.41884944, 2.57002753, 2.6834111 , 2.64561658, 2.64561658, 2.57002753, 2.51333575, 2.47554123, 4.38416462, 3.70386321, 3.40150703, 3.08025359, 3.32591799, 3.28812346, 3.2692262 , 3.25032894, 3.17473989, 3.19363716, 3.17473989, 3.15584263, 3.13694537, 3.11804811, 3.09915085, 3.21253442, 3.06135633, 2.87238371, 2.75900015, 2.5889248 , 2.47554123, 2.4377467 , 2.30546588, 2.32436314, 2.3432604 , 2.51333575, 2.72120562, 2.72120562, 2.85348645, 2.74010289, 2.77789741, 2.6834111 , 1.88972613]), 'VDW_RADII': array([1. , 3.164697, 2.672999, 5.289595, 4.287516, 3.930227, 3.609691, 3.39813 , 3.24017 , 3.082294, 2.935712, 5.285046, 4.695238, 4.557411, 4.28111 , 4.04323 , 3.899329, 3.744173, 3.600377, 5.738428, 5.27619 , 4.90772 , 4.9297 , 4.83279 , 4.79999 , 4.66488 , 4.60342 , 4.52547 , 4.45139 , 4.42513 , 4.303648, 4.46438 , 4.32415 , 4.1502 , 4.1302 , 3.94427 , 3.819973, 5.819626, 5.430039, 5.28056 , 5.00983 , 4.91457 , 4.83248 , 4.76586 , 4.70393 , 4.641 , 4.068122, 4.52594 , 4.41127 , 4.63541 , 4.50173 , 4.36929 , 4.29265 , 4.204918, 4.094343, 6.010321, 5.6863 , 5.49873 , 5.46176 , 5.50273 , 5.47275 , 5.44278 , 5.41081 , 5.37783 , 5.26295 , 5.31789 , 5.29469 , 5.25248 , 5.22375 , 5.19277 , 5.16632 , 5.15538 , 4.95041 , 4.7218 , 4.6615 , 4.60332 , 4.54834 , 4.51384 , 4.43853 , 4.25951 , 4.223071, 4.46426 , 4.4254 , 4.43853 , 4.38357 , 4.35459 , 4.24235 , 5.814452, 5.60513 , 5.45346 , 5.512 , 5.24297 , 5.11196 , 5.22899 , 5.1311 , 5.1214 , 5.1913 , 5.0915 , 5.0712 , 5.0512 , 5.0213 , 4.9913 , 4.99639 , 5.82052 , 5.00964 , 4.35459 , 4.32462 , 4.29265 , 4.25968 , 4.22553 , 4.18856 , 4.1911 , 4.10942 , 4.13041 , 4.16977 , 4.6919 , nan, 4.7413 , 4.56067 ]), 'C6_FREE': array([1.00000e+00, 6.50000e+00, 1.46000e+00, 1.38700e+03, 2.14000e+02, 9.95000e+01, 4.66000e+01, 2.42000e+01, 1.56000e+01, 9.52000e+00, 6.38000e+00, 1.55600e+03, 6.27000e+02, 5.28000e+02, 3.05000e+02, 1.85000e+02, 1.34000e+02, 9.46000e+01, 6.43000e+01, 3.89700e+03, 2.22100e+03, 1.38300e+03, 1.04400e+03, 8.32000e+02, 6.02000e+02, 5.52000e+02, 4.82000e+02, 4.08000e+02, 3.73000e+02, 2.53000e+02, 2.84000e+02, 4.98000e+02, 3.54000e+02, 2.46000e+02, 2.10000e+02, 1.62000e+02, 1.29600e+02, 4.69100e+03, 3.17000e+03, 1.96858e+03, 1.67791e+03, 1.26361e+03, 1.02873e+03, 1.39087e+03, 6.09754e+02, 4.69000e+02, 1.57500e+02, 3.39000e+02, 4.52000e+02, 7.07046e+02, 5.87417e+02, 4.59322e+02, 3.96000e+02, 3.85000e+02, 2.85900e+02, 6.58208e+03, 5.72700e+03, 3.88450e+03, 3.70833e+03, 3.91184e+03, 3.90875e+03, 3.84768e+03, 3.70869e+03, 3.51171e+03, 2.78153e+03, 3.12441e+03, 2.98429e+03, 2.83995e+03, 2.72412e+03, 2.57678e+03, 2.38753e+03, 2.37180e+03, 1.27480e+03, 1.01992e+03, 8.47930e+02, 7.10200e+02, 5.96670e+02, 3.59100e+02, 3.47100e+02, 2.98000e+02, 3.92000e+02, 7.17440e+02, 6.97000e+02, 5.71000e+02, 5.30920e+02, 4.57530e+02, 4.20600e+02, 4.22444e+03, 4.85132e+03, 3.60441e+03, 4.04754e+03, 2.36742e+03, 1.87710e+03, 2.50788e+03, 2.11727e+03, 2.11098e+03, 2.40322e+03, 1.98582e+03, 1.89192e+03, 1.85110e+03, 1.78707e+03, 1.70100e+03, 1.57818e+03, 1.00000e+00]), 'POLARIZABILITIES': array([1.0000e+00, 4.5000e+00, 1.3800e+00, 1.6400e+02, 3.7701e+01, 2.0501e+01, 1.1302e+01, 7.4020e+00, 5.3020e+00, 3.7408e+00, 2.6600e+00, 1.6301e+02, 7.1204e+01, 5.7801e+01, 3.7307e+01, 2.5010e+01, 1.9401e+01, 1.4602e+01, 1.1100e+01, 2.9001e+02, 1.6104e+02, 9.7100e+03, 1.0010e+04, 8.7100e+03, 8.3120e+03, 6.8090e+01, 6.2040e+01, 5.5040e+01, 4.9030e+01, 4.7010e+01, 3.8703e+01, 5.0030e+01, 4.0010e+01, 3.0010e+01, 2.9010e+01, 2.1010e+01, 1.6800e+01, 3.2001e+02, 1.9701e+02, 1.6212e+04, 1.1213e+04, 9.8080e+01, 8.7060e+01, 7.9100e+03, 7.2100e+03, 6.6100e+03, 2.6101e+01, 5.5080e+01, 4.6020e+01, 6.5040e+01, 5.3060e+01, 4.3020e+01, 3.8040e+01, 3.2901e+01, 2.7302e+01, 4.0101e+02, 2.7210e+04, 2.1520e+04, 2.0520e+04, 2.1620e+04, 2.0820e+04, 2.0020e+04, 1.9220e+04, 1.8420e+04, 1.5820e+04, 1.7020e+04, 1.6515e+04, 1.5610e+04, 1.5015e+04, 1.4415e+04, 1.3906e+02, 1.3707e+02, 1.0306e+02, 7.4200e+03, 6.8150e+03, 6.2030e+01, 5.7030e+01, 5.4070e+01, 4.8040e+01, 3.6030e+01, 3.3904e+01, 5.0020e+01, 4.7030e+01, 4.8040e+01, 4.4040e+01, 4.2040e+01, 3.5020e+01, 3.1802e+02, 2.4604e+02, 2.0312e+04, 2.1754e+04, 1.5420e+04, 1.2917e+04, 1.5120e+04, 1.3220e+04, 1.3125e+04, 1.4425e+04, 1.2525e+04, 1.2220e+04, 1.1820e+04, 1.1320e+04, 1.0920e+04, 1.1006e+02, 3.2020e+04, 1.1210e+04, 4.2040e+01, 4.0040e+01, 3.8040e+01, 3.6040e+01, 3.4030e+01, 3.2030e+01, 3.2060e+01, 2.8020e+01, 2.9020e+01, 3.1040e+01, 7.1200e+03, nan, 7.6150e+03, 5.8060e+01]), 'PAULING_ELECTRONEGATIVITY': array([0. , 2.2 , 4.42, 0.98, 1.57, 2.04, 2.55, 3.04, 3.44, 3.98, 4.44, 0.93, 1.31, 1.61, 1.9 , 2.19, 2.58, 3.16, 3.57, 0.82, 1. , 1.36, 1.54, 1.63, 1.66, 1.55, 1.83, 1.88, 1.91, 1.9 , 1.65, 1.81, 2.01, 2.18, 2.55, 2.96, 3.37, 0.82, 0.95, 1.22, 1.33, 1.6 , 2.16, 1.9 , 2.2 , 2.28, 2.2 , 1.93, 1.69, 1.78, 1.96, 2.05, 2.1 , 2.66, 3.12, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ]), 'SJS_COORDINATES': array([[ 0, 0, 0, 0], [ 0, 1, 1, 0], [ 0, 1, -1, 0], [ 0, 2, 1, 0], [ 0, 2, -1, 0], [ 1, 3, 1, -1], [ 1, 3, 2, 0], [ 1, 3, 1, 1], [ 1, 3, -1, -1], [ 1, 3, -2, 0], [ 1, 3, -1, 1], [ 0, 3, 1, 0], [ 0, 3, -1, 0], [ 1, 4, 1, -1], [ 1, 4, 2, 0], [ 1, 4, 1, 1], [ 1, 4, -1, -1], [ 1, 4, -2, 0], [ 1, 4, -1, 1], [ 0, 4, 1, 0], [ 0, 4, -1, 0], [ 2, 5, 1, -2], [ 2, 5, 2, -1], [ 2, 5, 3, 0], [ 2, 5, 2, 1], [ 2, 5, 1, 2], [ 2, 5, -1, -2], [ 2, 5, -2, -1], [ 2, 5, -3, 0], [ 2, 5, -2, 1], [ 2, 5, -1, 2], [ 1, 5, 1, -1], [ 1, 5, 2, 0], [ 1, 5, 1, 1], [ 1, 5, -1, -1], [ 1, 5, -2, 0], [ 1, 5, -1, 1], [ 0, 5, 1, 0], [ 0, 5, -1, 0], [ 2, 6, 1, -2], [ 2, 6, 2, -1], [ 2, 6, 3, 0], [ 2, 6, 2, 1], [ 2, 6, 1, 2], [ 2, 6, -1, -2], [ 2, 6, -2, -1], [ 2, 6, -3, 0], [ 2, 6, -2, 1], [ 2, 6, -1, 2], [ 1, 6, 1, -1], [ 1, 6, 2, 0], [ 1, 6, 1, 1], [ 1, 6, -1, -1], [ 1, 6, -2, 0], [ 1, 6, -1, 1], [ 0, 6, 1, 0], [ 0, 6, -1, 0], [ 2, 7, 1, -2], [ 3, 7, 1, -3], [ 3, 7, 2, -2], [ 3, 7, 3, -1], [ 3, 7, 4, 0], [ 3, 7, 3, 1], [ 3, 7, 2, 2], [ 3, 7, 1, 3], [ 3, 7, -1, -3], [ 3, 7, -2, -2], [ 3, 7, -3, -1], [ 3, 7, -4, 0], [ 3, 7, -3, 1], [ 3, 7, -2, 2], [ 3, 7, -1, 3], [ 2, 7, 2, -1], [ 2, 7, 3, 0], [ 2, 7, 2, 1], [ 2, 7, 1, 2], [ 2, 7, -1, -2], [ 2, 7, -2, -1], [ 2, 7, -3, 0], [ 2, 7, -2, 1], [ 2, 7, -1, 2], [ 1, 7, 1, -1], [ 1, 7, 2, 0], [ 1, 7, 1, 1], [ 1, 7, -1, -1], [ 1, 7, -2, 0], [ 1, 7, -1, 1], [ 0, 7, 1, 0], [ 0, 7, -1, 0], [ 2, 8, 1, -2], [ 3, 8, 1, -3], [ 3, 8, 2, -2], [ 3, 8, 3, -1], [ 3, 8, 4, 0], [ 3, 8, 3, 1], [ 3, 8, 2, 2], [ 3, 8, 1, 3], [ 3, 8, -1, -3], [ 3, 8, -2, -2], [ 3, 8, -3, -1], [ 3, 8, -4, 0], [ 3, 8, -3, 1], [ 3, 8, -2, 2], [ 3, 8, -1, 3], [ 2, 8, 2, -1], [ 2, 8, 3, 0], [ 2, 8, 2, 1], [ 2, 8, 1, 2], [ 2, 8, -1, -2], [ 2, 8, -2, -1], [ 2, 8, -3, 0], [ 2, 8, -2, 1], [ 2, 8, -1, 2], [ 1, 8, 1, -1], [ 1, 8, 2, 0], [ 1, 8, 1, 1], [ 1, 8, -1, -1], [ 1, 8, -2, 0], [ 1, 8, -1, 1]]), 'ATOMIC_IONIZATION_ENERGY': array([3.80879803e-09, 4.99714302e-01, 9.03561158e-01, 1.98133674e-01, 3.42601383e-01, 3.04932371e-01, 4.13825906e-01, 5.34107748e-01, 5.00437974e-01, 6.40258950e-01, 7.92496607e-01, 1.88840207e-01, 2.80975031e-01, 2.19958086e-01, 2.99561965e-01, 3.85374185e-01, 3.80727451e-01, 4.76556810e-01, 5.79165829e-01, 1.59512462e-01, 2.24642908e-01, 2.41135004e-01, 2.50923614e-01, 2.47914664e-01, 2.48676424e-01, 2.73205083e-01, 2.90420850e-01, 2.89621003e-01, 2.80746503e-01, 2.83945893e-01, 3.45229454e-01, 2.20453230e-01, 2.90230410e-01, 3.60693174e-01, 3.58407895e-01, 4.34164888e-01, 5.14492438e-01, 1.53494561e-01, 2.09293452e-01, 2.28527882e-01, 2.43801162e-01, 2.48371720e-01, 2.60636049e-01, 2.61626337e-01, 2.70500836e-01, 2.74119195e-01, 3.06379714e-01, 2.78423136e-01, 3.30527493e-01, 2.12645194e-01, 2.69891429e-01, 3.17653756e-01, 3.31098813e-01, 3.84079194e-01, 4.45781722e-01, 1.43096542e-01, 1.91544453e-01, 2.04951422e-01, 2.03618343e-01, 2.00723656e-01, 2.03047023e-01, 2.05675094e-01, 2.07617581e-01, 2.08379340e-01, 2.26014075e-01, 2.15501793e-01, 2.18244127e-01, 2.21291166e-01, 2.24452468e-01, 2.27270979e-01, 2.29822873e-01, 1.99390577e-01, 2.50809351e-01, 2.89849530e-01, 2.93277449e-01, 2.89468651e-01, 3.19939035e-01, 3.35174227e-01, 3.31365429e-01, 3.39021113e-01, 3.83584050e-01, 2.24490556e-01, 2.72557587e-01, 2.67758502e-01, 3.09312488e-01, 3.42410943e-01, 3.94972356e-01, 1.44734325e-01, 1.93982084e-01, 1.90059022e-01, 2.23576445e-01, 2.16339728e-01, 2.27613771e-01, 2.30241841e-01, 2.22700421e-01, 2.20148526e-01, 2.21291166e-01, 2.28908762e-01, 2.31574920e-01, 2.35764598e-01, 2.38811637e-01, 2.41858675e-01, 2.44524834e-01, 1.79013508e-01, 2.20910286e-01, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09]), 'ATOMIC_ELECTRON_AFFINITY': array([ 3.80879803e-09, 2.77162424e-02, -1.82822306e-02, 2.27126244e-02, -1.82822306e-02, 1.02795650e-02, 4.63820189e-02, -2.58998266e-03, 5.36945303e-02, 1.24991040e-01, -4.41820572e-02, 2.01359726e-02, -1.52351921e-02, 1.59063023e-02, 5.10637935e-02, 2.74374384e-02, 7.63321214e-02, 1.32765177e-01, -3.65644611e-02, 1.84281075e-02, 9.02685134e-04, 6.59188676e-03, 2.77623289e-03, 1.93909717e-02, 2.48398381e-02, -1.90439902e-02, 5.63130789e-03, 2.43370768e-02, 4.25252300e-02, 4.54142034e-02, -2.20910286e-02, 1.10676053e-02, 4.52999394e-02, 2.95753167e-02, 7.42555647e-02, 1.23609208e-01, -3.65644611e-02, 1.78571687e-02, 1.91315925e-03, 1.14397249e-02, 1.59230611e-02, 3.37139567e-02, 2.74602912e-02, 2.01866296e-02, 3.84498162e-02, 4.19996159e-02, 2.06589205e-02, 4.79382938e-02, -2.58998266e-02, 1.41089306e-02, 4.08676411e-02, 3.84913321e-02, 7.24284843e-02, 1.12417817e-01, -2.93277449e-02, 1.73309071e-02, 5.31479678e-03, 2.04894290e-02, 2.20552259e-02, 4.01409225e-03, 3.58255543e-03, 4.74195355e-03, 5.95315133e-03, 4.26585380e-03, 7.80803597e-03, 4.82574711e-03, 5.52275715e-04, 1.24204904e-02, 1.14644821e-02, 3.77071005e-02, -7.35098021e-04, 8.77547067e-03, 6.54351502e-03, 1.20853162e-02, 2.99980933e-02, 2.21938661e-03, 3.96031202e-02, 5.74778094e-02, 7.80959758e-02, 8.48398336e-02, -1.82822306e-02, 1.17615683e-02, 1.31091211e-02, 3.46295917e-02, 5.18377412e-02, 8.87781307e-02, -2.58998266e-02, 1.78594540e-02, 3.67491878e-03, 1.28623110e-02, 2.23321255e-02, 2.01980560e-02, 1.15749372e-02, 1.74633390e-02, -1.84079209e-02, 3.78213645e-03, 1.03485043e-02, -6.29365787e-02, -3.70634137e-02, -1.08931624e-02, 1.29346781e-02, 3.57684223e-02, -8.50199897e-02, -1.14416293e-02, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09, 3.80879803e-09]), 'GTO_EXPONENTS': array([1. , 0.53433752, 0.70211598, 0.16683852, 0.18912513, 0.19595732, 0.20688384, 0.2214398 , 0.22396731, 0.23125759, 0.2445383 , 0.09589294, 0.10079468, 0.10028848, 0.10521961, 0.10847672, 0.11561836, 0.11371405, 0.12128835, 0.06022329, 0.05939538, 0.06079193, 0.06203768, 0.06290469, 0.06388265, 0.0655214 , 0.06692644, 0.0678793 , 0.06856123, 0.06958759, 0.07236231, 0.06957556, 0.07259047, 0.07568726, 0.07656852, 0.07990717, 0.08346066, 0.04317281, 0.04520584, 0.04653338, 0.04767222, 0.04844559, 0.04938435, 0.05029176, 0.05112821, 0.05196979, 0.05356553, 0.05359932, 0.05573995, 0.0534154 , 0.05569072, 0.05774494, 0.05889813, 0.06115559, 0.06370219, 0.03224362, 0.03283207, 0.03342514, 0.03402286, 0.03462524, 0.0352323 , 0.03584405, 0.03646052, 0.0370817 , 0.03770761, 0.03833826, 0.03897366, 0.03961383, 0.04025877, 0.04090849, 0.041563 , 0.04222231, 0.04288642, 0.04355534, 0.04422907, 0.04490763, 0.04559102, 0.04627925, 0.04697231, 0.04767022, 0.04837299, 0.0490806 , 0.04979308, 0.05051042, 0.05123262, 0.0519597 , 0.05269165, 0.03578427, 0.03639175, 0.03700414, 0.03762147, 0.03824372, 0.03887091, 0.03950302, 0.04014007, 0.04078205, 0.04142897, 0.04208082, 0.04273761, 0.04339934, 0.04406602, 0.04473763, 0.04541418, 0.04609568, 0.04678212, 0.0474735 , 0.04816984, 0.04887111, 0.04957734, 0.05028851, 0.05100463, 0.0517257 , 0.05245172, 0.05318269, 0.05391862, 0.05465949, 0.05540532, 0.0561561 , 1. ]), 'MULTIPLICITY': array([1, 2, 1, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 4, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 6, 7, 6, 5, 4, 1, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 1, 4, 5, 6, 7, 8, 9, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 1]), 'OXIDATION_STATES': [[0], [1, -1], [0], [1], [2], [3], [4, 2, -4], [5, 4, 3, 2, 1, -1, -2, -3], [-2], [-1], [0], [1], [2], [3], [4, 2, -4], [5, 3, -3], [6, 4, -2], [7, 5, 1, -1], [0], [1], [2], [3], [4, 3, 2], [5, 4, 3, 2], [6, 3, 2], [7, 4, 3, 2], [3, 2], [3, 2], [3, 2], [2, 1], [2], [3], [4, 2], [5, 3, -3], [6, 4, -2], [5, 1, -1], [0], [1], [2], [3], [4], [5, 3], [6], [7, 6, 4], [3], [3], [3, 2], [1], [2], [3], [4, 2], [5, 3, -3], [6, 4, -2], [7, 5, 1, -1], [0], [1], [2], [3], [4, 3], [3], [3], [3], [3, 2], [3, 2], [3], [3], [3], [3], [3], [3], [3, 2], [3], [4], [5], [6], [7, 6, 4], [4, 3], [4, 3], [4, 2], [3, 1], [2, 1], [3, 1], [4, 2], [5, 3], [4, 2], [7, 5, 3, 1, -1], [0], [1], [2], [3], [4], [5, 4], [6, 5, 4, 3], [6, 5, 4, 3], [6, 5, 4, 3], [6, 5, 4, 3], [3], [4, 3], [3], [3], [3], [3, 2], [3, 2], [3], [4], [5, 4, 3], [6, 5, 4, 3, 0], [7, 5, 4, 3], [8, 6, 5, 4, 3, 2], [9, 8, 6, 4, 3, 1], [8, 6, 4, 2, 0], [5, 3, 1, -1], [2, 1, 0], [0], [6, 4, 2, 1, 0], [3, 1], [4, 2, -2], [5, 3, 1, -1], [6, 4, 2, 1, 0, -1]]}