pyfock.Data
1# DATA.py 2# Author: Manas Sharma ([email protected]) 3# This is a part of CrysX (https://bragitoff.com/crysx) 4# 5# 6# .d8888b. Y88b d88P 8888888b. 8888888888 888 7# d88P Y88b Y88b d88P 888 Y88b 888 888 8# 888 888 Y88o88P 888 888 888 888 9# 888 888d888 888 888 .d8888b Y888P 888 d88P 888 888 8888888 .d88b. .d8888b 888 888 10# 888 888P" 888 888 88K d888b 8888888P" 888 888 888 d88""88b d88P" 888 .88P 11# 888 888 888 888 888 "Y8888b. d88888b 888888 888 888 888 888 888 888 888 888888K 12# Y88b d88P 888 Y88b 888 X88 d88P Y88b 888 Y88b 888 888 Y88..88P Y88b. 888 "88b 13# "Y8888P" 888 "Y88888 88888P' d88P Y88b 888 "Y88888 888 "Y88P" "Y8888P 888 888 14# 888 888 15# Y8b d88P Y8b d88P 16# "Y88P" "Y88P" 17#Class to store element properties 18class Data: 19 """ 20 A container class holding atomic and basis set metadata used in calculations using PyFock. 21 22 This includes element symbols, names, covalent and atomic radii, atomic masses, shell definitions, 23 and other constants and mappings relevant for electronic structure calculations. 24 25 Note: Index 0 in all element-related lists corresponds to a ghost atom (used in some basis set techniques). 26 """ 27 #IN ALL THE DATA THE FIRST ELEMENT CORRESPONDS TO GHOST ATOM 28 elementSymbols = ["Ghost","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"] 29 """List of chemical element symbols. Index 0 is reserved for the ghost atom.""" 30 elementName = ["Ghost","Hydrogen","Helium","Lithium","Beryllium","Boron","Carbon","Nitrogen","Oxygen","Fluorine","Neon","Sodium","Magnesium","Aluminum","Silicon","Phosphorus","Sulfur","Chlorine","Argon","Potassium","Calcium","Scandium","Titanium","Vanadium","Chromium","Manganese","Iron","Cobalt","Nickel","Copper","Zinc","Gallium","Germanium","Arsenic","Selenium","Bromine","Krypton","Rubidium","Strontium","Yttrium","Zirconium","Niobium","Molybdenum","Technetium","Ruthenium","Rhodium","Palladium","Silver","Cadmium","Indium","Tin","Antimony","Tellurium","Iodine","Xenon","Cesium","Barium","Lanthanum","Cerium","Praseodymium","Neodymium","Promethium","Samarium","Europium","Gadolinium","Terbium","Dysprosium","Holmium","Erbium","Thulium","Ytterbium","Lutetium","Hafnium","Tantalum","Tungsten","Rhenium","Osmium","Iridium","Platinum","Gold","Mercury","Thallium","Lead","Bismuth","Polonium","Astatine","Radon","Francium","Radium","Actinium","Thorium","Protactinium","Uranium","Neptunium","Plutonium","Americium","Curium","Berkelium","Californium","Einsteinium","Fermium","Mendelevium","Nobelium","Lawrencium","Rutherfordium","Dubnium","Seaborgium","Bohrium","Hassium","Meitnerium","Darmstadtium","Roentgenium","Copernicium","Nihonium","Flerovium","Moscovium","Livermorium","Tennessine","Oganesson"] 31 """Full names of the elements corresponding to `elementSymbols`.""" 32 covalentRadius = ["0","0.37","0.32","1.34","0.9","0.82","0.77","0.75","0.73","0.71","0.69","1.54","1.3","1.18","1.11","1.06","1.02","0.99","0.97","1.96","1.74","1.44","1.36","1.25","1.27","1.39","1.25","1.26","1.21","1.38","1.31","1.26","1.22","1.19","1.16","1.14","1.1","2.11","1.92","1.62","1.48","1.37","1.45","1.56","1.26","1.35","1.31","1.53","1.48","1.44","1.41","1.38","1.35","1.33","1.3","2.25","1.98","1.69","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","1.6","1.5","1.38","1.46","1.59","1.28","1.37","1.28","1.44","1.49","1.48","1.47","1.46","N/A","N/A","1.45","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A"] 33 """Covalent radii of elements in Ångströms. Some entries may be "N/A" if unknown or undefined.""" 34 massNumber = ["0","1.007944","4.0026022","6.9412","9.0121823","10.8117","12.01078","14.00672","15.99943","18.99840325","20.17976","22.989769282","24.30506","26.98153868","28.08553","30.9737622","32.0655","35.4532","39.9481","39.09831","40.0784","44.9559126","47.8671","50.94151","51.99616","54.9380455","55.8452","58.9331955","58.69344","63.5463","65.382","69.7231","72.641","74.921602","78.963","79.9041","83.7982","85.46783","87.621","88.905852","91.2242","92.906382","95.962","[98]","101.072","102.905502","106.421","107.86822","112.4118","114.8183","118.7107","121.7601","127.603","126.904473","131.2936","132.90545192","137.3277","138.905477","140.1161","140.907652","144.2423","[145]","150.362","151.9641","157.253","158.925352","162.5001","164.930322","167.2593","168.934212","173.0545","174.96681","178.492","180.947882","183.841","186.2071","190.233","192.2173","195.0849","196.9665694","200.592","204.38332","207.21","208.980401","[209]","[210]","[222]","[223]","[226]","[227]","232.038062","231.035882","238.028913","[237]","[244]","[243]","[247]","[247]","[251]","[252]","[257]","[258]","[259]","[262]","[267]","[268]","[271]","[272]","[270]","[276]","[281]","[280]","[285]","[284]","[289]","[288]","[293]","[294]","[294]"] 35 """Atomic masses of elements in unified atomic mass units (u). Values in brackets indicate unstable isotopes.""" 36 atomicRadius = ["0.4","0.53","0.31","1.67","1.12","0.87","0.67","0.56","0.73","0.42","0.38","1.9","1.45","1.18","1.11","0.98","0.88","0.79","0.71","2.43","1.94","1.84","1.76","1.71","1.66","1.61","1.56","1.52","1.49","1.45","1.42","1.36","1.25","1.14","1.03","0.94","0.88","2.65","2.19","2.12","2.06","1.98","1.9","1.83","1.78","1.73","1.69","1.65","1.61","1.56","1.45","1.33","1.23","1.15","1.08","2.98","2.53","1.95","1.85","2.47","2.06","2.05","2.38","2.31","2.33","2.25","2.28","2.26","2.26","2.22","2.22","2.17","2.08","2","1.93","1.88","1.85","1.8","1.77","1.74","1.71","1.56","1.54","1.43","1.35","1.27","1.2","N/A","N/A","1.95","1.8","1.8","1.75","1.75","1.75","1.75","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A"] 37 """Atomic radii in Ångströms, representing empirical or van der Waals sizes. "N/A" indicates missing data.""" 38 CPKcolorRGB = [[255,255,255],[255,255,255],[217,255,255],[204,128,255],[194,255,0],[255,181,181],[144,144,144],[48,80,248],[255,13,13],[144,224,80],[179,227,245],[171,92,242],[138,255,0],[191,166,166],[240,200,160],[255,128,0],[255,255,48],[31,240,31],[128,209,227],[143,64,212],[61,255,0],[230,230,230],[191,194,199],[166,166,171],[138,153,199],[156,122,199],[224,102,51],[240,144,160],[80,208,80],[200,128,51],[125,128,176],[194,143,143],[102,143,143],[189,128,227],[255,161,0],[166,41,41],[92,184,209],[112,46,176],[0,255,0],[148,255,255],[148,224,224],[115,194,201],[84,181,181],[59,158,158],[36,143,143],[10,125,140],[0,105,133],[192,192,192],[255,217,143],[166,117,115],[102,128,128],[158,99,181],[212,122,0],[148,0,148],[66,158,176],[87,23,143],[0,201,0],[112,212,255],[255,255,199],[217,255,199],[199,255,199],[163,255,199],[143,255,199],[97,255,199],[69,255,199],[48,255,199],[31,255,199],[0,255,156],[0,230,117],[0,212,82],[0,191,56],[0,171,36],[77,194,255],[77,166,255],[33,148,214],[38,125,171],[38,102,150],[23,84,135],[208,208,224],[255,209,35],[184,184,208],[166,84,77],[87,89,97],[158,79,181],[171,92,0],[117,79,69],[66,130,150],[66,0,102],[0,125,0],[112,171,250],[0,186,255],[0,161,255],[0,143,255],[0,128,255],[0,107,255],[84,92,242],[120,92,227],[138,79,227],[161,54,212],[179,31,212],[179,31,186],[179,13,166],[189,13,135],[199,0,102],[204,0,89],[209,0,79],[217,0,69],[224,0,56],[230,0,46],[235,0,38]] 39 """RGB values used for coloring atoms in molecular visualizations (e.g., CPK coloring scheme).""" 40 Bohr2AngsFactor = 0.52917721092 41 """Conversion factor from Bohr to Ångström (1 Bohr = 0.52917721092 Å).""" 42 Angs2BohrFactor = 1.88972612456 # Including more digits than currently used somehow increases the error drastically?! #Previosuly used value was 1.889725989 43 """Conversion factor from Ångström to Bohr (1 Å = 1.88972612456 Bohr).""" 44 shell_dict = {'s':1, 'p':2, 'd':3, 'f':4, 'g':5, 'h':6, 'i':7, 'j':8} 45 """Mapping of orbital angular momentum shell labels to integer quantum numbers (e.g., 's' → 1, 'p' → 2, etc.).""" 46 # PySCF/HORTON ordering (for Cartesian GTOs https://github.com/sunqm/libcint/blob/master/doc/program_ref.pdf and https://theochem.github.io/horton/2.0.1/tech_ref_gaussian_basis.html#collected-notes-on-gaussian-basis-sets) 47 # shell_lmn = {'s':[0,0,0], 'px':[1,0,0], 'py':[0,1,0], 'pz':[0,0,1], 'dxx':[2,0,0], 'dxy':[1,1,0], 'dxz':[1,0,1], 'dyy':[0,2,0], 'dyz':[0,1,1], 'dzz':[0,0,2], 'fxxx':[3,0,0], 'fxxy':[2,1,0], 'fxxz':[2,0,1], 'fxyy':[1,2,0], 'fxyz':[1,1,1], 'fxzz':[1,0,2], 'fyyy':[0,3,0], 'fyyz':[0,2,1], 'fyzz':[0,1,2], 'fzzz':[0,0,3], 'gxxxx':[4,0,0], 'gxxxy':[3,1,0], 'gxxxz':[3,0,1], 'gxxyy':[2,2,0], 'gxxyz':[2,1,1], 'gxxzz':[2,0,2], 'gxyyy':[1,3,0], 'gxyyz':[1,2,1], 'gxyzz':[1,1,2], 'gxzzz':[1,0,3], 'gyyyy':[0,4,0], 'gyyyz':[0,3,1], 'gyyzz':[0,2,2], 'gyzzz':[0,1,3], 'gzzzz':[0,0,4] } 48 shell_lmn = { 49 's': [0, 0, 0], 50 'px': [1, 0, 0], 51 'py': [0, 1, 0], 52 'pz': [0, 0, 1], 53 'dxx': [2, 0, 0], 54 'dxy': [1, 1, 0], 55 'dxz': [1, 0, 1], 56 'dyy': [0, 2, 0], 57 'dyz': [0, 1, 1], 58 'dzz': [0, 0, 2], 59 'fxxx': [3, 0, 0], 60 'fxxy': [2, 1, 0], 61 'fxxz': [2, 0, 1], 62 'fxyy': [1, 2, 0], 63 'fxyz': [1, 1, 1], 64 'fxzz': [1, 0, 2], 65 'fyyy': [0, 3, 0], 66 'fyyz': [0, 2, 1], 67 'fyzz': [0, 1, 2], 68 'fzzz': [0, 0, 3], 69 'gxxxx': [4, 0, 0], 70 'gxxxy': [3, 1, 0], 71 'gxxxz': [3, 0, 1], 72 'gxxyy': [2, 2, 0], 73 'gxxyz': [2, 1, 1], 74 'gxxzz': [2, 0, 2], 75 'gxyyy': [1, 3, 0], 76 'gxyyz': [1, 2, 1], 77 'gxyzz': [1, 1, 2], 78 'gxzzz': [1, 0, 3], 79 'gyyyy': [0, 4, 0], 80 'gyyyz': [0, 3, 1], 81 'gyyzz': [0, 2, 2], 82 'gyzzz': [0, 1, 3], 83 'gzzzz': [0, 0, 4], 84 'hxxxxx':[5,0,0], 85 'hxxxxy':[4,1,0], 86 'hxxxxz':[4,0,1], 87 'hxxxyy':[3,2,0], 88 'hxxxyz':[3,1,1], 89 'hxxxzz':[3,0,2], 90 'hxxyyy':[2,3,0], 91 'hxxyyz':[2,2,1], 92 'hxxyzz':[2,1,2], 93 'hxxzzz':[2,0,3], 94 'hxyyyy':[1,4,0], 95 'hxyyyz':[1,3,1], 96 'hxyyzz':[1,2,2], 97 'hxyzzz':[1,1,3], 98 'hxzzzz':[1,0,4], 99 'hyyyyy':[0,5,0], 100 'hyyyyz':[0,4,1], 101 'hyyyzz':[0,3,2], 102 'hyyzzz':[0,2,3], 103 'hyzzzz':[0,1,4], 104 'hzzzzz':[0,0,5], 105 'ixxxxxx':[6,0,0], 106 'ixxxxxy':[5,1,0], 107 'ixxxxxz':[5,0,1], 108 'ixxxxyy':[4,2,0], 109 'ixxxxyz':[4,1,1], 110 'ixxxxzz':[4,0,2], 111 'ixxxyyy':[3,3,0], 112 'ixxxyyz':[3,2,1], 113 'ixxxyzz':[3,1,2], 114 'ixxxzzz':[3,0,3], 115 'ixxyyyy':[2,4,0], 116 'ixxyyyz':[2,3,1], 117 'ixxyyzz':[2,2,2], 118 'ixxyzzz':[2,1,3], 119 'ixxzzzz':[2,0,4], 120 'ixyyyyy':[1,5,0], 121 'ixyyyyz':[1,4,1], 122 'ixyyyzz':[1,3,2], 123 'ixyyzzz':[1,2,3], 124 'ixyzzzz':[1,1,4], 125 'ixzzzzz':[1,0,5], 126 'iyyyyyy':[0,6,0], 127 'iyyyyyz':[0,5,1], 128 'iyyyyzz':[0,4,2], 129 'iyyyzzz':[0,3,3], 130 'iyyzzzz':[0,2,4], 131 'iyzzzzz':[0,1,5], 132 'izzzzzz':[0,0,6], 133 } 134 """Dictionary mapping Cartesian Gaussian orbital labels to their exponent tuples [lx, ly, lz] (PySCF/HORTON ordering).""" 135 # TURBOMOLE Ordering 136 shell_lmn_tmole = {'s':[0,0,0], 'px':[1,0,0], 'py':[0,1,0], 'pz':[0,0,1], 'dxx':[2,0,0], 'dyy':[0,2,0], 'dzz':[0,0,2], 'dxy':[1,1,0], 'dxz':[1,0,1], 'dyz':[0,1,1], 'fxxx':[3,0,0], 'fxxy':[2,1,0], 'fxxz':[2,0,1], 'fxyy':[1,2,0], 'fxyz':[1,1,1], 'fxzz':[1,0,2], 'fyyy':[0,3,0], 'fyyz':[0,2,1], 'fyzz':[0,1,2], 'fzzz':[0,0,3], 'gxxxx':[4,0,0], 'gxxxy':[3,1,0], 'gxxxz':[3,0,1], 'gxxyy':[2,2,0], 'gxxyz':[2,1,1], 'gxxzz':[2,0,2], 'gxyyy':[1,3,0], 'gxyyz':[1,2,1], 'gxyzz':[1,1,2], 'gxzzz':[1,0,3], 'gyyyy':[0,4,0], 'gyyyz':[0,3,1], 'gyyzz':[0,2,2], 'gyzzz':[0,1,3], 'gzzzz':[0,0,4] } 137 """Same as `shell_lmn`, but with the Cartesian basis ordering used in TURBOMOLE.""" 138 shell_lmn_offset = [0,1,4,10,20,35,56,84] 139 """Offsets for indexing Cartesian basis function blocks for increasing angular momentum (used for shell loops).""" 140 # (l+1)*(l+2)/2 141 shell_degen = [1,3,6,10,15,21,28,36] # Cartesian 142 """Degeneracy (number of basis functions) of Cartesian shells as a function of angular momentum.""" 143 #First element is ghost element remember 144 elementPeriod=["1","1","1","2","2","2","2","2","2","2","2","3","3","3","3","3","3","3","3","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7"] 145 """Period (row) of the periodic table for each element. Index 0 corresponds to the ghost atom."""
19class Data: 20 """ 21 A container class holding atomic and basis set metadata used in calculations using PyFock. 22 23 This includes element symbols, names, covalent and atomic radii, atomic masses, shell definitions, 24 and other constants and mappings relevant for electronic structure calculations. 25 26 Note: Index 0 in all element-related lists corresponds to a ghost atom (used in some basis set techniques). 27 """ 28 #IN ALL THE DATA THE FIRST ELEMENT CORRESPONDS TO GHOST ATOM 29 elementSymbols = ["Ghost","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"] 30 """List of chemical element symbols. Index 0 is reserved for the ghost atom.""" 31 elementName = ["Ghost","Hydrogen","Helium","Lithium","Beryllium","Boron","Carbon","Nitrogen","Oxygen","Fluorine","Neon","Sodium","Magnesium","Aluminum","Silicon","Phosphorus","Sulfur","Chlorine","Argon","Potassium","Calcium","Scandium","Titanium","Vanadium","Chromium","Manganese","Iron","Cobalt","Nickel","Copper","Zinc","Gallium","Germanium","Arsenic","Selenium","Bromine","Krypton","Rubidium","Strontium","Yttrium","Zirconium","Niobium","Molybdenum","Technetium","Ruthenium","Rhodium","Palladium","Silver","Cadmium","Indium","Tin","Antimony","Tellurium","Iodine","Xenon","Cesium","Barium","Lanthanum","Cerium","Praseodymium","Neodymium","Promethium","Samarium","Europium","Gadolinium","Terbium","Dysprosium","Holmium","Erbium","Thulium","Ytterbium","Lutetium","Hafnium","Tantalum","Tungsten","Rhenium","Osmium","Iridium","Platinum","Gold","Mercury","Thallium","Lead","Bismuth","Polonium","Astatine","Radon","Francium","Radium","Actinium","Thorium","Protactinium","Uranium","Neptunium","Plutonium","Americium","Curium","Berkelium","Californium","Einsteinium","Fermium","Mendelevium","Nobelium","Lawrencium","Rutherfordium","Dubnium","Seaborgium","Bohrium","Hassium","Meitnerium","Darmstadtium","Roentgenium","Copernicium","Nihonium","Flerovium","Moscovium","Livermorium","Tennessine","Oganesson"] 32 """Full names of the elements corresponding to `elementSymbols`.""" 33 covalentRadius = ["0","0.37","0.32","1.34","0.9","0.82","0.77","0.75","0.73","0.71","0.69","1.54","1.3","1.18","1.11","1.06","1.02","0.99","0.97","1.96","1.74","1.44","1.36","1.25","1.27","1.39","1.25","1.26","1.21","1.38","1.31","1.26","1.22","1.19","1.16","1.14","1.1","2.11","1.92","1.62","1.48","1.37","1.45","1.56","1.26","1.35","1.31","1.53","1.48","1.44","1.41","1.38","1.35","1.33","1.3","2.25","1.98","1.69","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","1.6","1.5","1.38","1.46","1.59","1.28","1.37","1.28","1.44","1.49","1.48","1.47","1.46","N/A","N/A","1.45","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A"] 34 """Covalent radii of elements in Ångströms. Some entries may be "N/A" if unknown or undefined.""" 35 massNumber = ["0","1.007944","4.0026022","6.9412","9.0121823","10.8117","12.01078","14.00672","15.99943","18.99840325","20.17976","22.989769282","24.30506","26.98153868","28.08553","30.9737622","32.0655","35.4532","39.9481","39.09831","40.0784","44.9559126","47.8671","50.94151","51.99616","54.9380455","55.8452","58.9331955","58.69344","63.5463","65.382","69.7231","72.641","74.921602","78.963","79.9041","83.7982","85.46783","87.621","88.905852","91.2242","92.906382","95.962","[98]","101.072","102.905502","106.421","107.86822","112.4118","114.8183","118.7107","121.7601","127.603","126.904473","131.2936","132.90545192","137.3277","138.905477","140.1161","140.907652","144.2423","[145]","150.362","151.9641","157.253","158.925352","162.5001","164.930322","167.2593","168.934212","173.0545","174.96681","178.492","180.947882","183.841","186.2071","190.233","192.2173","195.0849","196.9665694","200.592","204.38332","207.21","208.980401","[209]","[210]","[222]","[223]","[226]","[227]","232.038062","231.035882","238.028913","[237]","[244]","[243]","[247]","[247]","[251]","[252]","[257]","[258]","[259]","[262]","[267]","[268]","[271]","[272]","[270]","[276]","[281]","[280]","[285]","[284]","[289]","[288]","[293]","[294]","[294]"] 36 """Atomic masses of elements in unified atomic mass units (u). Values in brackets indicate unstable isotopes.""" 37 atomicRadius = ["0.4","0.53","0.31","1.67","1.12","0.87","0.67","0.56","0.73","0.42","0.38","1.9","1.45","1.18","1.11","0.98","0.88","0.79","0.71","2.43","1.94","1.84","1.76","1.71","1.66","1.61","1.56","1.52","1.49","1.45","1.42","1.36","1.25","1.14","1.03","0.94","0.88","2.65","2.19","2.12","2.06","1.98","1.9","1.83","1.78","1.73","1.69","1.65","1.61","1.56","1.45","1.33","1.23","1.15","1.08","2.98","2.53","1.95","1.85","2.47","2.06","2.05","2.38","2.31","2.33","2.25","2.28","2.26","2.26","2.22","2.22","2.17","2.08","2","1.93","1.88","1.85","1.8","1.77","1.74","1.71","1.56","1.54","1.43","1.35","1.27","1.2","N/A","N/A","1.95","1.8","1.8","1.75","1.75","1.75","1.75","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A"] 38 """Atomic radii in Ångströms, representing empirical or van der Waals sizes. "N/A" indicates missing data.""" 39 CPKcolorRGB = [[255,255,255],[255,255,255],[217,255,255],[204,128,255],[194,255,0],[255,181,181],[144,144,144],[48,80,248],[255,13,13],[144,224,80],[179,227,245],[171,92,242],[138,255,0],[191,166,166],[240,200,160],[255,128,0],[255,255,48],[31,240,31],[128,209,227],[143,64,212],[61,255,0],[230,230,230],[191,194,199],[166,166,171],[138,153,199],[156,122,199],[224,102,51],[240,144,160],[80,208,80],[200,128,51],[125,128,176],[194,143,143],[102,143,143],[189,128,227],[255,161,0],[166,41,41],[92,184,209],[112,46,176],[0,255,0],[148,255,255],[148,224,224],[115,194,201],[84,181,181],[59,158,158],[36,143,143],[10,125,140],[0,105,133],[192,192,192],[255,217,143],[166,117,115],[102,128,128],[158,99,181],[212,122,0],[148,0,148],[66,158,176],[87,23,143],[0,201,0],[112,212,255],[255,255,199],[217,255,199],[199,255,199],[163,255,199],[143,255,199],[97,255,199],[69,255,199],[48,255,199],[31,255,199],[0,255,156],[0,230,117],[0,212,82],[0,191,56],[0,171,36],[77,194,255],[77,166,255],[33,148,214],[38,125,171],[38,102,150],[23,84,135],[208,208,224],[255,209,35],[184,184,208],[166,84,77],[87,89,97],[158,79,181],[171,92,0],[117,79,69],[66,130,150],[66,0,102],[0,125,0],[112,171,250],[0,186,255],[0,161,255],[0,143,255],[0,128,255],[0,107,255],[84,92,242],[120,92,227],[138,79,227],[161,54,212],[179,31,212],[179,31,186],[179,13,166],[189,13,135],[199,0,102],[204,0,89],[209,0,79],[217,0,69],[224,0,56],[230,0,46],[235,0,38]] 40 """RGB values used for coloring atoms in molecular visualizations (e.g., CPK coloring scheme).""" 41 Bohr2AngsFactor = 0.52917721092 42 """Conversion factor from Bohr to Ångström (1 Bohr = 0.52917721092 Å).""" 43 Angs2BohrFactor = 1.88972612456 # Including more digits than currently used somehow increases the error drastically?! #Previosuly used value was 1.889725989 44 """Conversion factor from Ångström to Bohr (1 Å = 1.88972612456 Bohr).""" 45 shell_dict = {'s':1, 'p':2, 'd':3, 'f':4, 'g':5, 'h':6, 'i':7, 'j':8} 46 """Mapping of orbital angular momentum shell labels to integer quantum numbers (e.g., 's' → 1, 'p' → 2, etc.).""" 47 # PySCF/HORTON ordering (for Cartesian GTOs https://github.com/sunqm/libcint/blob/master/doc/program_ref.pdf and https://theochem.github.io/horton/2.0.1/tech_ref_gaussian_basis.html#collected-notes-on-gaussian-basis-sets) 48 # shell_lmn = {'s':[0,0,0], 'px':[1,0,0], 'py':[0,1,0], 'pz':[0,0,1], 'dxx':[2,0,0], 'dxy':[1,1,0], 'dxz':[1,0,1], 'dyy':[0,2,0], 'dyz':[0,1,1], 'dzz':[0,0,2], 'fxxx':[3,0,0], 'fxxy':[2,1,0], 'fxxz':[2,0,1], 'fxyy':[1,2,0], 'fxyz':[1,1,1], 'fxzz':[1,0,2], 'fyyy':[0,3,0], 'fyyz':[0,2,1], 'fyzz':[0,1,2], 'fzzz':[0,0,3], 'gxxxx':[4,0,0], 'gxxxy':[3,1,0], 'gxxxz':[3,0,1], 'gxxyy':[2,2,0], 'gxxyz':[2,1,1], 'gxxzz':[2,0,2], 'gxyyy':[1,3,0], 'gxyyz':[1,2,1], 'gxyzz':[1,1,2], 'gxzzz':[1,0,3], 'gyyyy':[0,4,0], 'gyyyz':[0,3,1], 'gyyzz':[0,2,2], 'gyzzz':[0,1,3], 'gzzzz':[0,0,4] } 49 shell_lmn = { 50 's': [0, 0, 0], 51 'px': [1, 0, 0], 52 'py': [0, 1, 0], 53 'pz': [0, 0, 1], 54 'dxx': [2, 0, 0], 55 'dxy': [1, 1, 0], 56 'dxz': [1, 0, 1], 57 'dyy': [0, 2, 0], 58 'dyz': [0, 1, 1], 59 'dzz': [0, 0, 2], 60 'fxxx': [3, 0, 0], 61 'fxxy': [2, 1, 0], 62 'fxxz': [2, 0, 1], 63 'fxyy': [1, 2, 0], 64 'fxyz': [1, 1, 1], 65 'fxzz': [1, 0, 2], 66 'fyyy': [0, 3, 0], 67 'fyyz': [0, 2, 1], 68 'fyzz': [0, 1, 2], 69 'fzzz': [0, 0, 3], 70 'gxxxx': [4, 0, 0], 71 'gxxxy': [3, 1, 0], 72 'gxxxz': [3, 0, 1], 73 'gxxyy': [2, 2, 0], 74 'gxxyz': [2, 1, 1], 75 'gxxzz': [2, 0, 2], 76 'gxyyy': [1, 3, 0], 77 'gxyyz': [1, 2, 1], 78 'gxyzz': [1, 1, 2], 79 'gxzzz': [1, 0, 3], 80 'gyyyy': [0, 4, 0], 81 'gyyyz': [0, 3, 1], 82 'gyyzz': [0, 2, 2], 83 'gyzzz': [0, 1, 3], 84 'gzzzz': [0, 0, 4], 85 'hxxxxx':[5,0,0], 86 'hxxxxy':[4,1,0], 87 'hxxxxz':[4,0,1], 88 'hxxxyy':[3,2,0], 89 'hxxxyz':[3,1,1], 90 'hxxxzz':[3,0,2], 91 'hxxyyy':[2,3,0], 92 'hxxyyz':[2,2,1], 93 'hxxyzz':[2,1,2], 94 'hxxzzz':[2,0,3], 95 'hxyyyy':[1,4,0], 96 'hxyyyz':[1,3,1], 97 'hxyyzz':[1,2,2], 98 'hxyzzz':[1,1,3], 99 'hxzzzz':[1,0,4], 100 'hyyyyy':[0,5,0], 101 'hyyyyz':[0,4,1], 102 'hyyyzz':[0,3,2], 103 'hyyzzz':[0,2,3], 104 'hyzzzz':[0,1,4], 105 'hzzzzz':[0,0,5], 106 'ixxxxxx':[6,0,0], 107 'ixxxxxy':[5,1,0], 108 'ixxxxxz':[5,0,1], 109 'ixxxxyy':[4,2,0], 110 'ixxxxyz':[4,1,1], 111 'ixxxxzz':[4,0,2], 112 'ixxxyyy':[3,3,0], 113 'ixxxyyz':[3,2,1], 114 'ixxxyzz':[3,1,2], 115 'ixxxzzz':[3,0,3], 116 'ixxyyyy':[2,4,0], 117 'ixxyyyz':[2,3,1], 118 'ixxyyzz':[2,2,2], 119 'ixxyzzz':[2,1,3], 120 'ixxzzzz':[2,0,4], 121 'ixyyyyy':[1,5,0], 122 'ixyyyyz':[1,4,1], 123 'ixyyyzz':[1,3,2], 124 'ixyyzzz':[1,2,3], 125 'ixyzzzz':[1,1,4], 126 'ixzzzzz':[1,0,5], 127 'iyyyyyy':[0,6,0], 128 'iyyyyyz':[0,5,1], 129 'iyyyyzz':[0,4,2], 130 'iyyyzzz':[0,3,3], 131 'iyyzzzz':[0,2,4], 132 'iyzzzzz':[0,1,5], 133 'izzzzzz':[0,0,6], 134 } 135 """Dictionary mapping Cartesian Gaussian orbital labels to their exponent tuples [lx, ly, lz] (PySCF/HORTON ordering).""" 136 # TURBOMOLE Ordering 137 shell_lmn_tmole = {'s':[0,0,0], 'px':[1,0,0], 'py':[0,1,0], 'pz':[0,0,1], 'dxx':[2,0,0], 'dyy':[0,2,0], 'dzz':[0,0,2], 'dxy':[1,1,0], 'dxz':[1,0,1], 'dyz':[0,1,1], 'fxxx':[3,0,0], 'fxxy':[2,1,0], 'fxxz':[2,0,1], 'fxyy':[1,2,0], 'fxyz':[1,1,1], 'fxzz':[1,0,2], 'fyyy':[0,3,0], 'fyyz':[0,2,1], 'fyzz':[0,1,2], 'fzzz':[0,0,3], 'gxxxx':[4,0,0], 'gxxxy':[3,1,0], 'gxxxz':[3,0,1], 'gxxyy':[2,2,0], 'gxxyz':[2,1,1], 'gxxzz':[2,0,2], 'gxyyy':[1,3,0], 'gxyyz':[1,2,1], 'gxyzz':[1,1,2], 'gxzzz':[1,0,3], 'gyyyy':[0,4,0], 'gyyyz':[0,3,1], 'gyyzz':[0,2,2], 'gyzzz':[0,1,3], 'gzzzz':[0,0,4] } 138 """Same as `shell_lmn`, but with the Cartesian basis ordering used in TURBOMOLE.""" 139 shell_lmn_offset = [0,1,4,10,20,35,56,84] 140 """Offsets for indexing Cartesian basis function blocks for increasing angular momentum (used for shell loops).""" 141 # (l+1)*(l+2)/2 142 shell_degen = [1,3,6,10,15,21,28,36] # Cartesian 143 """Degeneracy (number of basis functions) of Cartesian shells as a function of angular momentum.""" 144 #First element is ghost element remember 145 elementPeriod=["1","1","1","2","2","2","2","2","2","2","2","3","3","3","3","3","3","3","3","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","4","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","5","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","6","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7","7"] 146 """Period (row) of the periodic table for each element. Index 0 corresponds to the ghost atom."""
A container class holding atomic and basis set metadata used in calculations using PyFock.
This includes element symbols, names, covalent and atomic radii, atomic masses, shell definitions, and other constants and mappings relevant for electronic structure calculations.
Note: Index 0 in all element-related lists corresponds to a ghost atom (used in some basis set techniques).
List of chemical element symbols. Index 0 is reserved for the ghost atom.
Full names of the elements corresponding to elementSymbols.
Covalent radii of elements in Ångströms. Some entries may be "N/A" if unknown or undefined.
Atomic masses of elements in unified atomic mass units (u). Values in brackets indicate unstable isotopes.
Atomic radii in Ångströms, representing empirical or van der Waals sizes. "N/A" indicates missing data.
RGB values used for coloring atoms in molecular visualizations (e.g., CPK coloring scheme).
Mapping of orbital angular momentum shell labels to integer quantum numbers (e.g., 's' → 1, 'p' → 2, etc.).
Dictionary mapping Cartesian Gaussian orbital labels to their exponent tuples [lx, ly, lz] (PySCF/HORTON ordering).
Same as shell_lmn, but with the Cartesian basis ordering used in TURBOMOLE.
Offsets for indexing Cartesian basis function blocks for increasing angular momentum (used for shell loops).
Degeneracy (number of basis functions) of Cartesian shells as a function of angular momentum.
Period (row) of the periodic table for each element. Index 0 corresponds to the ghost atom.