Notebooks · lib/basis/def2svp
The def2-SVP basis set, H through Ar, as a table
Generated by tools/basis_tables.py from the Basis Set Exchange (the
basis_set_exchange package 0.12, data version 0 of the set, general
contractions optimized). Do not edit; rerun the generator. The generator's
docstring says why version 0, how shells are split and in what order they
stand, and tools/basis_tables.py --check compares every element with
PySCF 2.5.0's copy of the set.
basis_def2svp() is the Basis record of lib/basis/basis: one row per segmented
shell, (Z, l, nprim, p0) with p0 the row of its first primitive, and
one row per primitive, (exponent, coefficient). Elements 1 to 18, 115
shells and 246 primitives, angular momentum up to d.
Used with import basis.def2svp, and passed to molecule (lib/hf/molecule).
lib/basis/def2svp.viv · 1 code cellOpen in the workbenchDownload .vivLook inside this program
- Atlas
The program’s map: every function and which calls which.
There’s no recorded run of this program yet.
Shift+Enter in a cell runs it and moves to the next. Running a cell runs every cell above it too, as one program.
from basis.basis import Basis, basis_check, basis_nao, basis_of, basis_rows, BS_NAO_LEN BASIS_DEF2SVP_NSHELL = 115 BASIS_DEF2SVP_NPRIM = 246 #| (Z, l, nprim, p0), one segmented shell per row, by element. def basis_def2svp_shells_flat() -> Arr { return [1, 0, 3, 0, 1, 0, 1, 3, 1, 1, 1, 4, 2, 0, 3, 5, 2, 0, 1, 8, 2, 1, 1, 9, 3, 0, 5, 10, 3, 0, 1, 15, 3, 0, 1, 16, 3, 1, 2, 17, 3, 1, 1, 19, 4, 0, 5, 20, 4, 0, 1, 25, 4, 0, 1, 26, 4, 1, 3, 27, 4, 1, 1, 30, 5, 0, 5, 31, 5, 0, 1, 36, 5, 0, 1, 37, 5, 1, 3, 38, 5, 1, 1, 41, 5, 2, 1, 42, 6, 0, 5, 43, 6, 0, 1, 48, 6, 0, 1, 49, 6, 1, 3, 50, 6, 1, 1, 53, 6, 2, 1, 54, 7, 0, 5, 55, 7, 0, 1, 60, 7, 0, 1, 61, 7, 1, 3, 62, 7, 1, 1, 65, 7, 2, 1, 66, 8, 0, 5, 67, 8, 0, 1, 72, 8, 0, 1, 73, 8, 1, 3, 74, 8, 1, 1, 77, 8, 2, 1, 78, 9, 0, 5, 79, 9, 0, 1, 84, 9, 0, 1, 85, 9, 1, 3, 86, 9, 1, 1, 89, 9, 2, 1, 90, 10, 0, 5, 91, 10, 0, 1, 96, 10, 0, 1, 97, 10, 1, 3, 98, 10, 1, 1, 101, 10, 2, 1, 102, 11, 0, 5, 103, 11, 0, 3, 108, 11, 0, 1, 111, 11, 0, 1, 112, 11, 1, 5, 113, 11, 1, 1, 118, 11, 2, 1, 119, 12, 0, 5, 120, 12, 0, 3, 125, 12, 0, 1, 128, 12, 0, 1, 129, 12, 1, 5, 130, 12, 1, 1, 135, 12, 1, 1, 136, 12, 2, 1, 137, 13, 0, 5, 138, 13, 0, 3, 143, 13, 0, 1, 146, 13, 0, 1, 147, 13, 1, 5, 148, 13, 1, 1, 153, 13, 1, 1, 154, 13, 2, 1, 155, 14, 0, 5, 156, 14, 0, 3, 161, 14, 0, 1, 164, 14, 0, 1, 165, 14, 1, 5, 166, 14, 1, 1, 171, 14, 1, 1, 172, 14, 2, 1, 173, 15, 0, 5, 174, 15, 0, 3, 179, 15, 0, 1, 182, 15, 0, 1, 183, 15, 1, 5, 184, 15, 1, 1, 189, 15, 1, 1, 190, 15, 2, 1, 191, 16, 0, 5, 192, 16, 0, 3, 197, 16, 0, 1, 200, 16, 0, 1, 201, 16, 1, 5, 202, 16, 1, 1, 207, 16, 1, 1, 208, 16, 2, 1, 209, 17, 0, 5, 210, 17, 0, 3, 215, 17, 0, 1, 218, 17, 0, 1, 219, 17, 1, 5, 220, 17, 1, 1, 225, 17, 1, 1, 226, 17, 2, 1, 227, 18, 0, 5, 228, 18, 0, 3, 233, 18, 0, 1, 236, 18, 0, 1, 237, 18, 1, 5, 238, 18, 1, 1, 243, 18, 1, 1, 244, 18, 2, 1, 245] } #| (exponent, coefficient), one primitive per row. def basis_def2svp_prims_flat() -> Arr { return [13.010701, 0.019682158, 1.9622572, 0.13796524, 0.44453796, 0.47831935, 0.12194962, 1.0, 0.8, 1.0, 38.354936737, 0.023814288905, 5.7689081479, 0.15490906777, 1.2399407035, 0.46998096633, 0.29757815953, 1.0, 1.0, 1.0, 266.27785516, 0.0064920150325, 40.069783447, 0.047747863215, 9.0559944389, 0.20268796111, 2.4503009051, 0.48606574817, 0.72209571855, 0.43626977955, 0.052810884721, 1.0, 0.020960948798, 1.0, 1.45, 0.2586, 0.3, 1.0, 0.082, 1.0, 515.18616125, 0.0055615307983, 77.511037595, 0.041190068062, 17.552481693, 0.17913378108, 4.8028940596, 0.44736716455, 1.4516214316, 0.4200958192, 0.1328163362, 1.0, 0.045837372213, 1.0, 3.6316917145, -0.029033998305, 0.71695694366, -0.16877854032, 0.1954193286, -0.51403419628, 0.06051546589, 1.0, 839.31830086, -0.0055929201074, 126.26464843, -0.041565520771, 28.620600763, -0.18299816983, 7.879372271, -0.46540391866, 2.4088857172, -0.44173884791, 0.25105109036, 1.0, 0.083648866069, 1.0, 6.0332223619, -0.035603672456, 1.2499157866, -0.19895775769, 0.3387167635, -0.50850202618, 0.096415632351, 1.0, 0.5, 1.0, 1238.4016938, 0.0054568832082, 186.29004992, 0.040638409211, 42.251176346, 0.18025593888, 11.676557932, 0.46315121755, 3.5930506482, 0.44087173314, 0.40245147363, 1.0, 0.13090182668, 1.0, 9.4680970621, 0.038387871728, 2.0103545142, 0.21117025112, 0.54771004707, 0.51328172114, 0.15268613795, 1.0, 0.8, 1.0, 1712.8415853, -0.0053934125305, 257.64812677, -0.040221581118, 58.458245853, -0.1793114499, 16.198367905, -0.46376317823, 5.0052600809, -0.44171422662, 0.58731856571, 1.0, 0.18764592253, 1.0, 13.571470233, -0.040072398852, 2.9257372874, -0.21807045028, 0.79927750754, -0.51294466049, 0.21954348034, 1.0, 1.0, 1.0, 2266.1767785, -0.0053431809926, 340.87010191, -0.03989003923, 77.363135167, -0.17853911985, 21.47964494, -0.46427684959, 6.6589433124, -0.44309745172, 0.80975975668, 1.0, 0.25530772234, 1.0, 17.721504317, 0.043394573193, 3.863550544, 0.23094120765, 1.0480920883, 0.51375311064, 0.27641544411, 1.0, 1.2, 1.0, 2894.832599, -0.0053408255515, 435.4193912, -0.039904258866, 98.843328866, -0.17912768038, 27.485198001, -0.46758090825, 8.5405498171, -0.4465313102, 1.0654578038, 1.0, 0.33247346748, 1.0, 22.696633924, -0.045212874436, 4.9872339257, -0.23754317067, 1.3491613954, -0.51287353587, 0.34829881977, 1.0, 1.4, 1.0, 3598.9736625, -0.0053259297003, 541.32073112, -0.039817417969, 122.90450062, -0.17914358188, 34.216617022, -0.46893582977, 10.650584124, -0.44782537577, 1.354595396, 1.0, 0.41919362639, 1.0, 28.424053785, -0.046031944795, 6.2822510953, -0.23993183041, 1.6978715079, -0.50871724964, 0.43300700172, 1.0, 1.888, 1.0, 4098.2003908, -0.0058535911879, 616.49374031, -0.043647161872, 139.96644001, -0.19431465884, 39.073441051, -0.48685065731, 11.929847205, -0.41881705137, 20.65996603, 0.085949689854, 1.9838860978, -0.56359144041, 0.64836323942, -0.51954009048, 0.052443967404, 1.0, 0.028048160742, 1.0, 75.401862017, 0.0154353625324, 17.274818978, 0.099738293184, 5.1842347425, 0.312095939659, 1.6601211973, 0.492956748074, 0.51232528958, 0.32420398318, 0.052, 1.0, 0.131, 1.0, 4953.8339196, -0.0057778967498, 745.18044154, -0.043124761082, 169.21604972, -0.19268216987, 47.300672019, -0.48641439116, 14.461336973, -0.42550894077, 24.768174789, 0.087956969984, 2.4940945349, -0.55165058128, 0.87807584533, -0.53443294833, 0.087212782497, 1.0, 0.03359929378, 1.0, 98.053010494, -0.014480564601, 22.586932277, -0.095495750787, 6.8391509842, -0.30787672651, 2.2332843818, -0.49936292886, 0.71606599387, -0.31503476213, 0.18914796195, 1.0, 0.053768755187, 1.0, 0.101, 1.0, 5887.572703, 0.0013483347987, 885.61225996, 0.010071576809, 201.13604899, 0.045132454056, 56.284974674, 0.11461268043, 17.229551243, 0.10159608943, 29.340249922, 0.069347454208, 3.043963042, -0.42528117679, 1.1285539518, -0.4144983221, 0.1423417516, 1.0, 0.054400192313, 1.0, 145.11918809, 0.0063963373134, 33.717894833, 0.044189359965, 10.369863083, 0.15581575993, 3.5135616036, 0.28635286951, 1.1980050273, 0.22921423248, 0.26583005913, 1.0, 0.071003361994, 1.0, 0.3, 1.0, 6903.7118686, 0.0013373962995, 1038.4346419, 0.0099966546241, 235.8758148, 0.044910165101, 66.069385169, 0.1146363854, 20.247945761, 0.10280063858, 34.35348173, 0.07083728501, 3.6370788192, -0.43028836252, 1.4002048599, -0.41382774969, 0.20484414805, 1.0, 0.077994095468, 1.0, 179.83907373, 0.0061916656462, 41.907258846, 0.043399431982, 12.955294367, 0.15632019351, 4.4383267393, 0.29419996982, 1.5462247904, 0.23536823814, 0.35607612302, 1.0, 0.10008513762, 1.0, 0.35, 1.0, 8002.4795106, 0.0057503489302, 1203.681359, 0.043007628959, 273.44227031, 0.19363986252, 76.655541517, 0.49651693399, 23.516927435, 0.44983262479, 39.791683439, 0.095188129789, 4.2770343323, -0.57649840368, 1.6940256888, -0.54239583865, 0.27567674644, 1.0, 0.10495590099, 1.0, 219.50755823, 0.0092100565257, 51.27415503, 0.065409765745, 15.921595892, 0.24033730279, 5.5069913481, 0.46318321788, 1.9537719426, 0.37392563382, 0.47803397932, 1.0, 0.13657952621, 1.0, 0.45, 1.0, 9184.930301, -0.0022294387756, 1381.5105503, -0.016683029937, 313.8714758, -0.075262436116, 88.053870623, -0.19376827038, 27.039914905, -0.17718020803, 45.648731303, -0.10736062573, 4.9664522326, 0.65066293018, 2.0116242047, 0.59712155354, 0.35661077013, 1.0, 0.13507221477, 1.0, 261.98233439, -0.0092729929822, 61.306894736, -0.066547669241, 19.103729887, -0.24828595903, 6.6567720378, -0.48703847402, 2.3959635161, -0.39337850312, 0.61776161679, 1.0, 0.16993376871, 1.0, 0.55, 1.0, 10449.827566, 0.0019708362484, 1571.7365221, 0.014754727977, 357.12065523, 0.066679112875, 100.25185935, 0.17228924084, 30.812727554, 0.158837861, 51.923789434, -0.10009298909, 5.7045760975, 0.60841752753, 2.3508376809, 0.54352153355, 0.44605124672, 1.0, 0.1684885619, 1.0, 307.66790569, -0.0087801484118, 72.102015515, -0.063563355471, 22.532680262, -0.24016428276, 7.8991765444, -0.47798866557, 2.8767268321, -0.38515850005, 0.77459363955, 1.0, 0.21037699698, 1.0, 0.65, 1.0, 11797.119765, 0.0020214479973, 1774.3522753, 0.015139852688, 403.18875733, 0.068525400873, 113.24933999, 0.17762929207, 34.835298193, 0.16496495001, 58.614775042, -0.10343394, 6.4922045078, 0.63133365899, 2.7117014403, 0.54887572301, 0.54412974538, 1.0, 0.20517411136, 1.0, 356.28707256, -0.0087321783271, 83.593132866, -0.063680317444, 26.186704029, -0.24311906886, 9.2257275925, -0.48956069653, 3.3922754954, -0.3922919004, 0.9474053401, 1.0, 0.25659135062, 1.0, 0.696, 1.0] } #| The def2-SVP basis set as a `Basis` record. def basis_def2svp() -> Basis { return basis_of(basis_def2svp_shells_flat(), basis_def2svp_prims_flat()) } #| The Cartesian and spherical AO counts of one atom of each element, `1` to `18`, #| as the generator counted them. def basis_def2svp_nao() -> Arr { return [5, 5, 5, 5, 9, 9, 9, 9, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 16, 15, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18] } test "the def2-SVP table covers H through Ar, each element's shells in one run" { btdef2svp_b = basis_def2svp() assert_near(len(btdef2svp_b.shells), BASIS_DEF2SVP_NSHELL, 0.0) assert_near(len(btdef2svp_b.prims), BASIS_DEF2SVP_NPRIM, 0.0) assert_near(basis_check(btdef2svp_b), 0.0, 0.0) btdef2svp_n = basis_rows(basis_def2svp_nao(), BS_NAO_LEN) for btdef2svp_z to len(btdef2svp_n) { btdef2svp_k = basis_nao(btdef2svp_b, btdef2svp_z + 1) assert_near(btdef2svp_k[0], btdef2svp_n[btdef2svp_z, 0], 0.0) assert_near(btdef2svp_k[1], btdef2svp_n[btdef2svp_z, 1], 0.0) } }