{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# `BasisSet` class tutorial\n", "\n", "`BasisSet` class provides a handy abstraction for storing and manipulating orbitals [basis sets](https://en.wikipedia.org/wiki/Basis_set_%28chemistry%29) used in quantum chemistry.\n", "\n", "## Quick overview\n", "\n", "The `BasisSet` requires some basic information\n", "\n", "- ``name``: name of the basis set as string, \n", "- ``element``: symbol or name of the element, \n", "- ``functions``: actual functions in terms of exponents and contraction coeffcients.\n", "\n", "\n", "Internally the ``functions`` attribute is a dictionary with shell labels `s`, `p`, `d`, etc. as keys. A nested dictionary for each shell stores a [numpy array] array with exponents under key ``e`` and a list of contracted functions where each item is a [numpy array] with a custom `dtype` storing exponent indices (`idx`) and contraction coefficients (`cc`) of the functions. As an example consider the following structure:\n", "\n", " {'s' : {'e' : numpy.array([exp0, exp1, exp2, ...]),\n", " 'cf' : [\n", " numpy.array([(i00, c00), (i01, c01), (i02, c02) ...], dtype=[('idx', ' [3s,2p,1d]\n", "! BERYLLIUM (9s,4p,1d) -> [3s,2p,1d]\n", "s, BE , 2940.0000000, 441.2000000, 100.5000000, 28.4300000, 9.1690000, 3.1960000, 1.1590000, 0.1811000, 0.0589000\n", "c, 1.8, 0.0006800, 0.0052360, 0.0266060, 0.0999930, 0.2697020, 0.4514690, 0.2950740, 0.0125870\n", "c, 1.8, -0.0001230, -0.0009660, -0.0048310, -0.0193140, -0.0532800, -0.1207230, -0.1334350, 0.5307670\n", "c, 9.9, 1\n", "p, BE , 3.6190000, 0.7110000, 0.1951000, 0.0601800\n", "c, 1.3, 0.0291110, 0.1693650, 0.5134580\n", "c, 4.4, 1\n", "d, BE , 0.2380000\n", "c, 1.1, 1\n", "}'''" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from chemtools.basisset import BasisSet, merge" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construct a `BasisSet` instance from string" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "pvdz = BasisSet.from_str(mpstr, fmt='molpro', name='cc-pvdz')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 2940.0000000000 0.00068000 -0.00012300\n", " 2 441.2000000000 0.00523600 -0.00096600\n", " 3 100.5000000000 0.02660600 -0.00483100\n", " 4 28.4300000000 0.09999300 -0.01931400\n", " 5 9.1690000000 0.26970200 -0.05328000\n", " 6 3.1960000000 0.45146900 -0.12072300\n", " 7 1.1590000000 0.29507400 -0.13343500\n", " 8 0.1811000000 0.01258700 0.53076700\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 3.6190000000 0.02911100\n", " 2 0.7110000000 0.16936500\n", " 3 0.1951000000 0.51345800\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", "\n" ] } ], "source": [ "print(pvdz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *cc-pvdz* basis for Be in Gaussian format" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "gaustr = '''****\n", "Be 0 \n", "S 8 1.00\n", " 2940.0000000 0.0006800 \n", " 441.2000000 0.0052360 \n", " 100.5000000 0.0266060 \n", " 28.4300000 0.0999930 \n", " 9.1690000 0.2697020 \n", " 3.1960000 0.4514690 \n", " 1.1590000 0.2950740 \n", " 0.1811000 0.0125870 \n", "S 8 1.00\n", " 2940.0000000 -0.0001230 \n", " 441.2000000 -0.0009660 \n", " 100.5000000 -0.0048310 \n", " 28.4300000 -0.0193140 \n", " 9.1690000 -0.0532800 \n", " 3.1960000 -0.1207230 \n", " 1.1590000 -0.1334350 \n", " 0.1811000 0.5307670 \n", "S 1 1.00\n", " 0.0589000 1.0000000 \n", "P 3 1.00\n", " 3.6190000 0.0291110 \n", " 0.7110000 0.1693650 \n", " 0.1951000 0.5134580 \n", "P 1 1.00\n", " 0.0601800 1.0000000 \n", "D 1 1.00\n", " 0.2380000 1.0000000 \n", "****'''" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "gaupvdz = BasisSet.from_str(gaustr, fmt='gaussian', name='cc-pvdz')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 2940.0000000000 0.00068000 -0.00012300\n", " 2 441.2000000000 0.00523600 -0.00096600\n", " 3 100.5000000000 0.02660600 -0.00483100\n", " 4 28.4300000000 0.09999300 -0.01931400\n", " 5 9.1690000000 0.26970200 -0.05328000\n", " 6 3.1960000000 0.45146900 -0.12072300\n", " 7 1.1590000000 0.29507400 -0.13343500\n", " 8 0.1811000000 0.01258700 0.53076700\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 3.6190000000 0.02911100\n", " 2 0.7110000000 0.16936500\n", " 3 0.1951000000 0.51345800\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", "\n" ] } ], "source": [ "print(gaupvdz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *cc-pvdz* for Be in Gamess(US) format" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "gamstr = '''$DATA\n", "BERYLLIUM\n", "S 8\n", " 1 2940.0000000 0.0006800 \n", " 2 441.2000000 0.0052360 \n", " 3 100.5000000 0.0266060 \n", " 4 28.4300000 0.0999930 \n", " 5 9.1690000 0.2697020 \n", " 6 3.1960000 0.4514690 \n", " 7 1.1590000 0.2950740 \n", " 8 0.1811000 0.0125870 \n", "S 8\n", " 1 2940.0000000 -0.0001230 \n", " 2 441.2000000 -0.0009660 \n", " 3 100.5000000 -0.0048310 \n", " 4 28.4300000 -0.0193140 \n", " 5 9.1690000 -0.0532800 \n", " 6 3.1960000 -0.1207230 \n", " 7 1.1590000 -0.1334350 \n", " 8 0.1811000 0.5307670 \n", "S 1\n", " 1 0.0589000 1.0000000 \n", "P 3\n", " 1 3.6190000 0.0291110 \n", " 2 0.7110000 0.1693650 \n", " 3 0.1951000 0.5134580 \n", "P 1\n", " 1 0.0601800 1.0000000 \n", "D 1\n", " 1 0.2380000 1.0000000 \n", "$END\n", "'''" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "gampvdz = BasisSet.from_str(gamstr, fmt='gamessus', name='cc-pvdz') " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 2940.0000000000 0.00068000 -0.00012300\n", " 2 441.2000000000 0.00523600 -0.00096600\n", " 3 100.5000000000 0.02660600 -0.00483100\n", " 4 28.4300000000 0.09999300 -0.01931400\n", " 5 9.1690000000 0.26970200 -0.05328000\n", " 6 3.1960000000 0.45146900 -0.12072300\n", " 7 1.1590000000 0.29507400 -0.13343500\n", " 8 0.1811000000 0.01258700 0.53076700\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 3.6190000000 0.02911100\n", " 2 0.7110000000 0.16936500\n", " 3 0.1951000000 0.51345800\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", "\n" ] } ], "source": [ "print(gampvdz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Basis sets for multiple elements\n", "\n", "If basis sets for multiple elements are given in the format compatible with [EMSL BSE](https://bse.pnl.gov/bse/portal) the parser returns a dictionary with element symbols as keys and `BasisSet` objects as values. For example below is the cc-pCVDZ basis set string in molpro format for Be, Mg, Ca as downloaded from EMSL. Remaining Gamess(US) and Gaussian formats can be parsed analogously. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "multi = '''\n", "basis={\n", "!\n", "! BERYLLIUM (10s,5p,1d) -> [4s,3p,1d]\n", "! BERYLLIUM (9s,4p,1d) -> [3s,2p,1d]\n", "! BERYLLIUM (1s,1p)\n", "s, BE , 2940.0000000, 441.2000000, 100.5000000, 28.4300000, 9.1690000, 3.1960000, 1.1590000, 0.1811000, 0.0589000, 1.8600000\n", "c, 1.8, 0.0006800, 0.0052360, 0.0266060, 0.0999930, 0.2697020, 0.4514690, 0.2950740, 0.0125870\n", "c, 1.8, -0.0001230, -0.0009660, -0.0048310, -0.0193140, -0.0532800, -0.1207230, -0.1334350, 0.5307670\n", "c, 9.9, 1\n", "c, 10.10, 1\n", "p, BE , 3.6190000, 0.7110000, 0.1951000, 0.0601800, 6.1630000\n", "c, 1.3, 0.0291110, 0.1693650, 0.5134580\n", "c, 4.4, 1\n", "c, 5.5, 1\n", "d, BE , 0.2380000\n", "c, 1.1, 1\n", "! MAGNESIUM (13s,9p,2d) -> [5s,4p,2d]\n", "! MAGNESIUM (12s,8p,1d) -> [4s,3p,1d]\n", "! MAGNESIUM (1s,1p,1d)\n", "s, MG , 47390.0000000, 7108.0000000, 1618.0000000, 458.4000000, 149.3000000, 53.5900000, 20.7000000, 8.3840000, 2.5420000, 0.8787000, 0.1077000, 0.0399900, 3.4220000\n", "c, 1.11, 0.346023D-03, 0.268077D-02, 0.138367D-01, 0.551767D-01, 0.169660D+00, 0.364703D+00, 0.406856D+00, 0.135089D+00, 0.490884D-02, 0.286460D-03, 0.264590D-04\n", "c, 1.11, -0.877839D-04, -0.674725D-03, -0.355603D-02, -0.142154D-01, -0.476748D-01, -0.114892D+00, -0.200676D+00, -0.341224D-01, 0.570454D+00, 0.542309D+00, 0.218128D-01\n", "c, 1.11, 0.169628D-04, 0.129865D-03, 0.688831D-03, 0.273533D-02, 0.931224D-02, 0.223265D-01, 0.411195D-01, 0.545642D-02, -0.134012D+00, -0.256176D+00, 0.605856D+00\n", "c, 12.12, 1\n", "c, 13.13, 1\n", "p, MG , 179.9000000, 42.1400000, 13.1300000, 4.6280000, 1.6700000, 0.5857000, 0.1311000, 0.0411200, 8.2790000\n", "c, 1.7, 0.538161D-02, 0.392418D-01, 0.157445D+00, 0.358535D+00, 0.457226D+00, 0.215918D+00, 0.664948D-02\n", "c, 1.7, -0.865948D-03, -0.615978D-02, -0.261519D-01, -0.570647D-01, -0.873906D-01, -0.122990D-01, 0.502085D+00\n", "c, 8.8, 1\n", "c, 9.9, 1\n", "d, MG , 0.1870000, 3.7040000\n", "c, 1.1, 1\n", "c, 2.2, 1\n", "! CALCIUM (15s,12p,6d) -> [6s,5p,3d]\n", "! CALCIUM (14s,11p,5d) -> [5s,4p,2d]\n", "! CALCIUM (1s,1p,1d)\n", "s, CA , 190000.7000000, 28481.4600000, 6482.7010000, 1835.8910000, 598.7243000, 215.8841000, 84.0124200, 34.2248800, 10.0249700, 4.0559200, 1.0202610, 0.4268650, 0.0633470, 0.0263010, 1.1143000\n", "c, 1.13, 0.00022145, 0.00171830, 0.00892348, 0.03630183, 0.11762223, 0.28604352, 0.42260708, 0.25774366, 0.02391893, -0.00495218, 0.00171779, -0.00089209, 0.00024510\n", "c, 1.13, -0.00006453, -0.00049662, -0.00262826, -0.01066845, -0.03713509, -0.09804284, -0.20342692, -0.15244655, 0.48279406, 0.62923839, 0.06164842, -0.01479971, 0.00361089\n", "c, 1.13, 0.00002223, 0.00017170, 0.00090452, 0.00370343, 0.01283750, 0.03475459, 0.07303491, 0.06100083, -0.24292928, -0.48708500, 0.56502804, 0.65574386, 0.02672894\n", "c, 1.13, 0.00000531, 0.00004111, 0.00021568, 0.00088827, 0.00305813, 0.00837608, 0.01741056, 0.01515453, -0.06207919, -0.12611803, 0.17360694, 0.37822943, -0.65964698\n", "c, 14.14, 1\n", "c, 15.15, 1\n", "p, CA , 1072.0430000, 253.8439000, 81.3162600, 30.2418300, 12.1011000, 5.0225540, 1.9092200, 0.7713040, 0.3005700, 0.0766490, 0.0277720, 1.5101000\n", "c, 1.10, 0.00198166, 0.01612944, 0.07657851, 0.23269594, 0.42445210, 0.37326402, 0.07868530, -0.00599927, 0.00264257, -0.00085694\n", "c, 1.10, -0.00064891, -0.00527907, -0.02581131, -0.08062892, -0.15846552, -0.12816816, 0.25610103, 0.58724068, 0.30372561, 0.01416451\n", "c, 1.10, 0.00013595, 0.00109420, 0.00542680, 0.01674718, 0.03389863, 0.02531183, -0.05895713, -0.15876120, -0.08554523, 0.54464665\n", "c, 11.11, 1\n", "c, 12.12, 1\n", "d, CA , 10.3182000, 2.5924200, 0.7617000, 0.2083800, 0.0537000, 1.3743000\n", "c, 1.4, 0.03284900, 0.14819200, 0.31092100, 0.45219500\n", "c, 5.5, 1\n", "c, 6.6, 1\n", "}'''" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It can be parsed analogously to a basis for single element using `from_string` method or `from_file` when the basis is stored in a text file" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "bsdict = BasisSet.from_str(multi, name='cc-pCVDZ', fmt='molpro')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The parsed basis set can be accessed by element symbols" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['Be', 'Mg', 'Ca'])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bsdict.keys()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To test the parsed basis we can print some of the properties of the basis sets" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Be cc-pCVDZ Be (10s5p1d) -> [4s3p1d] : {8 8 1 1/3 1 1/1}\n", "Mg cc-pCVDZ Mg (13s9p2d) -> [5s4p2d] : {11 11 11 1 1/7 7 1 1/1 1}\n", "Ca cc-pCVDZ Ca (15s12p6d) -> [6s5p3d] : {13 13 13 13 1 1/10 10 10 1 1/4 1 1}\n" ] } ], "source": [ "for symbol, bs in bsdict.items():\n", " print(symbol, bs.name, bs.element, bs.contraction_scheme())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initialization of `BasisSet` from various sequences \n", "\n", "The BasisSet exponents can be generated from following sequences:\n", "\n", "- even tempered\n", "- well tempered\n", "- legendre expansion\n", "\n", "To generate the exponents `from_sequence` classmethod is used. The arguments that have to be specified are\n", "\n", "- `formula` describing the sequence, one of *eventemp*, *welltemp*, *legendre*, can be a single value or a list of values with the same length as `funs`\n", "- `name` of the basis set\n", "- `element`\n", "- `funs` a list of 4-tuples, where the tuple elements are *shell*, *sequence name*, *number of functions*, *parameters*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### even tempered" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "10 `s` functions with $\\alpha=0.5$ and $\\beta=2.0$" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = my basis\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Uncontracted:\n", " 1 256.0000000000 1.00000000\n", " 2 128.0000000000 1.00000000\n", " 3 64.0000000000 1.00000000\n", " 4 32.0000000000 1.00000000\n", " 5 16.0000000000 1.00000000\n", " 6 8.0000000000 1.00000000\n", " 7 4.0000000000 1.00000000\n", " 8 2.0000000000 1.00000000\n", " 9 1.0000000000 1.00000000\n", " 10 0.5000000000 1.00000000\n", "\n" ] } ], "source": [ "et = BasisSet.from_sequence(name='my basis', element='Be', funs=[('s', 'et', 10, (0.5, 2.0))])\n", "print(et)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "8 *s* functions with $\\alpha=0.8$, $\\beta=2.5$ and 6 *p* functions with $\\alpha=0.2$, $\\beta=3.0$" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = my basis\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Uncontracted:\n", " 1 256.0000000000 1.00000000\n", " 2 128.0000000000 1.00000000\n", " 3 64.0000000000 1.00000000\n", " 4 32.0000000000 1.00000000\n", " 5 16.0000000000 1.00000000\n", " 6 8.0000000000 1.00000000\n", " 7 4.0000000000 1.00000000\n", " 8 2.0000000000 1.00000000\n", " 9 1.0000000000 1.00000000\n", " 10 0.5000000000 1.00000000\n", "\n" ] } ], "source": [ "et2 = BasisSet.from_sequence(name='my basis', element='Be',\n", " funs=[('s', 'et', 8, (0.8, 2.5)), ('p', 'et', 6, (0.2, 3.0))])\n", "print(et)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### well tempered " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = my basis\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================p shell=================\n", "Uncontracted:\n", " 1 30.4000000000 1.00000000\n", " 2 13.7851550240 1.00000000\n", " 3 6.2130589876 1.00000000\n", " 4 2.7834955070 1.00000000\n", " 5 1.2408224685 1.00000000\n", " 6 0.5524120339 1.00000000\n", "\n" ] } ], "source": [ "wt = BasisSet.from_sequence(name='my basis', element='Be', funs=[('p', 'wt', 6, (0.5, 2.0, 0.9, 1.2))])\n", "print(wt)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### legendre" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = my basis\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 12.1824939607 1.00000000\n", " 2 6.8796751109 1.00000000\n", " 3 3.8850772086 1.00000000\n", " 4 2.1939735051 1.00000000\n", " 5 1.2389765975 1.00000000\n", " 6 0.6996725374 1.00000000\n", " 7 0.3951177613 1.00000000\n", " 8 0.2231301601 1.00000000\n", "\n" ] } ], "source": [ "leg = BasisSet.from_sequence(name='my basis', element='Be', funs=[('d', 'le', 8, (0.5, 2.0))])\n", "print(leg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### direct specification of exponents" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = my exponents\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Uncontracted:\n", " 1 10.0000000000 1.00000000\n", " 2 2.0000000000 1.00000000\n", " 3 0.5000000000 1.00000000\n", " 4 0.1000000000 1.00000000\n", " 5 0.0100000000 1.00000000\n", "\n" ] } ], "source": [ "de = BasisSet.from_sequence(name='my exponents', element='Be', funs=[('s', 'exp', 5, (0.01, 0.1, 0.5, 2.0, 10.0))])\n", "print(de)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### mixed\n", "\n", "In this example a basis set is created by taking:\n", "\n", "* 6 *s* functions generated from an even tempered sequence\n", "* 4 *p* functions generated from a well tempered sequence\n", "* 4 *d* functions generated from a legendre sequence" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = composite\n", "Element = He\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Uncontracted:\n", " 1 512.0000000000 1.00000000\n", " 2 128.0000000000 1.00000000\n", " 3 32.0000000000 1.00000000\n", " 4 8.0000000000 1.00000000\n", " 5 2.0000000000 1.00000000\n", " 6 0.5000000000 1.00000000\n", "\n", "================p shell=================\n", "Uncontracted:\n", " 1 43.7400000000 1.00000000\n", " 2 12.6882653049 1.00000000\n", " 3 3.6401946084 1.00000000\n", " 4 1.0364144910 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 33.1154519587 1.00000000\n", " 2 6.2547009519 1.00000000\n", " 3 1.1813604129 1.00000000\n", " 4 0.2231301601 1.00000000\n", "\n" ] } ], "source": [ "basis = BasisSet.from_sequence(name='composite', element='He',\n", " funs=[('s', 'et', 6, (0.5, 4.0)),\n", " ('p', 'wt', 4, (0.9, 3.0, 0.8, 1.2)),\n", " ('d', 'le', 4, (1.0, 2.5))])\n", "print(basis)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conversion to formats of different quantum chemistry programs \n", "\n", "The following basis set formats are supported:\n", "\n", "- [Aces II](http://www.qtp.ufl.edu/ACES/)/[Cfour](http://www.cfour.de/)\n", "- [Dalton](http://daltonprogram.org/)\n", "- [Gamess(US)](http://www.msg.ameslab.gov/gamess/)\n", "- [Gaussian](http://www.gaussian.com/)\n", "- [Molpro](https://www.molpro.net/)\n", "- [NWChem](http://www.nwchem-sw.org/index.php/Main_Page)\n", "\n", "In addition a converter to [LaTeX](https://www.latex-project.org/) is also available.\n", "\n", "If you would like some other formats to be included please consider submitting an [issue](https://bitbucket.org/lukaszmentel/chemtools/issues/new) describing the request. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gaussian format" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "****\n", "Be 0\n", "S 8 1.00\n", " 2940.0000000000 0.00068000\n", " 441.2000000000 0.00523600\n", " 100.5000000000 0.02660600\n", " 28.4300000000 0.09999300\n", " 9.1690000000 0.26970200\n", " 3.1960000000 0.45146900\n", " 1.1590000000 0.29507400\n", " 0.1811000000 0.01258700\n", "S 8 1.00\n", " 2940.0000000000 -0.00012300\n", " 441.2000000000 -0.00096600\n", " 100.5000000000 -0.00483100\n", " 28.4300000000 -0.01931400\n", " 9.1690000000 -0.05328000\n", " 3.1960000000 -0.12072300\n", " 1.1590000000 -0.13343500\n", " 0.1811000000 0.53076700\n", "S 1 1.00\n", " 0.0589000000 1.00000000\n", "P 3 1.00\n", " 3.6190000000 0.02911100\n", " 0.7110000000 0.16936500\n", " 0.1951000000 0.51345800\n", "P 1 1.00\n", " 0.0601800000 1.00000000\n", "D 1 1.00\n", " 0.2380000000 1.00000000\n", "****\n", "\n" ] } ], "source": [ "print(pvdz.to_gaussian())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### NwChem format" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BASIS \"ao basis\" PRINT\n", "Be s\n", " 2940.0000000000 0.00068000 -0.00012300\n", " 441.2000000000 0.00523600 -0.00096600\n", " 100.5000000000 0.02660600 -0.00483100\n", " 28.4300000000 0.09999300 -0.01931400\n", " 9.1690000000 0.26970200 -0.05328000\n", " 3.1960000000 0.45146900 -0.12072300\n", " 1.1590000000 0.29507400 -0.13343500\n", " 0.1811000000 0.01258700 0.53076700\n", "Be s\n", " 0.0589000000 1.00000000\n", "Be p\n", " 3.6190000000 0.02911100\n", " 0.7110000000 0.16936500\n", " 0.1951000000 0.51345800\n", "Be p\n", " 0.0601800000 1.00000000\n", "Be d\n", " 0.2380000000 1.00000000\n", "END\n", "\n" ] } ], "source": [ "print(pvdz.to_nwchem())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cfour/AcesII format" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Be:cc-pvdz\n", "my comment\n", "\n", " 3\n", " 0 1 2\n", " 3 2 1\n", " 9 4 1\n", "\n", " 2940.00000000 441.20000000 100.50000000 28.43000000 9.16900000\n", " 3.19600000 1.15900000 0.18110000 0.05890000\n", "\n", " 0.00068000 -0.00012300 0.00000000\n", " 0.00523600 -0.00096600 0.00000000\n", " 0.02660600 -0.00483100 0.00000000\n", " 0.09999300 -0.01931400 0.00000000\n", " 0.26970200 -0.05328000 0.00000000\n", " 0.45146900 -0.12072300 0.00000000\n", " 0.29507400 -0.13343500 0.00000000\n", " 0.01258700 0.53076700 0.00000000\n", " 0.00000000 0.00000000 1.00000000\n", "\n", " 3.61900000 0.71100000 0.19510000 0.06018000\n", "\n", " 0.02911100 0.00000000\n", " 0.16936500 0.00000000\n", " 0.51345800 0.00000000\n", " 0.00000000 1.00000000\n", "\n", " 0.23800000\n", "\n", " 1.00000000\n", "\n", "\n" ] } ], "source": [ "print(pvdz.to_cfour(comment=\"my comment\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dalton format" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "! cc-pvdz\n", "! s functions\n", "H 9 3\n", " 2940.0000000000 0.0006800000 -0.0001230000 0.0000000000\n", " 441.2000000000 0.0052360000 -0.0009660000 0.0000000000\n", " 100.5000000000 0.0266060000 -0.0048310000 0.0000000000\n", " 28.4300000000 0.0999930000 -0.0193140000 0.0000000000\n", " 9.1690000000 0.2697020000 -0.0532800000 0.0000000000\n", " 3.1960000000 0.4514690000 -0.1207230000 0.0000000000\n", " 1.1590000000 0.2950740000 -0.1334350000 0.0000000000\n", " 0.1811000000 0.0125870000 0.5307670000 0.0000000000\n", " 0.0589000000 0.0000000000 0.0000000000 1.0000000000\n", "! p functions\n", "H 4 2\n", " 3.6190000000 0.0291110000 0.0000000000\n", " 0.7110000000 0.1693650000 0.0000000000\n", " 0.1951000000 0.5134580000 0.0000000000\n", " 0.0601800000 0.0000000000 1.0000000000\n", "! d functions\n", "H 1 1\n", " 0.2380000000 1.0000000000\n", "\n" ] } ], "source": [ "print(pvdz.to_dalton())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gamess(US) format" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "S 8\n", " 1 2940.0000000000 0.00068000\n", " 2 441.2000000000 0.00523600\n", " 3 100.5000000000 0.02660600\n", " 4 28.4300000000 0.09999300\n", " 5 9.1690000000 0.26970200\n", " 6 3.1960000000 0.45146900\n", " 7 1.1590000000 0.29507400\n", " 8 0.1811000000 0.01258700\n", "S 8\n", " 1 2940.0000000000 -0.00012300\n", " 2 441.2000000000 -0.00096600\n", " 3 100.5000000000 -0.00483100\n", " 4 28.4300000000 -0.01931400\n", " 5 9.1690000000 -0.05328000\n", " 6 3.1960000000 -0.12072300\n", " 7 1.1590000000 -0.13343500\n", " 8 0.1811000000 0.53076700\n", "S 1\n", " 1 0.0589000000 1.00000000\n", "P 3\n", " 1 3.6190000000 0.02911100\n", " 2 0.7110000000 0.16936500\n", " 3 0.1951000000 0.51345800\n", "P 1\n", " 1 0.0601800000 1.00000000\n", "D 1\n", " 1 0.2380000000 1.00000000\n", "\n", "\n" ] } ], "source": [ "print(pvdz.to_gamessus())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Molpro format" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "basis={\n", "s, Be, 2940.0000000000, 441.2000000000, 100.5000000000, 28.4300000000, 9.1690000000, 3.1960000000, 1.1590000000, 0.1811000000, 0.0589000000\n", "c, 1.8, 0.00068000, 0.00523600, 0.02660600, 0.09999300, 0.26970200, 0.45146900, 0.29507400, 0.01258700\n", "c, 1.8, -0.00012300, -0.00096600, -0.00483100, -0.01931400, -0.05328000, -0.12072300, -0.13343500, 0.53076700\n", "c, 9.9, 1.00000000\n", "p, Be, 3.6190000000, 0.7110000000, 0.1951000000, 0.0601800000\n", "c, 1.3, 0.02911100, 0.16936500, 0.51345800\n", "c, 4.4, 1.00000000\n", "d, Be, 0.2380000000\n", "c, 1.1, 1.00000000\n", "}\n" ] } ], "source": [ "print(pvdz.to_molpro(withpars=True))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### LaTeX format" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\\begin{tabular}{rrrr}\n", "No. & \\multicolumn{1}{c}{Exponent} & \\multicolumn{2}{c}{Coefficients } \\\\ \n", "\\hline \n", "\\multicolumn{4}{c}{ s shell } \\\\ \\hline \n", " 1 & 2940.0000000000 & 0.00068000 & -0.00012300 \\\\ \n", " 2 & 441.2000000000 & 0.00523600 & -0.00096600 \\\\ \n", " 3 & 100.5000000000 & 0.02660600 & -0.00483100 \\\\ \n", " 4 & 28.4300000000 & 0.09999300 & -0.01931400 \\\\ \n", " 5 & 9.1690000000 & 0.26970200 & -0.05328000 \\\\ \n", " 6 & 3.1960000000 & 0.45146900 & -0.12072300 \\\\ \n", " 7 & 1.1590000000 & 0.29507400 & -0.13343500 \\\\ \n", " 8 & 0.1811000000 & 0.01258700 & 0.53076700 \\\\ \n", " 9 & 0.0589000000 & \\\\ \n", "\\hline \n", "\\multicolumn{4}{c}{ p shell } \\\\ \\hline \n", " 1 & 3.6190000000 & 0.02911100 \\\\ \n", " 2 & 0.7110000000 & 0.16936500 \\\\ \n", " 3 & 0.1951000000 & 0.51345800 \\\\ \n", " 4 & 0.0601800000 & \\\\ \n", "\\hline \n", "\\multicolumn{4}{c}{ d shell } \\\\ \\hline \n", " 1 & 0.2380000000 & \\\\ \n", "\\end{tabular}\n" ] } ], "source": [ "print(pvdz.to_latex())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Useful tools for working with `BasisSet` " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Attributes" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'cc-pvdz'" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.name" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Be'" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.element" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inspection methods describing the `BasisSet`" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'(9s4p1d) -> [3s2p1d] : {8 8 1/3 1/1}'" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.contraction_scheme()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'unknown'" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.contraction_type()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Number of contracted functions per shell" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[3, 2, 1]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.contractions_per_shell()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Contraction matrix for a given shell, where rows numbers correspond to the exponent indices and column contain the conntraction coefficients for each function." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 6.80000000e-04, -1.23000000e-04, 0.00000000e+00],\n", " [ 5.23600000e-03, -9.66000000e-04, 0.00000000e+00],\n", " [ 2.66060000e-02, -4.83100000e-03, 0.00000000e+00],\n", " [ 9.99930000e-02, -1.93140000e-02, 0.00000000e+00],\n", " [ 2.69702000e-01, -5.32800000e-02, 0.00000000e+00],\n", " [ 4.51469000e-01, -1.20723000e-01, 0.00000000e+00],\n", " [ 2.95074000e-01, -1.33435000e-01, 0.00000000e+00],\n", " [ 1.25870000e-02, 5.30767000e-01, 0.00000000e+00],\n", " [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.contraction_matrix('s')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.029111, 0. ],\n", " [ 0.169365, 0. ],\n", " [ 0.513458, 0. ],\n", " [ 0. , 1. ]])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.contraction_matrix('p')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculate the total number of functions in the basis set. By default the number is calculated assuming spherical harmonics, namely 5*d* functions, 7*f* functions, etc. " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "14" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.nf()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The number of functions assuming cartesian gaussians, namely 6*d* components, 10*f* components, etc., can be calcualted by passing ``spherical=False`` argument." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "15" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.nf(spherical=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculate the number of primitive functions assuming sphrical or cartesian gaussians." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "26" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.nprimitive()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "27" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.nprimitive(spherical=False)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[9, 4, 1]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.primitives_per_shell()" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[8, 8, 1], [3, 1], [1]]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.primitives_per_contraction()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to extract just the exponents you can use the `get_exponents` method, that by default returns a `dict` of exponents in each shell." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'d': array([ 0.238]),\n", " 'p': array([ 3.619 , 0.711 , 0.1951 , 0.06018]),\n", " 's': array([ 2.94000000e+03, 4.41200000e+02, 1.00500000e+02,\n", " 2.84300000e+01, 9.16900000e+00, 3.19600000e+00,\n", " 1.15900000e+00, 1.81100000e-01, 5.89000000e-02])}" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.get_exponents()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want all exponents in one array pass the `asdict=False` argument" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 2.94000000e+03, 4.41200000e+02, 1.00500000e+02,\n", " 2.84300000e+01, 9.16900000e+00, 3.61900000e+00,\n", " 3.19600000e+00, 1.15900000e+00, 7.11000000e-01,\n", " 2.38000000e-01, 1.95100000e-01, 1.81100000e-01,\n", " 6.01800000e-02, 5.89000000e-02])" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.get_exponents(asdict=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sorting\n", "\n", "Each shell of the `BasisSet` can be sorted with respect to the exponents, the default order is descending" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 2940.0000000000 0.00068000 -0.00012300\n", " 2 441.2000000000 0.00523600 -0.00096600\n", " 3 100.5000000000 0.02660600 -0.00483100\n", " 4 28.4300000000 0.09999300 -0.01931400\n", " 5 9.1690000000 0.26970200 -0.05328000\n", " 6 3.1960000000 0.45146900 -0.12072300\n", " 7 1.1590000000 0.29507400 -0.13343500\n", " 8 0.1811000000 0.01258700 0.53076700\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 3.6190000000 0.02911100\n", " 2 0.7110000000 0.16936500\n", " 3 0.1951000000 0.51345800\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", "\n" ] } ], "source": [ "pvdz.sort()\n", "print(pvdz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the basis set was already sorted so there is no difference but we can also sort in ascending order to see the result" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 0.1811000000 0.01258700 0.53076700\n", " 2 1.1590000000 0.29507400 -0.13343500\n", " 3 3.1960000000 0.45146900 -0.12072300\n", " 4 9.1690000000 0.26970200 -0.05328000\n", " 5 28.4300000000 0.09999300 -0.01931400\n", " 6 100.5000000000 0.02660600 -0.00483100\n", " 7 441.2000000000 0.00523600 -0.00096600\n", " 8 2940.0000000000 0.00068000 -0.00012300\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 0.1951000000 0.51345800\n", " 2 0.7110000000 0.16936500\n", " 3 3.6190000000 0.02911100\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", "\n" ] } ], "source": [ "pvdz.sort(reverse=True)\n", "print(pvdz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Normalization of the contraction coefficients\n", "\n", "To check if the contraction coefficients for each function are properly normalized to unity the ``normalized`` method can be called, which returns a list of tuples with the shell, contracted function index and the current normalization." ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('s', 0, 1.0013033713220225),\n", " ('s', 1, 0.23915929699104757),\n", " ('s', 2, 1.0),\n", " ('p', 0, 0.40825721905456636),\n", " ('p', 1, 1.0),\n", " ('d', 0, 1.0)]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.normalization()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To normalize the contracted functions simply call the ``normalize`` method" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "pvdz.normalize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "to verify we can call the check the normalization again" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('s', 0, 0.99999999999999978),\n", " ('s', 1, 1.0),\n", " ('s', 2, 1.0),\n", " ('p', 0, 1.0),\n", " ('p', 1, 1.0),\n", " ('d', 0, 1.0)]" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.normalization()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Uncontracting basis sets\n", "\n", "The basis sets can be easily uncontract by using the `uncontract` method. By default the basis set is uncontracted in-place but the `copy=True` can be specified to obtain an uncotracted copy of the basis set without altering the original." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Uncontracted:\n", " 1 0.0589000000 1.00000000\n", " 2 0.1811000000 1.00000000\n", " 3 1.1590000000 1.00000000\n", " 4 3.1960000000 1.00000000\n", " 5 9.1690000000 1.00000000\n", " 6 28.4300000000 1.00000000\n", " 7 100.5000000000 1.00000000\n", " 8 441.2000000000 1.00000000\n", " 9 2940.0000000000 1.00000000\n", "\n", "================p shell=================\n", "Uncontracted:\n", " 1 0.0601800000 1.00000000\n", " 2 0.1951000000 1.00000000\n", " 3 0.7110000000 1.00000000\n", " 4 3.6190000000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", "\n" ] } ], "source": [ "upvdz = pvdz.uncontract(copy=True)\n", "print(upvdz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Shell overlap\n", "\n", "To calculate the overlap matrix between the functions in a given shell you can use the `shell_overlap` method" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1. , -0.20056477, 0.17519428],\n", " [-0.20056477, 1. , 0.74780722],\n", " [ 0.17519428, 0.74780722, 1. ]])" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pvdz.shell_overlap('s')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Adding basis sets\n", "\n", "As an example diffuse functions will be added to the existing `BasisSet` object with cc-pVDZ basis producing the aug-cc-pVDZ basis. The agumented functions are first parsed from a string to a `BasisSet` object" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "augstr = '''! aug-cc-pVDZ\n", "\n", "basis={\n", "\n", "s,Be,1.790000E-02;\n", "c,1.1,1.000000E+00;\n", "\n", "p,Be,1.110000E-02;\n", "c,1.1,1.000000E+00;\n", "\n", "d,Be,7.220000E-02;\n", "c,1.1,1.000000E+00;\n", "\n", "}'''" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "aug = BasisSet.from_str(augstr, fmt='molpro', name='aug functions')" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = aug functions\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Uncontracted:\n", " 1 0.0179000000 1.00000000\n", "\n", "================p shell=================\n", "Uncontracted:\n", " 1 0.0111000000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.0722000000 1.00000000\n", "\n" ] } ], "source": [ "print(aug)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Addition of two `BasisSet` object can be done simply by using the `+` operator. The functions from the second argument are then added to the first argument. The order of the arguments is important since remaining attributes (name, element, family) are copied from the first argument. In the example below the resulting `apvdz` object retained the `name` and `element` attributes from the first argument namely `pvdz` object. If the addition was done in reverse order (`aug + pvdz`) the `name` of the result would be *aug functions*." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 0.1811000000 0.01257881 1.08532618\n", " 2 1.1590000000 0.29488189 -0.27285136\n", " 3 3.1960000000 0.45117507 -0.24685753\n", " 4 9.1690000000 0.26952641 -0.10894833\n", " 5 28.4300000000 0.09992790 -0.03949377\n", " 6 100.5000000000 0.02658868 -0.00987855\n", " 7 441.2000000000 0.00523259 -0.00197530\n", " 8 2940.0000000000 0.00067956 -0.00025151\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", " 10 0.0179000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 0.1951000000 0.80359641\n", " 2 0.7110000000 0.26506765\n", " 3 3.6190000000 0.04556068\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", " 5 0.0111000000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", " 2 0.0722000000 1.00000000\n", "\n" ] } ], "source": [ "apvdz = pvdz + aug\n", "print(apvdz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Serialization \n", "\n", "Currenly there are two methods supported for serializing `BasisSet` objects: [JSON] and [pickle]. \n", "\n", "The default is chosen to be [JSON] since it provides more flexibility and is human readable.\n", "\n", "[JSON]: https://docs.python.org/3.6/library/json.html\n", "[pickle]: https://docs.python.org/3.6/library/pickle.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### JSON serialization\n", "\n", "To serialize a `BasisSet` to json there is a `to_json` method" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\n", " \"name\": \"cc-pvdz\",\n", " \"element\": \"Be\",\n", " \"family\": null,\n", " \"kind\": null,\n", " \"functions\": {\n", " \"s\": {\n", " \"e\": {\n", " \"data\": [\n", " 0.0589,\n", " 0.1811,\n", " 1.159,\n", " 3.196,\n", " 9.169,\n", " 28.43,\n", " 100.5,\n", " 441.2,\n", " 2940.0,\n", " 0.0179\n", " ],\n", " \"dtype\": \"float64\"\n", " },\n", " \"cf\": [\n", " {\n", " \"data\": [\n", " [\n", " 1,\n", " 0.01257880524232446\n", " ],\n", " [\n", " 2,\n", " 0.29488189227565326\n", " ],\n", " [\n", " 3,\n", " 0.45117507141868446\n", " ],\n", " [\n", " 4,\n", " 0.26952641069876787\n", " ],\n", " [\n", " 5,\n", " 0.0999278996262612\n", " ],\n", " [\n", " 6,\n", " 0.026588678182035797\n", " ],\n", " [\n", " 7,\n", " 0.005232591105808443\n", " ],\n", " [\n", " 8,\n", " 0.000679557286468629\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " },\n", " {\n", " \"data\": [\n", " [\n", " 1,\n", " 1.08532617991957\n", " ],\n", " [\n", " 2,\n", " -0.2728513619301272\n", " ],\n", " [\n", " 3,\n", " -0.2468575333779799\n", " ],\n", " [\n", " 4,\n", " -0.10894833112479618\n", " ],\n", " [\n", " 5,\n", " -0.039493770032738615\n", " ],\n", " [\n", " 6,\n", " -0.009878554573271215\n", " ],\n", " [\n", " 7,\n", " -0.001975301949447318\n", " ],\n", " [\n", " 8,\n", " -0.00025151360225882\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " },\n", " {\n", " \"data\": [\n", " [\n", " 0,\n", " 1.0\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " },\n", " {\n", " \"data\": [\n", " [\n", " 9,\n", " 1.0\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " }\n", " ]\n", " },\n", " \"p\": {\n", " \"e\": {\n", " \"data\": [\n", " 0.06018,\n", " 0.1951,\n", " 0.711,\n", " 3.619,\n", " 0.0111\n", " ],\n", " \"dtype\": \"float64\"\n", " },\n", " \"cf\": [\n", " {\n", " \"data\": [\n", " [\n", " 1,\n", " 0.8035964108391421\n", " ],\n", " [\n", " 2,\n", " 0.2650676513400732\n", " ],\n", " [\n", " 3,\n", " 0.04556067899601967\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " },\n", " {\n", " \"data\": [\n", " [\n", " 0,\n", " 1.0\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " },\n", " {\n", " \"data\": [\n", " [\n", " 4,\n", " 1.0\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " }\n", " ]\n", " },\n", " \"d\": {\n", " \"e\": {\n", " \"data\": [\n", " 0.238,\n", " 0.0722\n", " ],\n", " \"dtype\": \"float64\"\n", " },\n", " \"cf\": [\n", " {\n", " \"data\": [\n", " [\n", " 0,\n", " 1.0\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " },\n", " {\n", " \"data\": [\n", " [\n", " 1,\n", " 1.0\n", " ]\n", " ],\n", " \"dtype\": \"CFDTYPE\"\n", " }\n", " ]\n", " }\n", " },\n", " \"info\": null\n", "}\n" ] } ], "source": [ "jsonstr = apvdz.to_json(indent=4)\n", "print(jsonstr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`BasisSet` can also be created from a JSON string with the `from_json` method" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 0.1811000000 0.01257881 1.08532618\n", " 2 1.1590000000 0.29488189 -0.27285136\n", " 3 3.1960000000 0.45117507 -0.24685753\n", " 4 9.1690000000 0.26952641 -0.10894833\n", " 5 28.4300000000 0.09992790 -0.03949377\n", " 6 100.5000000000 0.02658868 -0.00987855\n", " 7 441.2000000000 0.00523259 -0.00197530\n", " 8 2940.0000000000 0.00067956 -0.00025151\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", " 10 0.0179000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 0.1951000000 0.80359641\n", " 2 0.7110000000 0.26506765\n", " 3 3.6190000000 0.04556068\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", " 5 0.0111000000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", " 2 0.0722000000 1.00000000\n", "\n" ] } ], "source": [ "bsfromjson = BasisSet.from_json(jsonstr)\n", "print(bsfromjson)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### pickle serialization\n", "\n", "Analogously to JSON, to serialize to the `BasisSet` to pickle there is a `to_pickle` method which accepts a file anem argument and writes a pickle file to disk." ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "apvdz.to_pickle('aug-cc-pvdz.bas')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The pickle can be read back into the ``BasisSet`` object by ``read_pickle`` method " ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name = cc-pvdz\n", "Element = Be\n", "Family = None\n", "Kind = None\n", "Functions:\n", "\n", "================s shell=================\n", "Contracted:\n", " 1 0.1811000000 0.01257881 1.08532618\n", " 2 1.1590000000 0.29488189 -0.27285136\n", " 3 3.1960000000 0.45117507 -0.24685753\n", " 4 9.1690000000 0.26952641 -0.10894833\n", " 5 28.4300000000 0.09992790 -0.03949377\n", " 6 100.5000000000 0.02658868 -0.00987855\n", " 7 441.2000000000 0.00523259 -0.00197530\n", " 8 2940.0000000000 0.00067956 -0.00025151\n", "Uncontracted:\n", " 9 0.0589000000 1.00000000\n", " 10 0.0179000000 1.00000000\n", "\n", "================p shell=================\n", "Contracted:\n", " 1 0.1951000000 0.80359641\n", " 2 0.7110000000 0.26506765\n", " 3 3.6190000000 0.04556068\n", "Uncontracted:\n", " 4 0.0601800000 1.00000000\n", " 5 0.0111000000 1.00000000\n", "\n", "================d shell=================\n", "Uncontracted:\n", " 1 0.2380000000 1.00000000\n", " 2 0.0722000000 1.00000000\n", "\n" ] } ], "source": [ "bsfrompickle = BasisSet.from_pickle('aug-cc-pvdz.bas')\n", "print(bsfrompickle)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Completeness profiles\n", "\n", "To visually inspect the quality of the basis set, completeness profiles can be calculated [[Chong 1995](http://www.dx.doi.org/10.1139/v95-011), [Lehtola 2014](http://www.dx.doi.org/10.1002/jcc.23802)]. The completeness profile calculation is also implemented in the [kruununhaka](http://www.chem.helsinki.fi/~manninen/kruununhaka/) basis set tool kit." ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import numpy as np\n", "import pandas as pd\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To specify the range of scanning exponents for the basis set we'll use the grid of equidistant points in the $\\log$ space" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "zetas = np.logspace(-10, 10, num=2000, endpoint=True, base=10.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `completeness_profile` method calculates the profile and returns a numpy array with profile values per shell \n", "stored in columns. For convenience we'll convert the numpy array to a `DataFrame`" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [], "source": [ "cp = pvdz.completeness_profile(zetas)\n", "df = pd.DataFrame(cp, columns=pvdz.functions.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can plot the profiles for each shell together" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n0WHixIkMHz6c1atXc/v2bSZPnkzLli1p3759uWUdOnSo8OcPkJKSgr5+6ZldOjo6JCcnV6r+o0eP\nAMjIyMDPz48VK1bIksoSjRs3pnHjf2aD5ebmEhoaSufOnYHiUVhra2vmzp3L8ePH0dPTY+LEibLy\nqiJGPgVBqBWCIu5QJJXyddcWlWv46DrEnwWnz0Fe/JdWnkdZj7j65GqtHfUEUFVUxdXQlT8S/3jl\ncRmtjeqzoH8bzsWlsuBwTNlvoNUYnEbB5R2Qeq8aIq5Zz3ML+GxzJAmp2QR/5kQb40retHmPycnJ\nsbC/DfqaKkzceYmsPPEcWOHdOnPmjCz5sbCwYNiwYXTt2rXc+g8fPkRdXR1jY2OaNWvGkiVLGD36\nn9k6enp6fPvtt5iamjJy5Ei0tLS4desWAD/88AM+Pj64urpiYWHBrFmzUFBQqNTmMM+fP+fw4cPM\nmjULJycnrKysmDdvHk2aNOHZs2ccOHCAmTNn4uLigqWlJcuWLSM+Pp5Tp07J3sPb2xsrKyv69u2L\ntrY2vXr1wtXVlbZt2+Ls7Exc3D8zDczNzfHx8cHCwgJfX18aNGjAoUOHXonr5b6NGTNG1jdNTU2U\nlJRQU1NDW1ubc+fOkZiYiL+/PxYWFjg5OTF79my2bdtGYWHx93hhYSF+fn5YWFgwcOBArKysuHr1\nquxcXl5edO3alSZNmuDt7U3r1q3Zs2cPz58/Jz09HR0dHYyNjXF3d2fr1q1YWVm9tqyycnJyUFYu\nvYu/srIyBQUFZT4mqrz6JaO9CxcupEuXLuXe9CghkUiYOnUqOTk5shHSrKwsgoOD0dLS4vvvv+ej\njz5i/PjxXLt2rdL9qgwx8ikIQo1LSM1m938TGNzWBJOGlbxjffEnUFAG20+rJrj3RHhCOFB7p9yW\n6GzSmYiECG6l3cKqYekf7AMcjbn+dwab/7pHK8P6DHQ0fvUNSkY/Ty2DvmurJ+gakFsgYfSPF4hJ\nyuD7EY60M69dG0jVBvXVlVgx2I4hm87hd/AGiwfa1HRIQiX0sehT4VHIF8XExGBtbV0FEZV29+5d\nTExMqFevnuxY69atSyVrL/Ly8sLLywtXV1fatWtHt27d6Nevn6zcyMio1PRITU1N8vLyyMrKIjk5\nGR8fn1LleXl5lZp6e+/ePQoLC2nVqpXsmI2NDTY2NkRHR1NUVIStra2sTFtbm6ZNmxIbG0uzZs0A\n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\nhBDl7v8BqXHWzThdeQwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.set_style('whitegrid')\n", "plt.figure(figsize=(16, 5))\n", "for shell in df.columns:\n", " c = df[shell].sum()/df[shell].size\n", " plt.plot(np.log10(zetas), df[shell], label='{} shell completeness {:8.4f}'.format(shell, c))\n", "plt.legend(loc='best', frameon=False, fontsize='14')\n", "plt.xlim(-4, 4)\n", "plt.ylim(0.0, 1.1)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or separately" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nNczBAwDADRw8eFC9evXSjz/+mHOdo6NjzlLN1xpVIl2eaLh79+76+uuvc66zs7PL+VJ6o5Eg/2Zv\nb69mzZpp7dq12rdvX67bRo8erYEDB+ZabvxmNWvWTLt37841x01mZqYmT56syMhIOTo6qmnTptq4\ncaP27NmTs43VatWkSZNkMpn0wAMP3PLj/9O5c+f066+/5lxOTU3V7NmzFRgYqOrVq1+1va+vr0JD\nQzVv3jzFxcXlyj9ixAgNGjRIWVlZkv7/Nb8yIqigX9f87i87O1t9+vTRe++9l2ubKyXGlZwvvPCC\nhg4dmjMySLq8RLiDg8NNHT834/7775eTk1Ou090sFotmzZql8uXLq06dOrf9GFcmy540aVKu669M\nrnxlJFZ+s8TExOjNN9/MdVpcRkaGJkyYoIoVK6pJkya3nRkAAFvACB4AAG6gdu3aCg8P1yeffKJT\np06pevXqOnXqlL799ltVqlQpZ2TFv/n6+qpDhw6aNWuWUlNTVbduXcXHx+vbb79VqVKlrpqsNy+v\nvPKKNm/erF69eqlXr14qV66c1qxZo9WrV6t79+45K1jdiqefflpLly5V37591bt3b/n6+mrx4sU6\nfPiwJk+enOvxIyIiFBERodKlS2v58uXatGmT+vfvf93ToG6Wg4ODhg8frj179sjX11c//fST4uLi\n9NVXX133Pq+99pr69u2rzp076/HHH5eXl5cWL16sXbt26eWXX1bJkiUl/f/8ObNnz9a5c+fUoUOH\nAn9d87u/iIgIffnllxo4cKCaNm2qtLQ0zZkzRy4uLurcubMkacCAAXrttdfUr18/tWnTRlarVfPn\nz1d6enquiaivFBsFsZpWyZIl9dRTT2n8+PGyWq267777tGzZMm3btk2ffvpprkLzVh+3WrVq6t+/\nvyZPnqzU1FQ1a9ZMW7du1aJFixQREZFzLOU3S6NGjVSzZk2NHDlSx44dk4+Pj+bPn6/IyEhNmjTp\nuiUsAABFDQUPAAA3YDKZ9Pnnn2vChAlavXq15syZI09PT7Vu3VovvPDCDZeFfvvtt+Xv76/Fixdr\n8eLFcnFxUcOGDTV48OCr5h/JS0BAgObOnatx48Zp7ty5SklJkb+/v4YPH57vU72up1SpUpo7d67G\njh2r77//XhkZGQoODtaUKVNyCqwrj//pp5/q+++/V1pamipXrqx3331XXbp0ua3H/ydfX1+NGDFC\n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\nvKwK8LbJ39MqXw+rfD0s8vOwOL/29bDKz/PPxz42C6OFUOqu+incbrfrhRde0J49e2Sz2TR58mSF\nhIQ4n1+4cKE+//xzWSwWPfDAA+revXuJBi6v7HaHsnLtysjOVVpW3i09K1dpWTnOx2lZOUrP93zO\nRevlKjUrR0kXlTfJGdnKvOjUqMuxuJkU4G1T5fMtdVh1PwV62RTonf8W4GVTFT93BXrZ+EEFAAAA\noEzzdreonrtF9YK8r7heTq5dCenZik/NUnxatvMshvxf5z2OPpmkxLS8X5hn5V75c5bJJPnYLPL1\nsMjL3SIvm1meVrO83S3ytJnlZTXLy2ZWWnKC6sTsy1tmO7+ezSxvW956HlY3uVvMcre4nb+Z5W51\nk83sxucyXOKqBc+KFSuUlZWlBQsWaMuWLXr11Vc1ffp0SVJsbKzmzJmjxYsXKzMzU3fccYe6du0q\nm63kr27kcDiUa3fI7pDsDocc5+9zHQ457HlfOx878k45yrU7lJ1rP39//rHdnm95Tq5DOXaHcnLt\nefd2u3Kc6zqU61x+0Tq5edtn5ly45Sorx66s84+zLizLtSsz266s3Eufy879m9r4CjysbvKyWeR5\n/oeDl3tei1wrwFN+Hhb5XWiWPS80zNZLmmVfdwunRQEAAACokCxmNwX5uBf6Eu0Z2bl/nhlx/j75\novuLl138S/vY5EylZuX8+Uv6zGzl7EgsUnab2U02Z/HjJnerWTazm9ytf5ZBF563mt1kMZtkdTt/\nb3aTxc0ki9lNVrNJFufyvK+t5rznLG4m57YXL7ee39bsZsq7mUxyc5PcTHmPL9ybTSaZTHKu9+fz\nktv55/+6nM+nRXfVgicqKkoRERGSpFatWmnHjh3O57Zt26bWrVvLZrPJZrOpTp062r17t1q0aHHJ\n6/R+c5WziMk9X77Y7XlFjf38sgtf28+XNxdKG/uF5fY/vy5L3EyS1Zz3F8d2Ubtqu+jey2aR/0WP\nL/zFs5n/bGBtFjdnWfPXBtfLZpaX1eL82tNqprEFAAAAAAN4WM3ysJoV7Fu4YuivoqOj1aBR4789\ngyMj+88BBH8dUJCZkzeAIP/zuc6BBOnZuUpIz1Jmtl3ZuXZl5/45gCH74sEKdvvfnqZmBJNJ5wuj\n88XRhTLofBFkUl4JZDJJJuWVShe+di43SSb9WRiZzr/uha8vbKOLtzfJ+fpyrpd/G/31Pc9vI/3l\nfZzfy/nnzi8/v9T59Z/r5eXVRetdvEwm6Z7GV993Vy14UlJS5OPj43xsNpuVk5Mji8WilJQU+fr6\nOp/z9vZWSkrKZV/n1W4+l11eMdnP364gV1J63s0hKfX8rbyLiooyOgJcBMcKCopjBQXFsYKC4DhB\nQXGsoKC2bdl8yTKzJN/zN0l5TYD1/O2KTOe3ZoLo8qFwzdtVCx4fHx+lpv5ZLdjtdlkslss+l5qa\nmq/wuaBt27aFCgUAAAAAAICCc7vaCm3atNHq1aslSVu2bFGjRo2cz7Vo0UJRUVHKzMxUcnKyDhw4\nkO95AAAAAAAAlDyTw3Hls+0uXEVr7969cjgceuWVV7R69WrVqVNHPXv21MKFC7VgwQI5HA6NHTtW\nffv2La3sAAAAAAAAUAEKHgAAAAAAAJRtVz1FCwAAAAAAAGUbBQ8AAAAAAICLo+ABAAAAAABwcRQ8\nAAAAAAAALo6CBwAAAAAAwMVR8AAAAAAAALg4Ch4AAAAAAAAXR8EDAAAAAADg4ih4AAAAAAAAXBwF\nDwAAAAAAgIuj4AEAAAAAAHBxFDwAAAAAAAAujoIHAACDRUZGqkePHiX2esX9+mVBjx49FBkZWaRt\n4+LilJaWVsyJypecnBy9//776tmzp1q2bKkhQ4Zo3bp1xbptQkKCnn/+eXXq1Elt2rTRXXfdpd9/\n/71IrxcZGanGjRv/7W3ChAlF2xEAALgQCh4AAFBhrFq1SjfeeKPOnTtndJQy7ZVXXtHbb7+trl27\nOsuRe++9V1FRUcWybUZGhkaNGqUFCxaoe/fueuKJJyRJd999t37++edCv97999+vqVOnXnJr06aN\nJOmGG24o+s4AAMBFWIwOAAAAUFq2bdumpKQko2OUaYcOHdK8efN0//336/HHH5ck3Xbbbbrlllv0\n2muv6fPPP7/mbefNm6fdu3friSee0NixYyVJI0aM0N13360XX3xRXbt2lbu7e4Ffr2vXrpdk2bFj\nh7Zt26ahQ4fqxhtvLL4dBABAGcUIHgAAADgtX75cDodDI0aMcC7z8PDQ4MGDtXnzZsXExFzztitX\nrpSPj49Gjx7tXM9sNmv06NE6deqU8xSsa8nywgsvyMfHR08++WThdwIAAC6IggcAgKvo0aOH/vWv\nf2nRokXq2bOnWrVqpeHDh2v9+vVX3TYxMVETJkzQDTfcoPDwcPXq1UtvvPGGMjMzL1n3119/1e23\n367mzZvrhhtu0Pvvvy+73Z5vnf379+uhhx5Su3bt1LJlSw0fPlxr1qwplu/zwIEDeuyxx9SxY0e1\nbdtWkZGR2rRpU7519uzZowcffFDt2rVTixYtNHToUK1YsSLfOpGRkRo7dqxWrFihW265Rc2bN1f/\n/v21atUqpaSk6Pnnn1eHDh3UuXNnPf/888rIyHBuey37evPmzRo9erRat26t1q1b65577tG2bduc\nz0+YMEHvvvuuJKlnz5755vApyH6NjIzUmDFjtHr16nx/TtOmTSvSn1NWVpZefvll9ezZU+Hh4erW\nrZtefPFFJSYmOtdxOBx699131bdvXzVv3lxdunTRk08+qZMnT+Z7rcaNGxd5TqK/2rFjhypXrqxq\n1arlW960aVNJ0s6dO69529OnTyskJEQ2my3feiEhIZKkXbt2XVOWH374Qdu3b9fDDz8sPz+/v/9m\nAQAoRyh4AAAogHXr1mnSpEnq27evHnvsMZ07d07/+Mc/tHHjxituN27cOK1cuVJDhgzRxIkT1aFD\nB3344YeaPHlyvvViY2P1yCOPqFOnTnrmmWdUo0YNvf322/r000+d6+zZs0fDhg3T/v37NXbsWD3+\n+OPKycnRfffdp+XLl1/T93f48GENHTpU69ev15133qknnnhCCQkJGj16tLMk2bZtm4YNG6Zt27Zp\n9OjReuKJJ5Sdna2HHnpIn332Wb7X27lzp5555hn16dNH//znPxUfH69x48bpvvvu04kTJ/T444+r\nS5cuWrBggWbOnJlv26Ls67Vr1yoyMlLJycl67LHH9MADDygmJkYjR450llTDhg1T7969JUlPP/20\n7r///kLv171792rcuHHq2LGjnn32WdWuXVvvvvuu5s+f71ynoK83adIkLVq0SP3799fEiRPVt29f\nLVy40HkqkiTNmDFD7733niIiIvT8889ryJAhWrFihe655x7l5uY615s6darz+7lWp0+fVtWqVS9Z\nHhwcLElXHDVT0G09PT2Vmpp6yXrx8fGSpLNnz15TlhkzZig4OFjDhg3726wAAJQ3zMEDAEABxMTE\n6L333lOvXr0kSbfeeqv69u2rN954QwsWLLjsNnFxcVq3bp2eeuopjRkzRpI0ZMgQORwOHTt2LN+6\nWVlZevPNN50FxIABA9StWzf9+OOPuvvuuyVJkydPVmBgoL788kt5eXlJku68806NGjVKL7/8snr1\n6nXJiIiCeuutt5STk6MlS5Y4R1H069dPvXv31scff6y3335bkydPlslk0hdffOEcUTFixAiNGDFC\nU6dO1U033aTAwEBJeYXVjBkz1L17d0mSxWLRpEmTlJubq48//liSNHz4cG3atEm//vqrHn744SLv\na7vdrokTJ6p58+aaO3euzGazc98MHDhQkydP1ldffaXWrVurcePG+vHHH9WrVy/VqlWr0Pv1zJkz\nmj59uvOqZAMHDlRERIS++eYbjRw5slCv980332jQoEHOCYYlycvLS2vWrFFqaqq8vb31zTff6Prr\nr9ezzz7rXKd69eqaP3++Tpw4oTp16jj3UXFJTU11/jlezMPDQ5KUnp5+zdu2bNlSixYt0u7du9Wk\nSRPnej/99JMkOUe4FSXL1q1btXPnTo0bN67Ifx8AAHBFjOABAKAAQkNDnYWDJAUGBurWW2/V1q1b\nFRcXd9ltfH195eXlpXnz5un77793Xpp7ypQpmj17dr51PT09813K3MfHR6Ghoc6RDPHx8dq4caO6\ndeumjIwMnTt3TufOnVNSUpJ69+6ts2fPavv27UX63ux2u1atWqVu3bo5yx1JCggI0Lx58/Tss8/q\n7Nmz2rp1q2699dZ8p8u4u7trzJgxysjIyHfpand3d0VERDgf16tXT1LeqVEXmEwm1axZU7Gxsfny\nFHZf79q1S8eOHVOvXr2UmJjo3DcZGRnq3r27oqOjderUqct+74Xdr56envmuyOTu7q569eoV6c+p\nWrVqWr58uZYsWeKc+HncuHFavHixvL29nets2LBB//3vf53vMXz4cH399dfOcqe4ORwOmUymv33e\nze3v//tY0G1HjRolq9Wqhx56SKtWrdKxY8c0a9YsLVmyRBaLRRaLpchZFi5cKKvVyugdAECFwwge\nAAAKoEGDBpcsCwkJkcPh0IkTJ1S5cuVLnrfZbJo0aZKee+45Pfroo7LZbOrQoYP69OmjgQMHyt3d\n3bmuv7+/c+TJBR4eHs5C48KInzlz5mjOnDmXzfjXeVkKKiEhQWlpafnKnQsaNWokKW9UhPRnUXOx\n+vXrS8p/uoy/v7/zQ7ok5/f21/1kNpvlcDjyLSvsvj569KgkOS+NfTknT568ZB4XqfD71d/f/5JS\nwWazOefgKczrvfDCCxo3bpyefvppPffcc2rVqpV69+6tQYMGydfXV5L01FNP6YEHHtArr7yiKVOm\n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\nn5+fa9+wsDDZbLYax/v7+7sKjYMHD0qS3n777TrXJJFUa10Wd+Xl5am4uLjO1xMbGytJrsVsq4ua\n0/Xo0UNSzek3YWFhrvVRJLleW/UaKadvNwyjxraePXvWeo4uXbrIMAwdPny41jkOHDggqWqa0tNP\nP13nazx69GitdWGk839fw8LCahUcdrvdtQbP+Zzv0Ucf1X333aff//73evjhh5WQkKBx48ZpypQp\nCgkJkSQ9+OCD+s1vfqP58+friSee0CWXXKLRo0frxhtvdE17amhBQUE11kWqVr2tuny60GMPHjyo\nZ599VrfeeqtCQ0Ndt6wvLy+X0+lUTk6OAgICFBAQUOMcr732mp555hlFR0fr9ddfd71HUlXxVlFR\noWuvvbbGMdddd52WLVumDRs21JrqBQCAt6HgAQDgHKpHF9S1KPKZC+vW5ZprrlFiYqJWrFihNWvW\n6Ntvv9W6deu0aNEivf/++7Lb7ZLOPSpCkmu9lZtvvrnG6JbT1VWMuKP63PWNzDib6vfh9BFOp5c7\np3NntEZdt8uuznhmCXb68997771KSEio85zdu3evc/v5vq8N+fc0dOhQrV692vWxfv161+iuDz/8\nUOHh4erVq5e++uorJScna/Xq1UpOTtbzzz+vN998U++9956rXGtI7du3r3M02IkTJySpzjV2zufY\nH3/8USUlJXr11Vf16quv1tp36NCh+p//+R/dc889rm3PPvusXnnlFXXu3Fn//Oc/1aFDhxrHtG3b\nVsXFxbX+fqrLQO6iBQBoCSh4AAA4h+rFX/fv319je/VoknONCigqKlJqaqpiYmJ0ww036IYbbpDD\n4dAzzzyjt956S+vWrasxLetcoqOjJVUVHMOGDavx2O7du3Xo0KFaIx7c1bp1a/n7+ysjI6PWY6+/\n/rqysrL0q1/9SpK0d+/eWvvs27dPkuocIXMhqkfknC4jI0M2m00dO3as9Vj1exMYGFjrvdm6davy\n8/Pl7+9f53M19Pvq7vkcDodSU1PVrl07TZw4URMnTpTT6dTChQv19NNP64svvtCMGTO0c+dOBQcH\na8yYMa7pbcuXL9f999+v999/X3PmzHE7m7v69OmjlStXKjMzs8YoodTUVElSv379LupYi8WihQsX\n1jr2ySefVHZ2tp555pkaiy6/+OKLeuWVV9SzZ08tXLhQUVFRtY695JJLtHz5cuXn59eYOnno0CFJ\nVcUTAADejjV4AAA4hz59+ig6OlqLFy9WSUmJa/sXX3zhulXz2aSnp+vmm2/WBx984Npmt9tdt4yu\nazTK2URFRalv37766KOPdPz4cdf28vJyzZ07V7NmzVJFRYXb5zudj4+Phg8frjVr1tSYjpSfn6/X\nX39dBw4cUGRkpPr27atPP/20xno2DodDCxculN1u1/Dhwy/o+c+0bds2bd682fV1VlaWPv30U11+\n+eV1rnvUt29fRUZG6u23364xUqOwsNA1Bar6va4e4VE9Iqmh31d3z5eXl6dp06bp73//u2sfq9Xq\nKk+sVqsqKyv1X//1X5o/f36N5+jfv3+N19LQxo8fL0l65513XNtKS0u1bNkyDRo06JwjeNw5Nioq\nSsOGDav1ERoaKj8/Pw0bNsxV8Hz33XdasGCBunbtqrfeeqvOckeqGilXWVmpN954w7XNMAy99dZb\n8vf314gRIy78DQEAwEMwggcAgHOwWCx6+OGHdffdd2vatGmaMmWKjh8/rnfffVdhYWHnPLZ///4a\nPHiwnn32WR09elRxcXE6evSo3nnnHXXv3l1Dhw49rywPPfSQbr31Vk2ZMkU33XSTwsLC9MUXX2jL\nli2aPXu2WrdufcGvc/bs2Zo6daqmTp2qm2++WcHBwVq6dKmKi4t133331Xj+G264QTfddJOCgoL0\n6aefaseOHXrooYfUqlWrC37+09ntdv3617/WrbfeKn9/fy1atEhOp1MPPvhgnfv7+vrq4Ycf1n33\n3afJkyfrhhtukJ+fn95//30dOXJEf/7zn11TxsLDwyVVrecyYsQIjRkzpsHfV3fPd80112jRokUq\nKSnRgAEDlJeXp3feeUcRERG66qqrZLfbNXPmTL388su6++67lZiYqNLSUi1ZskQBAQGaMmWK6zk/\n+eQTRURENEjJFhsbq8mTJ+vvf/+7Tp48qV69emnZsmU6fPiwnnjiiRr7nvm853OsO/7617/KMAwl\nJSVp3bp1tR4fOHCgOnXqpJEjR+rKK6/UK6+8ohMnTqhfv35atWqV1q1bpzlz5tS7IDoAAN6AggcA\ngHokJSXp73//uxYsWKC//vWvatu2rR5//HG9++675zzOYrHoxRdf1AsvvKDVq1dryZIlCg0N1fjx\n43Xvvfe61t9x14ABA7R48WItWLBACxcuVEVFhbp166Ynn3xS119//cW8RPXo0UNLlizRX//6V732\n2muyWq2Kj4/XU0895ZqGVv38zz//vN544w05nU716tVLL7744lnXm7kQCQkJmjhxol566SUVFBRo\n8ODBmj17tnr16nXWYyZMmKA33nhDL7/8sl566SVZrVbFxMTo5ZdfVlJSkmu/iRMn6uuvv9aHH36o\nDRs2aMyYMQ3+vrp7vj/+8Y/q1KmTvvjiC33xxRcKCAjQ0KFDdf/997uKqFmzZiksLEzLli3TU089\nJZvNpoEDB+qZZ56psf7Ogw8+qCFDhjTYKKrHHntMERER+uijj/TRRx8pLi5Or732mgYOHFhjv7qe\n191j61NaWupaz6euKV1S1R3pqkf7/PnPf1ZcXJyWLVumzz//XF26dGmQ/zYAAPAUFuNcqyYCAAA0\nodGjRys6Ovqsd6ACAABA3ViDBwAAAAAAwMNR8AAAAAAAAHg4Ch4AAAAAAAAPxxo8AAAAAAAAHo4R\nPAAAAAAAAB6uSW6TnpKS0hRPAwAAAAAA4JUGDRp0zsebpOCR6g8CpKamqnfv3mbHgAfgWoG7uFbg\nLq4VuIPrBO7iWoG7uFbgLncGzjBFCwAAAAAAwMNR8AAAAAAAAHg4Ch4AAAAAAAAPR8EDAAAAAADg\n4Sh4AAAAAAAAPBwFDwAAAAAAgIej4AEAAAAAAPBwFDwAAAAAAAAejoIHAAAAAADAw1HwAAAAAAAA\neDgKHgAAAAAAAA9HwQMAAAAAAODhKHgAAAAAAAA8HAUPAAAAAACAh6PgAQAAAAAA8HAUPAAAAAAA\nAB6OggcAAAAAAMDDUfAAAAAAAAB4OAoeAAAAAAAAD0fBAwAAAAAA4OEoeAAAAAAAADwcBQ8AAAAA\nAICHo+ABAAAAAADwcBQ8AAAAAAAAHs6tgmfLli2aOXNmre2rVq3SlClTNG3aNC1durTBwwEAAAAA\nAKB+PvXt8I9//EOffvqpAgICamwvLy/XE088oQ8++EABAQG66aablJSUpMjIyEYLCwBAS2MYhg7m\nlGhfdpEqnU5FBvurd/sQ+dgYhAsAAID/qLfg6dy5sxYsWKAHH3ywxvY9e/aoc+fOCg0NlSQNGjRI\nGzdu1FVXXVXneVJTUxsgLrxZaWkp1wncwrUCd3nytVJa4dTnO0/qy/QCHT5ZXuOxAF+LRnUL1pRL\nwhTdytekhN7Fk68VNB2uE7iLawXu4lpBQ6q34JkwYYIOHTpUa3thYaFCQkJcXwcFBamwsPCs5+nd\nu/cFRkRLkZqaynUCt3CtwF2eeq0kp2fqgY+26tjJUl3WLVx3JbVXXLtW8rVZdCi3RGvSMvXZliNa\nsadQvx3VU/eM7smInovkqdcKmhbXCdzFtQJ3ca3AXSkpKfXuU2/BczbBwcEqKipyfV1UVFSj8AEA\nAOfHMAy9sGq3/vJNmnpGBWvpTUM1pFt4jX0GdG6ta/p30P+7spce/+JnPbcyXRszcvTijIEKC7Sb\nlBwAAABmu+Bf9/Xo0UMZGRnKy8uTw+HQxo0bNWDAgIbMBgBAi2EYhh777Gf95Zs0XT8gWp/fc0Wt\ncud0kSF++tv0Afrz1P76cV+upr/6vXKKHE2YGAAAAM3JeY/g+eyzz1RcXKxp06Zpzpw5uu2222QY\nhqZMmaK2bds2RkYAALzen7/epTe/3a/br+im/5vYWxaLxa3jbhjUUe1a+eu2f/6oW177QUvvGqpg\nvwseoAsAAAAP5dZPgB07dnTdBv2aa65xbR89erRGjx7dOMkAAGghlm48qBdX79FNQzqfV7lT7YqY\nCL0yc5Bu/+dG3bt4k179r8GyWc/vHAAAAPBsrMgIAICJth7K00Mfb9cVPSP0x0mXnHe5Uy0pLkp/\nuKaPVu48oedXpjdwSgAAADR3FDwAAJik2FGhWYs3KSLIrudvGnDRd8L6r6FdNXlAtBasSteGfTkN\nlBIAAACegIIHAACTPP5FqjJyivXXaQkKD2qYO2DNu66vOocH6v4lm1VUVtEg5wQAAEDzR8EDAIAJ\nNuzL0bs/HNBtw7vp8u5tGuy8wX4+evqG/jqcV6I/f72rwc4LAACA5o2CBwCAJuaocOr/Ptqmjq0D\nNHt8XIOff0i3cM28vIve/Ha/th3Kb/DzAwAAoPmh4AEAoIm99d1+pZ8o1LxJlyjAbmuU53jgyji1\nCbLrsc92yDCMRnkOAAAANB8UPAAANKGTpeV6cfVuJcZEaHSvto32PK38ffXAhDhtzMjVp1uONNrz\nAAAAoHmg4AEAoAm9umavcovL9f+u7NXozzV1UCf1bt9Kz36TpopKZ6M/HwAAAMxDwQMAQBM5cbJU\nr6/bp2v6d1Df6NBGfz6r1aLfjYvV/uxifbTpcKM/HwAAAMxDwQMAQBN5flW6yiudmj0utsmec2zv\nKPWLDnU9NwAAALwTBQ8AAE3gYE6x3ttwUDcN6ayuEUFN9rwWS9UonoM5Jfog5VCTPS8AAACaFgUP\nAABN4PV1+yRJv03q0eTPPSouUgmdwvTCqt0qq6hs8ucHAABA46PgAQCgkeUWObTkx4OalBCt9qEB\nTf781aN4DueV6GPW4gEAAPBKFDwAADSyd77PUEl5pe4Y0d20DIkxEerdvpVeX7dPhmGYlgMAAACN\ng4IHAIBGVFpeqX9+t1+j4iIV1y7EtBwWi0W/Gt5VaccLtX53tmk5AAAA0DgoeAAAaEQf/nRYWYUO\nU0fvVLs2oYMigu16fd1es6MAAACggVHwAADQSAzD0Gvr9qpfdKiGdm9jdhz5+dh0y+VdtHpXpvZk\nFpodBwAAAA2IggcAgEby3Z5s7c0s0i+Hd5XFYjE7jiTplsu7yG6zauH6fWZHAQAAQAOi4AEAoJG8\n+8MBhQX66up+7c2O4hIR7KdJCR20LOWw8kvKzY4DAACABkLBAwBAI8gsKNNXO45pysCO8ve1mR2n\nhluHdVVJeaU+3cwt0wEAALwFBQ8AAI1g6caDqnAamnFZZ7Oj1NI3OlSXdGil9348aHYUAAAANBAK\nHgAAGpjTaWjxhgO6vHu4ekQGmx2nTtMu7aQdR05q++F8s6MAAACgAVDwAADQwNamZ+pQboluvqyL\n2VHOalL/aPn5WPXejwfMjgIAAIAGQMEDAEADe2/DQbUJsmvCJe3MjnJWoacWf/5k0xGVOCrNjgMA\nAICLRMEDAEADyit2aOXO45qUEC27T/P+Njvt0k4qKKvQ8m1HzY4CAACAi9S8f/IEAMDDfLb1qMor\nDU0eGG12lHpd1i1cXdsEagmLLQMAAHg8Ch4AABrQRz8dUmzbYF3SoZXZUeplsVg0dXAnbdifo0O5\nxWbHAQAAwEWg4AEAoIHsyyrSTwfyNHlgR1ksFrPjuOXa/h0kSZ9sPmJyEgAAAFwMCh4AABrIR5sO\ny2KRJiV0MDuK2zqFB2pwl9b6ZPNhGYZhdhwAAABcIAoeAAAagGEY+mjTIQ3vEaH2oQFmxzkvkwZE\nK+14oVKPFpgdBQAAABeIggcAgAawMSNXB3NKdP2A5r+48pkm9msvH6tFn2w+bHYUAAAAXCAKHgAA\nGsAnmw/L39eqK/u2MzvKeQsPsmtEbKQ+3XJETifTtAAAADwRBQ8AABepotKpL7cf05hebRXk52N2\nnAsyKaGDjuaX6od9OWZHAQAAwAWg4AEA4CJt2JejrEKHJsa3NzvKBRvfp52C7DamaQEAAHgoCh4A\nAC7S59uOKsDXpqS4KLOjXLAAu01jerfVVzuOqaLSaXYcAAAAnCcKHgAALoJrelbvKAXYbWbHuShX\n92un3OJypmkBAAB4IAoeAAAuwvd7c5RT5NAv4juYHeWijYqLUqDdpi+2HTU7CgAAAM4TBQ8AABfh\ni21HFGS3aVRcpNlRLpq/r01JvaL01fZjquRuWgAAAB6FggcAgAtUfmp61tg+beXv69nTs6pd3be9\nsosc2sA0LQAAAI9CwQMAwAX6fm+2covLdXU/z7171pmSekXK39eqf21nmhYAAIAnoeABAOACfbXj\nmALtNo2M9fzpWdUC7T5KiovSv5imBQAA4FEoeAAAuABOp6GvdxzXyNhIr5meVe2qfu2VWVCmjfuZ\npgUAAOApKHgAALgAWw7l6URBmcZf0tbsKA1udK8o2W1Wff3zcbOjAAAAwE0UPAAAXICvdhyXj9Wi\n0XHeV/AE+/loWM82WpF6XIbBNC0AAABPQMEDAMAF+PrnY7q8exuFBvqaHaVRjO3dVhnZxdp9otDs\nKAAAAHADBQ8AAOdp94kC7c0s0gQvnJ5VbWzvqtf2TSrTtAAAADwBBQ8AAOfpqx1Vpce4Pu1MTtJ4\n2oX6K75jqFawDg8AAIBHoOABAOA8fb3jmPp3ClO7UH+zozSqsb3batPBPGUWlJkdBQAAAPWg4AEA\n4DwcP1mqLYfyNb6P907Pqja2d1sZhrRqJ6N4AAAAmrt6Cx6n06lHHnlE06ZN08yZM5WRkVHj8ddf\nf12TJ0/WlClT9M033zRaUAAAmoPVO09I+s8aNd6sd/sQRYcF6JufT5gdBQAAAPXwqW+HFStWyOFw\naMmSJdq8ebOefPJJvfzyy5KkkydP6u2339bXX3+tkpISXXfddRo3blyjhwYAwCwrd55QdFiAYtsG\nmx2l0VksFo3r01bv/XhAJY5KBdhtZkcCAADAWdQ7giclJUWJiYmSpISEBG3fvt31WEBAgDp06KCS\nkhKVlJTIYrE0XlIAAExWWl6pdelZGt0rqsV8zxvbu61Ky51avzvL7CgAAAA4h3pH8BQWFio4+D+/\npbTZbKqoqJCPT9Wh7du318SJE1VZWak777zzrOdJTU1tgLjwZqWlpVwncAvXCtzV0NdKyuFilZRX\nKiaorMVcg60qDQX6WvTBd7sUbckxO06j4d8VuIPrBO7iWoG7uFbQkOoteIKDg1VUVOT62ul0usqd\ntWvX6sSJE1q5cqUk6bbbbtPAgQMVHx9f6zy9e/duqMzwUqmpqVwncAvXCtzV0NfKe2nbFeBr042j\nEuTv23KmK43eWqrv9+YoLq6XrFbvHLnEvytwB9cJ3MW1AndxrcBdKSkp9e5T7xStgQMHau3atZKk\nzZs3KzY21vVYaGio/P39Zbfb5efnp5CQEJ08efIiIgMA0DwZhqGVO09oeM82LarckaRxfdoqq7BM\nmw/lmR0FAAAAZ1HvCJ5x48Zp/fr1mj59ugzD0Pz587Vw4UJ17txZY8aM0bfffqsbb7xRVqtVAwcO\n1PDhw5siNwAATSr9RKEO5Zbot6N6mh2lyY2KjZLNatGKn49rYOfWZscBAABAHeoteKxWq+bNm1dj\nW48ePVyfz5o1S7NmzWr4ZAAANCOrTt0efXSvKJOTNL3QQF8N7tJaq3dl6sEre5kdBwAAAHWod4oW\nAACQVqWeUJ/2rdQu1N/sKKZI6hWl1KMndSy/1OwoAAAAqAMFDwAA9cgrdmhjRo7G9G55o3eqjYqL\nlCStSTthchIAAADUhYIHAIB6rEnLlNNomdOzqsW1DVG7Vv76965Ms6MAAACgDhQ8AADUY9XOE2oT\nZFf/jmFmRzGNxWJRUq9IrUvPUnml0+w4AAAAOAMFDwAA51BR6dS/d2VqVFyUrFaL2XFMNTI2SgVl\nFUrJyDU7CgAAAM5AwQMAwDlsOZSn/JLyFj09q9rwnm3ka7No9S7W4QEAAGhuKHgAADiHtWlZslqk\nK3pGmB3FdCH+vhrcJVxrWIcHAACg2aHgAQDgHJLTM9W/U5hCA33NjtIsjIqL1M5jBTqSV2J2FAAA\nAJyGggcAgLPILynX5oN5SmT0jkvSqalqa9IYxQMAANCcUPAAAHAW3+3JktOQEmMjzY7SbMREBatD\nqL/+zTo8AAAAzQoFDwAAZ7E2PUvBfj5K6NRyb49+JovFolG9orQuPUuOCm6XDgAA0FxQ8AAAUAfD\nMLQ2LVNDe7SRr41vl6cbFRupIkelNmbkmB0FAAAAp/ATKwAAdcjILtah3BKNiGH9nTMN6xkhX5tF\n/+ZuWgAAAM0GBQ8AAHVITq8qLxJjWH/nTMF+Prq0azjr8AAAADQjFDwAANRhbXqWOoUHqEubQLOj\nNEsjYiOVdrxQx0+Wmh0FAAAAouABAKCW8kqnvtuTrcSYSFksFrPjNEsjTo1sSk7PMjkJAAAAJAoe\nAABq2XwwT4VlFay/cw692oUoItjPNZUNAAAA5qLgAQDgDMlpmbJapKE9KHjOxmq1KDEmQsnpWXI6\nDbPjAAAAtHgUPAAAnGFtepYSOoUpNMDX7CjNWmJMhHKKHPr56EmzowAAALR4FDwAAJyb762JAAAg\nAElEQVQmr9ihrYfyuHuWG644NYVtLdO0AAAATEfBAwDAab7dky2nIY2IZXpWfaJC/NW7fSslp7HQ\nMgAAgNkoeAAAOE1yepZC/HzUv2OY2VE8woiYCG3MyFFRWYXZUQAAAFo0Ch4AAE4xDENr0zI1rGcb\n+dj4FumOxJhIlVca+mFfttlRAAAAWjR+egUA4JT92cU6nFfC+jvnYXDX1vLzsWot07QAAABMRcED\nAMApyacWCx5BweM2f1+bLuvexvXeAQAAwBwUPAAAnLI2LUudwwPVuU2g2VE8yoiYCO3JLNLhvBKz\nowAAALRYFDwAAEgqr3Tquz1ZSozh7lnna0Rs1Yin5DRG8QAAAJiFggcAAEmbDuSpyFHJ+jsXICYq\nWG1b+Sk5nXV4AAAAzELBAwCAqtbfsVktGtqjjdlRPI7FYlFiTKTW7c5SpdMwOw4AAECLRMEDAICk\ntelZSugUptAAX7OjeKTEmAjll5Rr2+F8s6MAAAC0SBQ8AIAWL6/Yoa2H8lh/5yIkxkTKYmEdHgAA\nALNQ8AAAWrz1u7NlGGL9nYsQHmRX3w6hWsvt0gEAAExBwQMAaPGS0zMV4u+j/h1DzY7i0RJjIvTT\ngTwVlJabHQUAAKDFoeABALRohmEoOT1Lw3tEyMfGt8WLkRgTqUqnoW/3ZJsdBQAAoMXhJ1kAQIu2\nN6tIh/NKlBjL+jsXa2CXMAXabVrH7dIBAACaHAUPAKBFq14UeATr71w0Px+bLusWrnW7KXgAAACa\nGgUPAKBFS07PUtc2geoUHmh2FK+QGBOpfVlFOphTbHYUAACAFoWCBwDQYjkqnPpubzZ3z2pAI05N\ndWMUDwAAQNOi4AEAtFg/HchVsaNSiTGsv9NQekQGq10rfyVzu3QAAIAmRcEDAGix1qVnyWa1aGiP\nNmZH8RoWi0WJMRFavztblU7D7DgAAAAtBgUPAKDFSk7P1MDOYQrx9zU7ile5IiZC+SXl2nY43+wo\nAAAALQYFDwCgRcotcmjr4Xxd0ZP1dxraFT2rprxV36EMAAAAjY+CBwDQIq3fkyXDkBJjWX+nobUJ\n9lPf6FZKZqFlAACAJkPBAwBokZLTstTK30fx0aFmR/FKV/SM1E8ZuSosqzA7CgAAQItAwQMAaHEM\nw1ByeqaG94yQj41vhY1hREyEKpyGftibbXYUAACAFoGfagEALc6ezCIdyS9VYgzr7zSWQV1by9/X\nquR0pmkBAAA0BQoeAECLk5xetfhvYgzr7zQWPx+bLuvWxvVeAwAAoHFR8AAAWpzk9Cx1iwhSp/BA\ns6N4tcSYCO3JLNLhvBKzowAAAHg9Ch4AQItSVlGp7/ZkM3qnCVRPgVvHKB4AAIBGR8EDAGhRfsrI\nU0l5JevvNIHYtsGKCvFjHR4AAIAm4FPfDk6nU48++qh27dolu92uP/3pT+rSpYvr8TVr1ujFF1+U\nJPXp00d/+MMfZLFYGi8xAAAXITk9Uz5Wiy7vHm52FK9nsVh0RUyEVu88IafTkNXKzwcAAACNpd4R\nPCtWrJDD4dCSJUs0e/ZsPfnkk67HCgsL9cwzz+iVV17R0qVLFR0drdzc3EYNDADAxUhOz9LAzq0V\n4u9rdpQWYURMpHKLy7XjyEmzowAAAHi1eguelJQUJSYmSpISEhK0fft212ObNm1SbGysnnrqKc2Y\nMUMREREKD+c3ogCA5im7sEzbj+Sz/k4TGt6z6r1eyzo8AAAAjareKVqFhYUKDg52fW2z2VRRUSEf\nHx/l5ubqhx9+0Mcff6zAwEDdfPPNSkhIULdu3WqdJzU1tWGTw+uUlpZyncAtXCtw15nXyr/3Fcow\npE6+hVxDTah7a7u+3pKh0e3KzY5yVvy7AndwncBdXCtwF9cKGlK9BU9wcLCKiopcXzudTvn4VB0W\nFhamfv36KTKyaqHKwYMHKzU1tc6Cp3fv3g2VGV4qNTWV6wRu4VqBu868Vt7YvkWhAb665ooE2VgP\npsmM2ye9sX6fuvSIUaC93h89TMG/K3AH1wncxbUCd3GtwF0pKSn17lPvFK2BAwdq7dq1kqTNmzcr\nNjbW9Vjfvn2VlpamnJwcVVRUaMuWLerZs+dFRAYAoHEYhqHk9Cxd0TOCcqeJXRETofJKQz/szTE7\nCgAAgNeq99do48aN0/r16zV9+nQZhqH58+dr4cKF6ty5s8aMGaPZs2fr9ttvlyRdeeWVNQogAACa\niz2ZhTp2spT1d0xwaddw+flYlZyepaReUWbHAQAA8Er1FjxWq1Xz5s2rsa1Hjx6uzydOnKiJEyc2\nfDIAABrQ2rQsSVWjSdC0/H1tGtItXMkstAwAANBo6p2iBQCAN0hOz1T3iCB1bB1odpQWKTEmQukn\nCnUsv9TsKAAAAF6JggcA4PXKKir1/d4cpmeZKDGm6oYMjOIBAABoHBQ8AACvl5KRq5LySlfJgKbX\nq12IIoL9tG53ltlRAAAAvBIFDwDA6yWnZ8nHatHlPdqYHaXFslgsSoyJ0Lr0LDmdhtlxAAAAvA4F\nDwDA6yWnZ2pgl9YK9qv33gJoRIkxEcoucujnoyfNjgIAAOB1KHgAAF4tu7BM2w+f1AjW3zHdFT2r\n/g6YpgUAANDwKHgAAF6tukxg/R3zRbXyV692ISy0DAAA0AgoeAAAXi05PUthgb7qGx1qdhSoahTP\nj/tzVeKoNDsKAACAV6HgAQB4LcMwlJyeqeE9ImSzWsyOA0mJsZFyVDi1YX+O2VEAAAC8CgUPAMBr\n7c8r1/GTZRoZy/Ss5mJI13DZfaxaxzQtAACABkXBAwDwWimHiyVJibEssNxcBNhturRrayWns9Ay\nAABAQ6LgAQB4rZ+OlCi2bbDahwaYHQWnSYyJ1M5jBTpxstTsKAAAAF6DggcA4JWKHRXadrxEI7h7\nVrPD7dIBAAAaHgUPAMAr/bA3RxVOaWQcBU9z06d9K7UJsjNNCwAAoAFR8AAAvNKatEz52Sy6tGu4\n2VFwBqvVoitiIpScniXDMMyOAwAA4BUoeAAAXmlteqb6tfOXv6/N7CiowxU9I5RVWKadxwrMjgIA\nAOAVKHgAAF7nUG6x9mYWaWCHQLOj4CwST62NtI5pWgAAAA2CggcA4HXWplWVBoM6cPes5qpdqL9i\nooK1Nj3T7CgAAABegYIHAOB11qSdUHRYgDqF+podBeeQGBOpDftyVFpeaXYUAAAAj0fBAwDwKuWV\nTn27O1sjYiNksVjMjoNzSIyNUFmFUxv355odBQAAwONR8AAAvMrmg3kqKKvQiBhuj97cXdYtXHab\nVclM0wIAALhoFDwAAK+yNi1TNqtFw3pGmB0F9Qi0+2hQl9Zay0LLAAAAF42CBwDgVdamZSqhU5hC\nA1h/xxOMjItU6tGTOpZfanYUAAAAj0bBAwDwGjlFDm09nM/0LA+SFBclqWphbAAAAFw4Ch4AgNdI\nTs+UYVSNCoFniG0brPah/vr3LtbhAQAAuBgUPAAAr7E2LUthgb7qFx1qdhS4yWKxaFRclNalZ6m8\n0ml2HAAAAI9FwQMA8AqGYSg5PVNX9IyQzcrt0T3JqLhIFZRVKCWD26UDAABcKAoeAIBX2HmsQCcK\nyjQilulZnmZ4zwj52ixavYt1eAAAAC4UBQ8AwCusSataw4UFlj1PsJ+PLu0arjWswwMAAHDBKHgA\nAF5h1c4T6tO+ldqF+psdBRcgKS5KO48V6EheidlRAAAAPBIFDwDA4+WXlCslI1dJvRi946lGnbrz\nWfVILAAAAJwfCh4AgMdLTs9UpdPQ6F5RZkfBBeoZFazosACt3sk6PAAAABeCggcA4PFW78xUWKCv\nEjq1NjsKLlDV7dIjtX53lhwV3C4dAADgfFHwAAA8mtNpaE3aCY2MjeT26B4uKS5KRY5KbdyfY3YU\nAAAAj0PBAwDwaNsO5yur0KGkOKZnebphPdvIbrNyu3QAAIALQMEDAPBoq3aekMUijYxlgWVPF2j3\n0ZBu4fo3t0sHAAA4bxQ8AACP9u9dJzSgU5haB9nNjoIGMCouUuknCnUot9jsKAAAAB6FggcA4LEy\nC8q05VA+d8/yIqNOTbVjFA8AAMD5oeABAHisNWlVJcAo1t/xGj0ig9QpPED/Zh0eAACA80LBAwDw\nWKt3nlBUiJ8u6dDK7ChoIBaLRaNio7R+d7bKKirNjgMAAOAxKHgAAB6pvNKptemZSoqLksXC7dG9\nSVKvSJWUV+qHvdwuHQAAwF0UPAAAj/RTRq4KSiuU1Iu7Z3mbod0j5Odj1aqdTNMCAABwFwUPAMAj\nrdp1Qr42i4b3jDA7ChpYgN2mxJgIrUg9LsMwzI4DAADgESh4AAAe6Zufj+vy7m0U4u9rdhQ0grG9\n2+pQbol2HS8wOwoAAIBHoOABAHicPZmF2ptZpLG925odBY1kdO+qO6Ot+Pm4yUkAAAA8AwUPAMDj\nrEyt+p/+Mb25Pbq3igrxV0KnMH2Tyjo8AAAA7qDgAQB4nG9+Pq4+7VupY+tAs6OgEY3tHaUtB/N0\n4mSp2VEAAACaPQoeAIBHyS4sU0pGrsb2YXqWt6v+O17J3bQAAADqRcEDAPAoq3aekNOQxlPweL24\ntiHq2DqAdXgAAADcQMEDAPAoK1KPq10rf13SoZXZUdDILBaLxvZuq3W7s1TsqDA7DgAAQLNWb8Hj\ndDr1yCOPaNq0aZo5c6YyMjLq3Of222/X4sWLGyUkAACSVFpeqbVpWRrbJ0oWi8XsOGgC4/q0VVmF\nU+vSs8yOAgAA0KzVW/CsWLFCDodDS5Ys0ezZs/Xkk0/W2udvf/ub8vPzGyUgAADVvt2TpZLySo3r\n087sKGgiQ7qFK8TfRytSmaYFAABwLvUWPCkpKUpMTJQkJSQkaPv27TUe//LLL2WxWDRixIjGSQgA\nwCnf/HxcQXabLu8ebnYUNBFfm1UjYyOr1l5yGmbHAQAAaLZ86tuhsLBQwcHBrq9tNpsqKirk4+Oj\ntLQ0ff7553r++ef14osvnvM8qampF58WXq20tJTrBG7hWmmZnIahL7cd0YD2/tqbnubWMVwr3qFP\naKU+L3To43Wb1TvSv1Geg2sF7uA6gbu4VuAurhU0pHoLnuDgYBUVFbm+djqd8vGpOuzjjz/W8ePH\ndeutt+rw4cPy9fVVdHR0naN5evfu3YCx4Y1SU1O5TuAWrpWWadOBXOWW7NOUy3uqd++Obh3DteId\nOnQp11/Wf6O0ogBNHtGrUZ6DawXu4DqBu7hW4C6uFbgrJSWl3n3qLXgGDhyo1atX6+qrr9bmzZsV\nGxvreuzBBx90fb5gwQJFREQwVQsA0ChWpB6XzWpRUlyU2VHQxEIDfTW0ext9teOY/t+VcSywDQAA\nUId61+AZN26c7Ha7pk+frieeeEK///3vtXDhQq1cubIp8gEAIEn6asdxXdq1tcIC7WZHgQmu7NtO\n+7KKtOt4gdlRAAAAmqV6R/BYrVbNmzevxrYePXrU2u+ee+5puFQAAJwm/XiBdp8o1MzLLzE7Ckwy\n/pK2eviT7frXtmPq1a6V2XEAAACanXpH8AAAYLZ/bT8mqWoUB1qmqBB/XdolXF+euhYAAABQEwUP\nAKDZW77tqAZ1aa22rRrnDkrwDFf2baddxwu0N7PQ7CgAAADNDgUPAKBZ25dVpJ3HCnQVo3davAmn\nroEvdzCKBwAA4EwUPACAZu1f249Kkq7q197kJDBbdFiA+ncMZZoWAABAHSh4AADN2pfbj6l/x1BF\nhwWYHQXNwJV922vroXwdyi02OwoAAECzQsEDAGi2DuYUa+uhfEbvwKV6qh6jeAAAAGqi4AEANFtf\nnVprhfV3UK1rRJB6tQtxXRsAAACoQsEDAGi2lm87qj7tW6lLmyCzo6AZuapve23MyNWJglKzowAA\nADQbFDwAgGbpWH6pfjqQp6v7MXoHNV3Vr50MQ/pqx3GzowAAADQbFDwAgGbpy1N3z7qyL+vvoKaY\nqGB1jwzS8q1HzY4CAADQbFDwAACapeXbjym2bbB6RgWbHQXNjMVi0S/iO+j7fdk6fpJpWgAAABIF\nDwCgGTqWX6of9+foau6ehbO4tn8HGYb0OaN4AAAAJFHwAACaoc+2HJFhVP1PPFCXnlHBuqRDK326\n5YjZUQAAAJoFCh4AQLPzyZbDiu8Yqu6RTM/C2V3bv4O2HMxTRnaR2VEAAABMR8EDAGhWdp8o1PbD\nJxm9g3r94tQ18hmjeAAAACh4AADNy6dbjshika6h4EE9osMCdGnX1vpk8xEZhmF2HAAAAFNR8AAA\nmg3DMPTp5sMa2r2N2rbyNzsOPMC1/Tso/UShdh4rMDsKAACAqSh4AADNxtZD+dqfXaxJCYzegXuu\n7tdeNquFxZYBAECLR8EDAGg2Ptl8RHabVVdewu3R4Z42wX66omfEqTuvMU0LAAC0XBQ8AIBmodJp\n6LOtRzQqLlKhgb5mx4EHubZ/Bx3KLdFPB/LMjgIAAGAaCh4AQLPw/d5sZRaUaVJCtNlR4GHGX9JW\nfj5W7qYFAABaNAoeAECz8Mnmwwqy2zSmd5TZUeBhQvx9NaZ3lD7fekTllU6z4wAAAJiCggcAYLrS\n8kr9a/sxTejbTv6+NrPjwANdP6CjsgodWpuWaXYUAAAAU1DwAABMtyL1uApKK3T9AKZn4cKMiotU\nmyC7Pkg5ZHYUAAAAU1DwAABM9/7GQ+oQ6q9hPSLMjgIP5WuzalJCtFamnlBukcPsOAAAAE2OggcA\nYKpj+aVKTs/U5IEdZbNazI4DDzZlULQclU59tpXFlgEAQMtDwQMAMNWHmw7JaUg3DOpodhR4uEs6\nhKp3+1ZaxjQtAADQAlHwAABMYxiGPkg5pEu7tlbXiCCz48ALTBkYrS2H8pV+vMDsKAAAAE2KggcA\nYJqfDuRpb2aRpg7qZHYUeInrBkTLx2phsWUAANDiUPAAAEzzQcohBfjadHV8e7OjwEtEBPspqVeU\nlv10SI4Kp9lxAAAAmgwFDwDAFEVlFfpsyxFd1a+dgv18zI4DL3LTkE7KKnRoZepxs6MAAAA0GQoe\nAIApPt96RIVlFZoxpLPZUeBlRsZGqX2ovxb/eNDsKAAAAE2GggcAYIpFPxxQTFSwBnVpbXYUeBmb\n1aIbB3dScnqmDuYUmx0HAACgSVDwAACa3PbD+dpyKF8zLussi8Vidhx4oRsvrVq4e+lGRvEAAICW\ngYIHANDk3vvxgPx8rJo8oKPZUeClosMCNDI2Uks3HlRFJYstAwAA70fBAwBoUkVlFfp40xFNjG+v\n0EBfs+PAi900pLOOnyzTqp0nzI4CAADQ6Ch4AABNisWV0VRG94pS21Z+eueHA2ZHAQAAaHQUPACA\nJmMYht76LkOxbVlcGY3P12bVzZd10dq0TO39/+3de1zUdaL/8fdcmOEyICAC3hBEEc0bWJqtZGVe\novZkpeXasazdMmurPbpum2uuDzO1Nn/V1k8zSyvLwLLazrbW0bOVlqZFoWKIiTfAG6JchtvAzJw/\nNMo0QQW/A7yej8c8Zr7z/cx33uDXubz5XgqdRscBAABoUhQ8AICLJmPfcW0/UKo7r4jl4Mq4KMYN\n7Cw/i0nLv9xndBQAAIAmRcEDALholm3YqxB/q25K6mh0FLQSkcH+Su3TXu98na/y6lqj4wAAADQZ\nCh4AwEVxqKRKH2Ud0m2XdVagzWp0HLQidwyOVVl1rd77tsDoKAAAAE2GggcAcFG8uWmfPF6vJlwe\na3QUtDLJMaHq3TFEr2/cK6/Xa3QcAACAJkHBAwBoclU1bq3YtF/DEiMV0zbQ6DhoZUwmk+4YHKud\nh53akFtkdBwAAIAmQcEDAGhy/9x6UEXlLt15RazRUdBK/Ue/Dopw2LRk/W6jowAAADQJCh4AQJPy\ner1asm63EqODNaRbhNFx0Er5+1l05+BYfZpTqJ2Hy4yOAwAA0OgoeAAATerTnYXKOVyme1K6cmp0\nGOo/L+8ifz+zXmYrHgAA0AJR8AAAmtRLn+1WdIi/ft2vg9FR0MqFBdk0dkBnvf/tAR0prTI6DgAA\nQKOi4AEANJmt+cXauLtIdw+Jlc3KWw6M99shcarxePTaxr1GRwEAAGhUfNoGADSZxet2K9hu1W8G\nxhgdBZAkxUYEaUSvKL3x5X45q2uNjgMAANBoKHgAAE1iX1G5Vm87qPGDYhTs72d0HKDOfUPjVVJZ\noze/3Gd0FAAAgEZTb8Hj8Xg0c+ZM3XbbbZowYYL27Tv1w9Crr76qsWPHauzYsXrhhReaLCgAoHlZ\n+EmurBaz7h4SZ3QU4BRJMWFK6R6hJet3q6rGbXQcAACARlFvwbN27Vq5XC6lp6dr6tSpmj9/ft28\nvLw8ffDBB0pLS1N6ero+//xz7dixo0kDAwB8X96xCq36Jl/jB8YoKsTf6DjAaR68pruOOl16a/N+\no6MAAAA0inoLnoyMDKWkpEiS+vfvr6ysrLp50dHRevnll2WxWGQ2m1VbWyu73d50aQEAzcKiz3Jl\nNpk0aWhXo6MAZzQwLlwD48K1+LPdqq5lKx4AAND8Wesb4HQ65XA46qYtFotqa2tltVrl5+en8PBw\neb1ePfXUU+rVq5fi4s68KX52dnbjpUaLVFVVxXqCBmFd8W2F5bVa+dV+jeweouIDe1V8wLgsrCs4\nmxu72fSXPcf0wodf65oYG+sK6sVrChqKdQUNxbqCxlRvweNwOFReXl437fF4ZLX++LDq6mpNnz5d\nQUFB+utf//qLy+nZs+cFRkVLl52dzXqCBmFd8W1v/SNLJpNJ02+6VB1DAwzNwrqCs0lM9Grljg16\nN7tc18YHs66gXrymoKFYV9BQrCtoqIyMjHrH1LuLVnJystatWydJyszMVEJCQt08r9er+++/Xz16\n9NDs2bNlsVguIC4AoLkrKK5U2uY83ZLcyfByB6iPyWTSH0ckqKC4Uh/tLDU6DgAAwAWpdwue4cOH\n64svvtC4cePk9Xo1d+5cLVu2TDExMfJ4PNq8ebNcLpfWr18vSZoyZYqSkpKaPDgAwPc8u2anZJIe\nHNbd6ChAgwzpFqFBceFK21qsB2+oVaCt3o9GAAAAPqneTzFms1mzZ88+5b74+Pi629u2bWv8VACA\nZmfXkTKt+iZfd/0qjq130GyYTCZNG9lDY17cqFc37NX9V3UzOhIAAMB5qXcXLQAAGuLpj3cq0GbV\n/VfF1z8Y8CGXxoZrYKdALf5st0oqa4yOAwAAcF4oeAAAFywzr1gfbT+k36XEqa3DbnQc4JzdkRSm\nksoaLf4s1+goAAAA54WCBwBwQbxer+avzlZ4kE2/S+lqdBzgvMSH2zW6fwe9/Pke5R+vMDoOAADA\nOaPgAQBckI+3H9KXu4/pv67tLoedA9Si+frTqESZTdKTH+UYHQUAAOCcUfAAAM5bVY1bT/wrWz2i\ngvWbgTFGxwEuSIfQAN2b0lX/veWAMvYdNzoOAADAOaHgAQCct6Vf7FHesUo9dkMvWS28paD5mzQ0\nXpHBdj3+z+/k9XqNjgMAANBgfBoHAJyXI6VV+v//3qVre0ZpSPcIo+MAjSLIbtUfR/ZQZl6x3vu2\nwOg4AAAADUbBAwA4L/NW75DL7dFfru9pdBSgUY1J7qT+nUP1xIfZKqngtOkAAKB5oOABAJyzL3Yd\n1XvfFmjy0HjFRQQZHQdoVGazSXNG99bxCpee+niH0XEAAAAahIIHAHBOqmrcmvF+lmLbBur+q7sZ\nHQdoEr07ttHEK+K0YvN+ZeYVGx0HAACgXhQ8AIBzsvDTXO05Wq45o/vI389idBygyUwZkaDIYLv+\n8t421bo9RscBAAA4KwoeAECD7TpSphc/zdXo/h04sDJaPIfdqlm/vkTbD5Rq8brdRscBAAA4Kwoe\nAECD1Lo9mrJyi4LsFv3l+l5GxwEuiuv6tFdqn2g9t/Z75RwqMzoOAADAL6LgAQA0yKJPc7U1v0RP\n3NRH7YLtRscBLprZN/aWw9+qae9sYVctAADgsyh4AAD12n6gRM/97/f6j34dlNqnvdFxgIsqwmHX\n4zf21tb8Er34Wa7RcQAAAM6IggcAcFZVNW5NXblFYUE2zb7xEqPjAIa4vm973dC3vZ5d+z1n1QIA\nAD6JggcAcFZz/5WtHYfK9NQtfRUaaDM6DmCYJ0b3UVSIvx5661uVVdUYHQcAAOAUFDwAgF/0r20H\n9frGfbonJU5XJ0YaHQcwVJtAPz03rr8Kiis14/0seb1eoyMBAADUoeABAJzR/qIKPfLOVvXrHKpp\nIxONjgP4hEtjw/WHYd31j8wDejsj3+g4AAAAdSh4AACnqapx6/dvfSOZpBd+kySblbcL4Af3X91N\nV8S31WPvZ2lbfonRcQAAACRR8AAAfsbr9erRd7dpa36JFoztp87hgUZHAnyKxWzS879JUoTDrknL\nv1aRs9roSAAAABQ8AIBTvbx+j977tkBThidoxCXRRscBfFJbh12LJwxQUblLD6z4RjVuj9GRAABA\nK0fBAwCo89nOQs1bna3rekfr91d3MzoO4NN6d2yj+bf00Ze7j+mvH2znoMsAAMBQVqMDAAB8Q1ZB\nie5/I0MJUcF6emw/mc0moyMBPu+mpE76/rBTCz/NVcfQAD1AMQoAAAxCwQMA0P6iCk1c9pVCA216\n7e6BCrLz9gA01B9H9FBBcaX+9nGOOoYGaHRSR6MjAQCAVohP8ADQyhU5q3Xnss2qcXuUdu8gRYX4\nGx0JaFbMZpOeGtNXh0urNO2dLWoT6Kere0QaHQsAALQyHIMHAFqx4+Uu3f7yJh0ortTSiZeqW2Sw\n0ZGAZslutWjxhEuVEBWs+5ZnaMOuo0ZHAgAArQwFDwC0UsUVJ8qd3UfL9cqdl2lAl3CjIwHNWpsA\nPy3/7SDFtg3Sb1/7Wl/tPWZ0JAAA0IpQ8ABAK3S83KUJr2zWriNOvTRhgIZ0jzA6EtAihAfZ9Mbv\nBql9qL8mLt2sDblsyQMAAC4OCh4AaGUOFFdq7OKNyjlcphcnJOsqjhUCNKp2wU42f0cAAA7xSURB\nVHal3XO5OoYFaOKyr7T2u8NGRwIAAK0ABQ8AtCK7jjg1ZtEGHSqp0mt3DdQ1iVFGRwJapMgQf6Xf\nO1g924do0hsZWpWRb3QkAADQwlHwAEArsTG3SGNe3CCX26O0ey/X4Pi2RkcCWrSwIJve/N0gDYoL\n19S3t+j//U+OPB6v0bEAAEALRcEDAK3AW5v3a8Irm9Q2yKZ37rtCvTu2MToS0Co47Fa9etdAjR3Q\nSX//9y49mPatqmrcRscCAAAtkNXoAACAplNd69YTH2br9Y37NDShnZ4fn6QQfz+jYwGtis1q1lNj\n+io+0qEnP9qhPYXlWnh7smIjgoyOBgAAWhC24AGAFmrv0XLdsmiDXt+4T/de2VVLJ15GuQMYxGQy\n6b6h8XrlzktVUFypXz//uT7KOmh0LAAA0IJQ8ABAC+P1evXuN/m64fnPlXesUkvuuFTTU3vKYjYZ\nHQ1o9a5JjNI/Hxyiru2CdN8b3+jRd7epvLrW6FgAAKAFoOABgBbkSFmV7nk9Q1NWblFidLA+fGiI\nhvfiTFmAL+kcHqiV9w3WpCu7Ku2r/Rr13Dpt3nPM6FgAAKCZo+ABgBbA4/EqbfN+jXhmndZ/X6gZ\n1/dU+qTB6hQWaHQ0AGdgt1r0aGpPpd87WCaZdNtLG/Xou9tUXOEyOhoAAGimOMgyADRz2/JL9Ng/\nspSZV6zLYsM07+a+6hbpMDoWgAYYGBeu1Q+n6Jk1O7Vsw159vP2Q/jwqUbcM6MRulQAA4JxQ8ABA\nM5V3rEIL/idH72ceUITDrmdu66fR/TvKZOJLIdCcBNmtmnFDL92c3Ekz3t+mP63aqpc/361pIxN1\nbc9I/k8DAIAGoeABgGYm71iFlqzfrbc275fFbNLkq+I1+ap4zpAFNHO9OoRo1eQrtDrrkJ7+OEf3\nvP61BnQJ07SRPTQoLpyiBwAAnBUFDwA0E9kHS7X4s1z999aDMpukMQM66eFhCYpu4290NACNxGQy\nKbVPew3vFaW3v87Xc/+7U+Ne+lL9O4fqnpSuGnlJlKwWDqEIAABOR8EDAD6sxu3Rv3cc0YpN+/XZ\nzkIF2Sy664pY/TYlTu3bBBgdD0AT8bOYNX5QjG5K6qi3M/L0yud79MCKb9Q5PEB3XRGnm5M7KjTQ\nZnRMAADgQyh4AMAH7TlarvSv8vRORr6OOqsVFWLX1OEJumNwrNoEsisW0FoE2Cy6Y3Csbh/URWu+\nO6yX1+/W7H9+p/mrd2j4JVEaO6CTUrq344DMAACAggcAfMXuQqdWZx3S6qyDyioolcVs0jWJkRp3\nWWcNTWjHbhlAK2YxmzSqd7RG9Y5WVkGJ3snI1z8yC/Th1oOKCrHrut7tNeKSKA2MDee1AgCAVoqC\nBwAMUl3rVsbe41r3/VF9mnNEOw6VSZKSYkI1PTVRN/bvqKgQjq8D4FS9O7ZR745t9Ghqov6dfUSr\nvinQW5v369UNexUa6KdhiVG6OrGdroiPUHgQu3EBANBaUPAAwEVS6XJra36xMvYf16bdx7RpT5Gq\najyymk0a0CVMM2/opVG9o9UhlGPrAKif3WrRdX3a67o+7VXhqtW6nYX6ePthrfnukFZ9ky9J6tk+\nREO6tdXAuLbq17mNIoMpjQEAaKkoeACgCZRX1yrncJmyD5Zqx8Eybc0v1vYDpar1eCVJ8e2CNO6y\nGKV0j9Cgrm3lsPNyDOD8BdqsGtW7vUb1bq9at0dbC0q0YddRfbGrSK9t3Kcl6/dIkjq08Ve/zqHq\n1zlUfTu1UY+oYLV12A1ODwAAGgPfKADgPHk8Xh0qrdLeonLtK6rQ3qJy7T1arh2HyrSvqKJuXLDd\nql4dQnTvlV01oEuYkmLC2G0CQJOxWsxKjglTckyYfn9Nd1XVuLX9QIky80q0Ja9YW/KLtTrrUN34\n8CCburVzqFuUQ90jHYqLCFLn8EB1DA2Qv5/FwJ8EAACcCwoeAPgZj8ersupalVTUqNBZrcOlVTpU\nUqXDpScuh0qrdLi0WgXFlXLVeuoe52cxqXN4oHq1D9EtyZ2UGB2snu1D1CksQCYTZ7gBYAx/P4sG\ndAnXgC7hdfcdL3dpW0GJvj/i1K4jZdp1xKkPtx5USWXNKY9tF2xXp7AAdQoLVFSwXe1+fnHYFRZo\nk5mzeAEAYLh6Cx6Px6NZs2YpJydHNptNc+bMUZcuXermr1y5UmlpabJarZo8ebKuvvrqJg0MAD9X\n6/aoxu2Vq9Yjl/vEparGrUqXW+XVtapwuVXuOnFdUV2rcpdbFa5alVe7VVpZo+LKGh2vcKmk4sTt\n4gqXTu5JdQqbxazIELuiQ/zVq32Iru0ZqdiIIMW2DVJMeKA6hAZwqmIAzUJYkE1XJrTTlQnt6u7z\ner0qdFZrX1GF8o9XKP9YpfKPVyrveIW25BWrsKxalTXu05ZlNkkhAX5qE+CnEP+T1wHWuumQAD85\n7FYF+Fnkb7Mo0M+iANvJi59FgSev/W0W2Sxm+VnMvJYCAHAe6i141q5dK5fLpfT0dGVmZmr+/Pla\ntGiRJKmwsFDLly/XqlWrVF1drfHjx+tXv/qVbLbTdz14aV3uWZ/He4YvU6eNqX9Ig5ZzYln1D2zo\nshr0fA1YWGP9Dhq+rIubqb6FFR49poi8nEbJJF38n6+xfucNfcKG/X+4+L8Dj9crt8crj9dbd9vt\nOZHFfXLa69WJ+73eE/d7vHJ79ePtH8Z4var1nChuatyeuuuKapc82l83faYypj4Ws0mBNovaBPgp\nNNBPoQE2dQwNUGign8ICbWoTcOI63GFTdIi/okL8FRbox5Y4AFosk8mkyGB/RQb767LY8NPme71e\nlbvcOlpWrUJntQrLTlyOOqtVUlmjksoalZ68PlRaVTdd/ZMtHRvKbJL8LOYThY/VLD+LSX4ny5+f\n3rZZzLJaTLKYTTKZTLKYJLPp5G3zidtms0nms847ebvu8sPv48ffyw+v/EXHitR2b7ZMMv04/6dj\nT440mVT3mB9m/nzcTx9f95ifvcecWI7pp4tpVZrzj3zkSLEij5z9+88vaY3/1tKP63prc/hIsaIK\ndxsdA81AclD9Y+oteDIyMpSSkiJJ6t+/v7Kysurmbd26VUlJSbLZbLLZbIqJidGOHTvUt2/f05Yz\nIKj4HKKjVWrrL8lpdApcVCb51sc3ryTXyctJTqnCKe05IO0xKhYuSEZGhtER0EywrjScWVKUpCi7\npFOO0Ww5efElXp3Dn6POLipAUkW9wwA5bJL4/oMGiLNJOm50CrQQ9RY8TqdTDoejbtpisai2tlZW\nq1VOp1PBwcF184KCguR0nv4FfcCAAY0UFwAAAAAAAD9nrm+Aw+FQeXl53bTH45HVaj3jvPLy8lMK\nHwAAAAAAADS9egue5ORkrVu3TpKUmZmphISEunl9+/ZVRkaGqqurVVZWptzc3FPmAwAAAAAAoOmZ\nvPUchfWHs2jt3LlTXq9Xc+fO1bp16xQTE6Nhw4Zp5cqVSk9Pl9fr1aRJkzRy5MiLlR0AAAAAAABq\nQMHTWHJzc3Xrrbdqw4YNstvt9T8ArU5FRYWmTp2qkpISBQQE6G9/+5vCw08/iwdQVlamadOmyel0\nqqamRn/+85+VlJRkdCz4sDVr1uijjz7SggULjI4CH/LDH7FycnJks9k0Z84cdenSxehY8GFbtmzR\n008/reXLlxsdBT6qpqZG06dPV0FBgVwulyZPnqxhw4YZHQs+yO12a8aMGdqzZ48sFovmzZunmJgY\no2PBRxUVFenmm2/W0qVLFR8f/4vj6t1FqzE4nU49+eSTZzx9OvCDlStX6pJLLtGKFSt0/fXXa+HC\nhUZHgo9atmyZLr/8cr3xxhuaN2+eZs+ebXQk+LA5c+ZowYIF8njO/VTNaNnWrl0rl8ul9PR0TZ06\nVfPnzzc6EnzYkiVLNGPGDFVXVxsdBT7sgw8+UGhoqFasWKElS5bo8ccfNzoSfNQnn3wiSUpLS9ND\nDz2kefPmGZwIvqqmpkYzZ86Uv79/vWObvODxer167LHHNGXKFAUEBDT106EZmzhxoiZPnixJOnDg\ngCIiIgxOBF81ceJEjRs3TtKJv36wVSDOJjk5WbNmzTI6BnxQRkaGUlJSJEn9+/dXVlaWwYngy2Ji\nYvT8888bHQM+btSoUXr44Yfrpi0Wi4Fp4MuuvfbaugKQ7z44myeffFLjxo1TZGRkvWPrPU36uXj7\n7bf12muvnXJfhw4dlJqaqsTExMZ8KjRzZ1pX5s6dq759++qOO+7Qzp07tWzZMoPSwZecbV0pLCzU\ntGnTNH36dIPSwZf80rqSmpqqTZs2GZQKvszpdMrhcNRNWywW1dbW1p0tFPipkSNHKj8/3+gY8HFB\nQUGSTry+PPTQQ/rDH/5gcCL4MqvVqkceeURr1qzR3//+d6PjwAe9++67Cg8PV0pKil566aV6xzf5\nMXiGDx+u6OhoSSfOwtW3b1+9+eabTfmUaAFyc3M1adIkrV271ugo8FE5OTmaMmWK/vSnP2no0KFG\nx4GP27Rpk9LS0vTMM88YHQU+ZN68eerXr59SU1MlSVdeeWXdmUOBM8nPz9eUKVO0cuVKo6PAhx08\neFAPPPCAxo8frzFjxhgdB81AYWGhbr31Vn344YcKDAw0Og58yO233y6TySSTyaTs7GzFxsZq0aJF\nateu3RnHN/mfqNasWVN3+5prrtHSpUub+inRTC1evFhRUVEaPXq0AgMD2aQVv2jXrl16+OGH9eyz\nz7J1IIDzlpycrE8++USpqanKzMxUQkKC0ZEANHNHjx7V3XffrZkzZ2rw4MFGx4EPe//993X48GFN\nmjRJAQEBMplMfP/BaX66ccyECRM0a9asXyx3pItQ8AANdcstt+iRRx7RqlWr5Ha7NXfuXKMjwUct\nWLBALpdLTzzxhCTJ4XBo0aJFBqcC0NwMHz5cX3zxhcaNGyev18v7DoAL9uKLL6q0tFQLFy6sO2HI\nkiVLGnRwVLQuI0aM0KOPPqrbb79dtbW1mj59OseVxAW7aKdJBwAAAAAAQNO4KKdJBwAAAAAAQNOh\n4AEAAAAAAGjmKHgAAAAAAACaOQoeAAAAAACAZo6CBwAAAAAAoJmj4AEAAAAAAGjmKHgAAAAAAACa\nuf8Dj3X5wzW3jL4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f, axes = plt.subplots(df.shape[1], sharex=True, figsize=(16, 5*df.shape[1]))\n", "for axis, shell in zip(axes, df.columns):\n", " axis.plot(np.log10(zetas), df[shell])\n", " axis.set_title('{} shell completeness: {:8.4f}'.format(shell, df[shell].sum()/df[shell].size), fontsize=18)\n", " axis.set_ylim(0.0, 1.1)\n", "plt.xlim(-4, 4)\n", "plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "application/json": { "Software versions": [ { "module": "Python", "version": "3.6.3 64bit [GCC 7.2.0]" }, { "module": "IPython", "version": "6.2.1" }, { "module": "OS", "version": "Linux 4.9.0 4 amd64 x86_64 with debian 9.1" }, { "module": "chemtools", "version": "0.8.4" }, { "module": "mendeleev", "version": "0.4.0" }, { "module": "scipy", "version": "1.0.0" }, { "module": "numpy", "version": "1.13.3" }, { "module": "matplotlib", "version": "2.1.0" }, { "module": "seaborn", "version": "0.8.1" } ] }, "text/html": [ "
SoftwareVersion
Python3.6.3 64bit [GCC 7.2.0]
IPython6.2.1
OSLinux 4.9.0 4 amd64 x86_64 with debian 9.1
chemtools0.8.4
mendeleev0.4.0
scipy1.0.0
numpy1.13.3
matplotlib2.1.0
seaborn0.8.1
Mon Nov 27 14:11:32 2017 CET
" ], "text/latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 3.6.3 64bit [GCC 7.2.0] \\\\ \\hline\n", "IPython & 6.2.1 \\\\ \\hline\n", "OS & Linux 4.9.0 4 amd64 x86\\_64 with debian 9.1 \\\\ \\hline\n", "chemtools & 0.8.4 \\\\ \\hline\n", "mendeleev & 0.4.0 \\\\ \\hline\n", "scipy & 1.0.0 \\\\ \\hline\n", "numpy & 1.13.3 \\\\ \\hline\n", "matplotlib & 2.1.0 \\\\ \\hline\n", "seaborn & 0.8.1 \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Mon Nov 27 14:11:32 2017 CET} \\\\ \\hline\n", "\\end{tabular}\n" ], "text/plain": [ "Software versions\n", "Python 3.6.3 64bit [GCC 7.2.0]\n", "IPython 6.2.1\n", "OS Linux 4.9.0 4 amd64 x86_64 with debian 9.1\n", "chemtools 0.8.4\n", "mendeleev 0.4.0\n", "scipy 1.0.0\n", "numpy 1.13.3\n", "matplotlib 2.1.0\n", "seaborn 0.8.1\n", "Mon Nov 27 14:11:32 2017 CET" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%version_information chemtools, mendeleev, scipy, numpy, matplotlib, seaborn" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 1 }