{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interoperability with Other Simulation Software\n", "The python programming language is great for hooking together software. We include interoperability with a few useful programs to help expand the types of workflows that can be done." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ASE Interoperability\n", "The [Atomic Simulation Environment](https://wiki.fysik.dtu.dk/ase/) provides access to a whole host of quantum chemistry codes. With this in mind, we provide a conversion routine to use ASE calculators with BigDFT systems. First we create a system." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from BigDFT.Systems import System\n", "from BigDFT.Fragments import Fragment\n", "from BigDFT.IO import XYZReader\n", "from copy import deepcopy\n", "\n", "sys = System()\n", "reader = XYZReader(\"H2O\")\n", "sys[\"FRA:1\"] = Fragment(xyzfile=reader)\n", "sys[\"FRA:2\"] = deepcopy(sys[\"FRA:1\"])\n", "sys[\"FRA:2\"].translate([-5, 0, 0])" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", "text/html": [ "
\n", "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", " jupyter labextension install jupyterlab_3dmol

\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from BigDFT.Visualization import InlineVisualizer\n", "viz = InlineVisualizer(300,200)\n", "viz.display_system(sys)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For quick usage, you can directly compute the energy using an ASE calculator." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.20284066010225557\n" ] } ], "source": [ "from ase.calculators.lj import LennardJones\n", "from BigDFT.Interop.ASEInterop import ase_potential_energy\n", "print(ase_potential_energy(sys, LennardJones()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also do a conversion from BigDFT system to ase Atoms so that you can use the full feature set." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Step Time Energy fmax\n", "BFGS: 0 16:39:50 5.519576 63.2394\n", "BFGS: 1 16:39:50 -3.328517 3.4001\n", "BFGS: 2 16:39:51 -3.486488 3.3784\n", "BFGS: 3 16:39:51 7.593611 73.1586\n", "BFGS: 4 16:39:51 -3.619863 3.3175\n", "BFGS: 5 16:39:51 -3.743778 3.2154\n", "BFGS: 6 16:39:51 13.439315 101.9495\n", "BFGS: 7 16:39:51 -3.832216 3.1079\n", "BFGS: 8 16:39:51 -3.913092 2.9772\n", "BFGS: 9 16:39:51 3.594851 53.0443\n", "BFGS: 10 16:39:51 -4.035308 2.7009\n", "BFGS: 11 16:39:51 -4.131903 2.3812\n", "BFGS: 12 16:39:51 -4.003748 6.5132\n", "BFGS: 13 16:39:51 -4.331593 1.2274\n", "BFGS: 14 16:39:51 -4.368607 0.7048\n", "BFGS: 15 16:39:51 -4.376254 0.5923\n", "BFGS: 16 16:39:51 -4.378013 0.5395\n", "BFGS: 17 16:39:51 -4.433053 1.0824\n", "BFGS: 18 16:39:51 -4.494141 2.3585\n", "BFGS: 19 16:39:51 -4.582936 2.5871\n", "BFGS: 20 16:39:51 -5.605277 4.6461\n", "BFGS: 21 16:39:51 -6.503090 11.9466\n", "BFGS: 22 16:39:51 -7.142740 4.0510\n", "BFGS: 23 16:39:51 -7.259370 1.4045\n", "BFGS: 24 16:39:51 -6.757661 13.9342\n", "BFGS: 25 16:39:51 -7.273352 0.3175\n", "BFGS: 26 16:39:51 -7.276004 0.2512\n", "BFGS: 27 16:39:51 -7.290056 0.9272\n", "BFGS: 28 16:39:51 -7.303244 1.4889\n", "BFGS: 29 16:39:51 -7.410491 8.4789\n", "BFGS: 30 16:39:51 -7.594891 17.8866\n", "BFGS: 31 16:39:51 -8.397100 11.5873\n", "BFGS: 32 16:39:51 -8.176955 12.0822\n", "BFGS: 33 16:39:51 -8.592177 9.8269\n", "BFGS: 34 16:39:51 0.193381 98.9857\n", "BFGS: 35 16:39:51 -9.043408 3.4415\n", "BFGS: 36 16:39:51 -9.209634 3.3122\n", "BFGS: 37 16:39:51 -9.484276 7.1137\n", "BFGS: 38 16:39:51 -9.750573 3.4700\n", "BFGS: 39 16:39:51 -10.067842 3.2004\n", "BFGS: 40 16:39:51 -8.983807 17.1815\n", "BFGS: 41 16:39:51 -10.217631 2.6489\n", "BFGS: 42 16:39:51 -10.295618 2.0651\n", "BFGS: 43 16:39:51 -10.348935 1.5299\n", "BFGS: 44 16:39:51 -10.374641 0.3840\n", "BFGS: 45 16:39:51 -10.376613 0.1025\n", "BFGS: 46 16:39:51 -10.376714 0.0579\n", "BFGS: 47 16:39:51 -10.376721 0.0416\n", "-0.38133745350919324\n" ] } ], "source": [ "from BigDFT.Interop.ASEInterop import bigdft_to_ase\n", "from ase.optimize import BFGS\n", "from ase.units import Hartree\n", "\n", "asys = bigdft_to_ase(sys)\n", "asys.set_calculator(LennardJones())\n", "dyn = BFGS(asys)\n", "dyn.run(fmax=0.05)\n", "print(asys.get_potential_energy() / Hartree)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just take care to convert back. Unfortunately, ASE has no concept of a named collection of fragments, so we can only automatically convert back to a fragment. You need to take care to rematch the fragments." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.085749769735891\n" ] } ], "source": [ "from BigDFT.Interop.ASEInterop import ase_to_bigdft\n", "from BigDFT.Fragments import distance\n", "frag = ase_to_bigdft(asys)\n", "sys2 = System()\n", "sys2[\"FRA:1\"] = frag[0:3]\n", "sys2[\"FRA:2\"] = frag[3:]\n", "print(distance(sys2[\"FRA:1\"], sys2[\"FRA:2\"]))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", "text/html": [ "
\n", "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", " jupyter labextension install jupyterlab_3dmol

\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "viz = InlineVisualizer(300,200)\n", "viz.display_system(sys2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ASE also offers all kinds of high level operations such as geometry optimization. You might want to use that to drive a BigDFT calculation. This can be done with our BigASECalculator. First, create your standard system calculator and input file." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initialize a Calculator with OMP_NUM_THREADS=2 and command mpirun -np 2 /Users/wddawson/Documents/CEA/binaries/bds/install/bin/bigdft\n" ] } ], "source": [ "from BigDFT.Inputfiles import Inputfile\n", "from BigDFT.Calculators import SystemCalculator\n", "inp = Inputfile()\n", "inp.set_xc(\"PBE\")\n", "inp.set_hgrid(0.4)\n", "code = SystemCalculator()\n", "code.update_global_options()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now bundle them into a BigASECalculator." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating the yaml input file \"./input.yaml\"\n", "Executing command: mpirun -np 2 /Users/wddawson/Documents/CEA/binaries/bds/install/bin/bigdft\n", "-34.42723197438906\n" ] } ], "source": [ "from BigDFT.Interop.ASEInterop import BigASECalculator\n", "ase_code = BigASECalculator(inp, code)\n", "print(ase_potential_energy(sys, ase_code))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Open Babel\n", "Open babel offers a huge variety of features for cheminformatics. For example, we can compute the smiles representation of our system." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "from BigDFT.Interop.BabelInterop import compute_smiles" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "O.O\n" ] } ], "source": [ "print(compute_smiles(sys))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or use openbabel's forcefields to compute the energy of a system." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.00543185723335428\n" ] } ], "source": [ "from BigDFT.Interop.BabelInterop import system_energy\n", "print(system_energy(sys, forcefield=\"UFF\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or even optimize the geometry." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from BigDFT.Interop.BabelInterop import optimize_system\n", "sys2 = optimize_system(sys, forcefield=\"uff\")" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.005804044885758168\n" ] } ], "source": [ "print(system_energy(sys2))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", "text/html": [ "
\n", "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", " jupyter labextension install jupyterlab_3dmol

\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "viz = InlineVisualizer(300,200)\n", "viz.display_system(sys2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Direct conversion routines are available so that you can access the full feature set." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6\n" ] } ], "source": [ "from BigDFT.Interop.BabelInterop import convert_system_to_babel\n", "bsys = convert_system_to_babel(sys)\n", "print(bsys.NumAtoms())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## XTB Interoperabilty\n", "[XTB](https://xtb-docs.readthedocs.io/) is a program for performing semi-empirical calculations of systems. It has a rich feature set, so we have added an API that makes it similar to running BigDFT. First create a calculator." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initialize a Calculator with OMP_NUM_THREADS=2 and command xtb\n" ] } ], "source": [ "from BigDFT.Interop.XTBInterop import XTBCalculator\n", "code = XTBCalculator(skip=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Running a calculation will return a logfile." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Executing command: echo \"skip\"\n" ] } ], "source": [ "log = code.run(sys=sys, name=\"xtb-run\")" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-10.135168148639\n", "0.016864127201\n" ] } ], "source": [ "print(log.energy)\n", "print(log.gradient_norm)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "XTB has two ways of adding options to your simulation. Unfortunately, some features are activated via the command line, and others via the input file. For example, let's try running some molecular dynamics of our system." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Executing command: echo \"skip\"\n" ] } ], "source": [ "inp = {}\n", "inp[\"md\"] = {\"temp\": 300, \"time\": 2, \"step\": 1}\n", "\n", "logmd = code.run(sys=sys, name=\"omd\", md=True, inp=inp)\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0, 'Time')" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "fig, axs = plt.subplots(1,1)\n", "axs2 = axs.twinx()\n", "axs.plot(logmd.md_energy, 'kx--')\n", "axs2.plot(logmd.md_fnorm, 'r.--')\n", "axs.set_ylabel(\"Energy\")\n", "axs2.set_ylabel(\"Force\")\n", "axs.set_xlabel(\"Time\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You will notice that to specify things like the temperature and number of steps, we had to use an input dictionary. This will be written in a straightforward way to XTB's input file." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "$coord\n", " 0.0 0.0 0.22166487441148175 o\n", " 0.0 1.4309006215206648 -0.886659497645927 h\n", " 0.0 -1.4309006215206648 -0.886659497645927 h\n", " -5.0 0.0 0.22166487441148175 o\n", " -5.0 1.4309006215206648 -0.886659497645927 h\n", " -5.0 -1.4309006215206648 -0.886659497645927 h\n", "$end\n", "$md\n", " temp=300\n", " time=2\n", " step=1\n", "$end\n" ] } ], "source": [ "with open(\"omd.tmol\") as ifile:\n", " for line in ifile:\n", " print(line, end=\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, to trigger an MD run, we had to pass the \"omd\" option to the run command. This is because it corresponds to a command line parameter. By carefully reading the XTB documentation, you should be able to access all of its features." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PSI4 Interoperability\n", "[PSI4](https://psicode.org/) is an ab initio quantum chemistry program. Beyond standard Hartree-Fock and DFT calculations, it can do a lot of post Hartree-Fock methods. One of its unique capabilities is efficient calculation of symmetry adapted perturbation theory to quantify inter-molecular forces.\n", "\n", "PSI4 is in-fact a python based package, so you could do the interoperability yourself. We provide a procedure which can convert to a PSI4 type:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "from BigDFT.Interop.PSI4Interop import bigdft_to_psi4\n", "print(bigdft_to_psi4(sys))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We also provide a calculator to handle conversion automatically and extract quantities into a logfile. This calculator works like other calculators. You just have to specify the system, the basis set, the ab initio method, the action to take (energy, optimize, frequency), and any other options for psi4." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "from BigDFT.Interop.PSI4Interop import PSI4Calculator\n", "code = PSI4Calculator()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "log = code.run(sys=sys, action=\"energy\", basis=\"jun-cc-pvdz\",\n", " psi4_options={\"scf_type\": \"direct\"}, method=\"scf\", name=\"psi4-run\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The logfile is basically just a dictionary, so you can inspect it to see what values were extracted (which depend on the action and possibly the method). You can also parse the output of psi4 yourself by accessing the line split internal logfile." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'energy': {'total': -152.0602609128111}}\n" ] } ], "source": [ "print(log)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " => Loading Basis Set <=\n", "\n", " Name: JUN-CC-PVDZ\n", " Role: ORBITAL\n", " Keyword: BASIS\n" ] } ], "source": [ "print(\"\\n\".join(log.log[4:9]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To do an SAPT calculation, just specify the method as one of the available SAPT methods. Additionally, you need to pass a system which has exactly two fragments in it." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "log = code.run(sys=sys, action=\"energy\", basis=\"jun-cc-pvdz\", method=\"sapt0\", name=\"psi4-sapt-run\")" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'energy': {'sapt0': {'electrostatics': 0.00348873311, 'exchange': 0.012796787950000001, 'induction': -0.00118507077, 'dispersion': -0.00151177894, 'total': 0.01510045029}, 'sSAPT0': {'electrostatics': 0.00348873311, 'exchange': 0.012796787950000001, 'induction': -0.00109741424, 'dispersion': -0.00149617961, 'total': 0.0136919272}}}\n" ] } ], "source": [ "print(log)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is also possible to do geometry optimization." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimizer: Optimization complete!\n" ] } ], "source": [ "log = code.run(sys=sys, action=\"optimize\", basis=\"6-31g\",\n", " method=\"scf\", name=\"psi4-sapt-opt\")" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0, 'Step')" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdUAAAEUCAYAAAB9DazmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAABEgElEQVR4nO3deXxU1f3/8dcnCQEiO3FBUHFBAa1LBQUXNK4sKqIlX6lVtCqiRbu4QRXr0lpBa1XqT6t+UfzWLdaNIhURghuowX1FkKKyFBQUUCEQ8v79ce+ESZgkkzAzNyGf5+NxHzP33nPvPXcC85lz7llMEs4555zbellRZ8A555zbVnhQdc4551LEg6pzzjmXIh5UnXPOuRTxoOqcc86liAdV55xzLkU8qKaQmQ01s4/MrNzMetWQbpGZfWBm75rZ3NqON7NcM3sgPOY9Mzs6ibw8bGbzzOxDM5toZs229v6cc87VzINqan0InAa8nETaAkkHSooPvtUdfwGApJ8AxwN/MbPa/nYPA92BnwAtgfOTyJNzzrmt4EE1hSR9ImleGo7vCcwI06wAvgN6AZjZCWY2x8zeNrMnzKxVmG6qQsCbQJf65ss551xyPKhGQ8ALZvaWmY1IIv17wGAzyzGz3YGDgV3MLB+4BjhO0k+BucDv4g8Mq33PAp5P6R0455zbQk7UGWhszOxFYKcEu66W9GySpzlc0lIz2wGYbmafSqqpyngi0IMgaH4BzAbKgD4EpdjXzAwgF5hT5dj/B7ws6ZUk8+acc66ePKjWkaTjUnCOpeHrCjN7GjiEGp7DSioDfhtbN7PZwHxgT2C6pGGJjjOzPwDbAxdubZ6dc87Vzqt/M8zMtjOz1rH3wAkEDZRqOiYvTIuZHQ+USfoYeB043Mz2iku3d/j+fOBEYJik8rTdkHPOuQoeVFPIzIaY2WKgL/CcmU0Lt+9sZlPDZDsCr5rZewQNiJ6T9HxNxwM7AG+b2SfAVQTPSJH0NXAO8KiZvU8QZLuHx9wTXmtO2HXn2nTeu3POOTCf+s0555xLDS+pOueccykSeUMlM+sAPA50BRYBhZK+TZCuP3AHkA3cL+nmcPt1BIMjfB0m/b2kqeGzx5sJWsRuAK6QNDM8ZhbQCVgXHnNC2P+zRllZWWrZsmW97tM555qqH3/8UZKaRCEu8upfMxsPrJJ0s5mNBtpLuqpKmmzgM4LRhBYDJQQNcD4Og+r3km6tcsxBwPKw68p+wDRJncN9s4DLJc2lDrbbbjv98MMP9bpP55xrqszsR0nbRZ2PTGgIvxwGA5PC95OAUxOkOQRYIGmhpA3AY+Fx1ZL0TqzrCvAR0MLMmqcmy84559yWGkJQ3VHSMoDwdYcEaToDX8WtLw63xYwys/fDgePbJzj+dOAdSaVx2x4IW8WOtXDkhETMbISZzTWzuWVlZUnflHPOuaYnI0HVzF4MZ0uputRY2ow/RYJtsXrruwkGQTgQWAb8pcq19wXGUXkAhDPDwemPDJezqruwpHsl9ZLUKycn8kfQzjnnGrCMRImaRiEys+Vm1knSMjPrBCRqMLQY2CVuvQsQG5Voedy57gOmxK13AZ4Gzpb0eVx+loSva83sEYLq5Yfqc2/OOedcTEOo/p0MDA/fDwcSjZ9bAnQzs93NLBc4IzyOMBDHDCEcncjM2gHPAWMkvRZLEA5Knx++bwacRC0jGjnnnHPJaAhB9WbgeDObT9C6N9ZVpmIUonDs21HANOAToEjSR+Hx48PJu98HCtg8Ru4oYC9gbPjs9N1wAPvmwLQw/bvAEuC+dNzY+PHjKS4urrStuLiY8ePHp+NyzjnnIhZ5l5rGpK5daoqLiyksLOT5P/yBg9eu5a3Wrel//fUUFRVRUFCQxpw651zD0ZS61HhQrYP69FN9629/o8cll9DcjFKJTyZM4OBRo9KUQ+eca3iaUlD15qxpdvDatZQDWRLNzTh47dqos+Sccy5NGsIz1W3aW61bI4L+P6USb7VuHXWWnHPOpYkH1TQqLi6m//XXMzc/n7VmfDJhAv2vv36LxkvOOee2DR5U06ikpISioiJ+7NaNlhIHjRxJUVERJSUlUWfNOedcGnhDpTqo74D6s047jaOffppV8+bRYe+905Az55xruJpSQyUvqWZA3oEH8l6bNqz/dosZ7Zxzzm1DvKRaBz71m3PO1Z2XVJ1zzjlXZx5UM2D96tXMb9GClwsLo86Kc865NPKgmgHN27Rhp9JSWLAg6qw455xLIw+qGWBmfNOsGc1Wrow6K84559LIg2qGfNeyJXmrV0edDeecc2nkQTVDfmzThjbr1kWdDeecc2nkQTVDNvbpw+KuXaPOhnPOuTTyfqp14P1UnXOu7ryfqnPOOefqzINqhrwzYQKrzfjo73+POivOOefSxINqhuTusANtgR+8r6pzzm2zIg+qZtbBzKab2fzwtX016fqb2TwzW2Bmo+O2X2dmS8zs3XAZGG7vambr4rbfE3fMwWb2QXiuO83M0n2fHXv2BGDDl1+m+1LOOeciEnlQBUYDMyR1A2aE65WYWTZwFzAA6AkMM7OecUn+KunAcJkat/3zuO0j47bfDYwAuoVL/9Te0pby99mHjYCWLk33pZxzzkWkIQTVwcCk8P0k4NQEaQ4BFkhaKGkD8Fh4XJ2ZWSegjaQ5Cpo+P1TNNVMqJzeXr7OyyF6xIt2Xcs45F5GGEFR3lLQMIHzdIUGazsBXceuLw20xo8zsfTObWKX6eHcze8fMXjKzI+POtbiGc1ViZiPMbK6ZzS0rK6vDbW3p0z59KD/ssK06h3PObWuqe7wXt9/CR3ULwu/6n8btm2hmK8zswyrHJPVoMdUyElTN7EUz+zDBkmxpM9Ezz1gH27uBPYEDgWXAX8Lty4BdJR0E/A54xMza1HKuLXdI90rqJalXTk5OktlN7JjXXuOIBx7YqnM459y2JInHe4T7Yo/rRhB878c8SOJHeLU+WkyHrYsSSZJ0XHX7zGy5mXWStCysmk1UP7oY2CVuvQuwNDz38rhz3QdMCbeXAqXh+7fM7HNg7/BcXRKdKxN+/Ppr8rbfPlOXc865hq7i8R6AmcUe730cl2Yw8FD4yO51M2sXixuSXjazrgnOOxg4Onw/CZgFXJWeW9isIVT/TgaGh++HA88mSFMCdDOz3c0sFzgjPC72jDRmCPBhuH378BcQZrYHwS+chWEV81oz6xO2+j27mmum3IyjjqLFDjugjRszcTnnnGsocmKP0cJlRNy+2h7vJZumqmQeLaZcRkqqtbgZKDKz84AvgaEAZrYzcL+kgZLKzGwUMA3IBiZK+ig8fryZHUhQhbsIuDDc3g+4wczKgE3ASEmrwn0XEVQZtAT+HS5pZzvsQBbw7Wef0X7ffTNxSeecawjKJPWqZl8yj+Tq9NguSpEHVUkrgWMTbF8KDIxbnwpMTZDurGrO+yTwZDX75gL71TPL9Za7664ArPr4Yw+qzjkXqPbxXh3TVJXMo8WUawjVv01G3p57ArD2s88izolzzjUY1T7eizMZODtsBdwHWB2r2q1BMo8WU86Daga169EDgPX/+U/EOXHOuYZBUhkQe7z3CVAk6SMzG2lmsUF7pgILgQXAfcDFsePN7FFgDrCPmS0OHyVC8GjxeDObDxwfrqedT/1WB1s79dsPq1ZRMmgQO44cSY/hw2s/wDnntgFNaeo3D6p14POpOudc3TWloOrVvxm2+ssvWf7221FnwznnXBpE3vq3qZm///60AHb87ruos+Kccy7FvKSaYT+2aUPbH3+MOhvOOefSwINqhm3o2JH8jRvBn2U759w2x4NqhmmnnWgJlH79ddRZcc45l2IeVDMsZ5dgUJBvPvgg4pw455xLNW+olGG7DR3KS999x/677FJ7Yuecc42K91OtA++n6pxzdef9VF3alG/axPynn+a/b74ZdVacc86lmAfVDCsvL2eX007j89/8JuqsOOecSzEPqhmW06wZK7KyyPbWv845t83xoBqBVS1a0NJHVHLOuW2OB9UIfN+qFa28wZNzzm1zPKhGYH379nQoLY06G84551LM+6lGYMfRo1kwfz69o86Ic865lPJ+qnXg/VSdc67uvJ9qBplZBzObbmbzw9f21aTrb2bzzGyBmY2O236dmS0xs3fDZWC4/cy4be+aWbmZHRjumxWeK7Zvh4zcbOjbL75g7h//yLfz5mXyss4559Is8qAKjAZmSOoGzAjXKzGzbOAuYADQExhmZj3jkvxV0oHhMhVA0sOxbcBZwCJJ78Ydc2bcMSvScmfV+HzaNHqNHcuXjz+eycs655xLs4YQVAcDk8L3k4BTE6Q5BFggaaGkDcBj4XHJGgY8ujWZTKV23bsDULpoUbQZcc45l1INIajuKGkZQPiaqCq2M/BV3PricFvMKDN738wmVlN9/D9sGVQfCKt+x5qZVZc5MxthZnPNbG5ZWVlSN1Sb7ffdl3Kg7Kuvak3rnHOu8chIUDWzF83swwRLsqXNREEv1sLqbmBP4EBgGfCXKtc+FPhR0odxm8+U9BPgyHA5q7oLS7pXUi9JvXJyUtNYuk2HDnwNZC1fnpLzOeecaxgy0qVG0nHV7TOz5WbWSdIyM+sEJHq+uRiInyutC7A0PHdFZDKz+4ApVY49gyqlVElLwte1ZvYIQfXyQ8nf0dYxM1bm5pK7alWmLumccy4DGkL172RgePh+OPBsgjQlQDcz293McgkC5WSAMBDHDAEqSqRmlgUMJXgGG9uWY2b54ftmwEnxx2TKhjvvpP2992b6ss4559Io8n6qZtYRKAJ2Bb4EhkpaZWY7A/dLinWRGQjcDmQDEyX9Kdz+fwRVvwIWARfGntGa2dHAzZL6xF1vO+BloFl4rheB30naVFtevZ+qc87VXVPqpxp5UG1MUhlUP5s8mW+eeYbD7r8fshpChYFzzqVHUwqq/m0ekYV//zuHPfAApUuXRp0V55yLVHWD+8TtNzO7M9z/vpn9tLZjzexAM3s97OUx18wOycS9eFCNSLMuXQBY9fHHEefEOeeik8TgPoT7uoXLCIJeH7UdOx64PhwA6NpwPe08qEak5R57ALD6008jzolzzkUqmcF9BgMPKfA60C5spFrTsQLahO/bEvYYSTefpSYibfbeG4AfP/884pw451za5ZjZ3Lj1eyXFuj8kGtzn0CrHVzcAUE3H/gaYZma3EhQgD9uaG0iWB9WIdNh3XwA2+KhKzrltX5mkXtXsq2lwn9rS1HTsRcBvJT1pZoXA/wLVjpmQKh5UI7Ljnnvy6WOP0bNv36iz4pxzUap2cJ8k0uTWcOxw4Nfh+yeA+1OU3xr5M9WIZGdn0/1//oc2u+4adVaccy5K1Q7uE2cycHbYCrgPsDocj6CmY5cCR4XvjwHmp/tGwEuqkZo9ZgzZ337LoffcE3VWnHMuEpLKzGwUMI3Ng/t8ZGYjw/33AFOBgcAC4Efg3JqODU99AXCHmeUA6wlaDaedD/5QB6keUemlnXZi99Wr2XXdupSd0znnGhof/MFlRGn79nQoLY06G84551LEg2qENu2wA60ktHZt1FlxzjmXAh5UI5TVOZhnffW8eRHnxDnnXCp4UI1Q8912A+DbTz6JOCfOOedSwRsq1UGqGyr9sHIl67/5hvZ77klWjjfEds5tm5pSQyUPqnXg86k651zdNaWg6tW/ESorK2PGUUfx7h/+EHVWnHPOpYDXOUZk/Pjx9OrVi/1ffpn18+ZB//4Ur19PSUkJV155ZdTZc845Vw9eUo1I7969ueW00+gIdFm+nE0FBYwfMoTevXtHnTXnnHP15EE1IgUFBfxt6FAgmGahvLSUvw0dSkFBQbQZc845V2+RB1Uz62Bm081sfvjavpp0/c1snpktMLPRVfZdEu77yMzGx20fE6afZ2Ynxm0/2Mw+CPfdaWaJpg9Kuz1/+Us2xVZyctjzl7+MIhvOOedSJPKgCowGZkjqBswI1ysxs2zgLmAA0BMYZmY9w30FBDO97y9pX+DWcHtPghkL9gX6A/8vPA/A3QSDK3cLl/5pu7saFK9fz3W5uWwALs3NpXj9+iiy4ZxzLkUaQlAdDEwK308CTk2Q5hBggaSFkjYAj4XHQTAR7c2SSgEkrYg772OSSiX9h2B2g0PMrBPQRtIcBf2JHqrmmmlVXFxMYWEhRz39NDkbN1I4ZQqFhYUUFxdnOivOOedSpCEE1R3DefEIX3dIkKYz8FXc+uJwG8DewJFm9oaZvWRmvWs5pnP4PtG5tmBmI8xsrpnNLSsrq8Nt1aykpISioiJOGDiQrJwcCgoKKCoqoqSkJGXXcM45l1kZ6VJjZi8COyXYdXWyp0iwLTZqRQ7QHugD9AaKzGyPGo6p6Vxb7pDuBe6FYPCHJPNbq/huMy/270/LpUspeP99b6jknHONWEaCqqTjqttnZsvNrJOkZWHV7IoEyRYDu8StdyGY1T2276mwKvdNMysH8ms4ZnH4PtG5ImGLFrHfZ5+h8nIsqyFUHjjnnKuPhvANPhkYHr4fDjybIE0J0M3MdjezXIIGSJPDfc8AxwCY2d5ALvBNuP8MM2tuZrsTNEh6M6xiXmtmfcJWv2dXc82Msf33p63EirfeijIbzjnntlLSQdXMLjWz/DTk4WbgeDObDxwfrmNmO5vZVABJZcAoYBrwCVAk6aPw+InAHmb2IUEDpuEKfAQUAR8DzwO/khTrwXIRcD9B46XPgX+n4b6Slh9W+X7xr39FmQ3nnHNbKekB9c1sMkGJcBbwf8AzsRa3TUW6BtT/fskSWnXpwoxjj+XYF19M+fmdcy5KPqB+ApJOAXYjKNX9Bvivmd1vZv3SlLcmo1XnzrzXoQNZLVtGnRXnnHNbod5Tv5nZ/gQl1v0Iuq7cB9wh6fvUZa9h8anfnHOu7rykWgMzO9bMHiCoBl5O0NDnLOAgIn42uS3w+W2dc67xqktDpVvNbDFwJ/Ap8BNJJ0h6WNIrwDCCwOrq4fMHHmBJTg5z7r476qw451yTZWY9zGysmd0VrncPa2aTUpeSagtgiKR9JY2TtCR+p6SNQK86nM/F2b5nTzpv2sRKH6bQOeciYWZDgZcIRtk7K9zcCrgt6XN4dWPy0vpMtayM0txcnt9rLwZ/9ll6ruGccxFoLM9UzewTYJikd83sW0ntzawZsFTS9smcI+kRlczsFRIP51fK5lGNvKNlfeXksLRtW9ovXlx7Wuecc+mwA/Be+F5xr0mXPutS/TsL6EpQNP5H+LobMJegwdJEM7uyuoNd7b7fYw+6rVvHt99+G3VWnHMuY2qaLzvcb+Hc1wvM7H0z+2kyx1Y313YN3mJztW/MGcCbyd5LXcb+PQE4UdInsQ1m9jAwSdKhZvYUwYhGyWTcJdDy9NOZX1bG3t9/D+0TztXunHPblLj5so8nqPUsMbPJkj6OSzaAzfNfH0owJ/ahNR1bZa7tUjNLNANaVZcCL5jZecB2ZjaNYCa0E5K+nzqMqLQa2CF+FCUzawksk9QuXP9eUqtkL97YeD9V55yru5qeqZpZX+A6SSeG62MAJP05Ls3fgVmSHg3X5wFHE9SeJjzWzIqAeyXVaZg6M8sDTiKoif0KmFKX8RfqUv37MvCAme1lZi3MbC+CAR9eDTPyE2BZHc7nEti4bh1fffBB1NlwzrlUyonNSx0uI+L21TRfdm1p6jPXdrXMrDPQXFKRpFskPQY0M7Odk7lJqFtQHR6m/xj4AfgIyAbOCfdvIOir6rbCdx078sYRR0SdDeecS6UySb3ilnvj9iUzx3V95seOn2v7CoK5thOlj/cMlacGJVx/upbjKiQVVMN6698QBNAWwM5AS0nDJH0DIGmepLnJXtgltrZTJ3Zbs4Y1a9ZEnRXnnMuEmubLri1NUnNtS3oTiM21XZO9JVWqKgzXuydxH0CSQTWcMu1XwAZJ5ZKWSypP9iKuDn7yE/YF3nv77ahz4pxzmVDTfNkxk4Gzw1bAfYDV4dzY9ZlruyZfh482K4TrK5O9mbpU/04CRtYhvauHjgUF5AELp0+POivOOZd21c2XbWYjzSwWc6YCCwnmwL4PuLimY8NjEs61XUt2JgJPmtlJZtbTzE4G/kkw/3ZS6tL691WCpsxLCB4MVxwoqUlM/5aR1r9vvw0HH8yEo47iklmz0nst55zLgEY0olIWcBlwHkG18pfA/wK3JVs7W5d+qveFi0unnj354IwzOOKUU6LOiXPONRlh26GJwAhJt9T7PD72b/K8n6pzztVdIyqpLgN2DSeIqZe6TP1mZnaBmc00s/fDbf3MrLC+F3eJ/fjVV7xx66189dVXtSd2zjmXKn8Frg8bPdVLXRoq3UBQz3wvsGu4bTFwVX0v7hLbcPvtHHrFFfz7iSeizopzzjUllxD0aV1jZl+Z2ZexJdkT1CWongOcFI4wEasz/g+wRx3OsQUz62Bm081sfviacNDbug6abGbHm9lbZvZB+HpMXPpZYfp3wyWZMSEzpu2RRwLwtTdUcs65TPoFcBxwYvj+rLglKXVpqJQNxMY/jAXVVnHb6ms0MEPSzWGwHE2V0m89B03+BjhZ0lIz24+gyXX80FdnNtTBKuyAAwAof/fdaDPinHNNiKSXtvYcdSmpTgVuM7PmEDxjBW4EtnYO1cEEfWAJX09NkOYQYIGkhZI2EPQ5Ghzuuwi4OTbQv6QV4es7kmIja3wEtIjlvcHbbTfW5+bSYckSSktLa0/vnHNuq5lZMzO73swWmtn68LVOz1jrElR/RzA84WqgLUEJdTe2/pnqjuHIGISviapit3bQ5NOBd+Jn2CGYHOBdMxtb03iQZjYiNgh0WVlZXe6r/rKy+L5rV/YrL+ejjz6qPb1zzrlUGE9Q/TsSOCB8PQYYl+wJkq7+lbQGODWsXt0N+ErSf5M51sxeBHZKsOvqJC+f7KDJvQkGTd4jNnKGme1L8IHEz4d3pqQlZtYaeJKgvvyhRBcOB36+F4IuNUnmd6uMHz+ew84/n067787uP/kJAMXFxZSUlHDllT4PvHPOpclQ4ABJsWEJ55nZ28B7wG+TOUFdSqrxVgJ5ZraHmdXaUEnScZL2S7A8Cyw3s04A4euKBKeo16DJZhabXeBsSZ/H5WdJ+LoWeISgernB6N27N0PGj2dJx440a9aM4uJiCgsL6d271pmLnHPO1V91tZa1zW5ToS79VPub2RLgvwTjL8aW+cmeoxqTCaaVI3x9NkGaOg+abGbtgOeAMZJei7uPHDOLBd1mBJPRfriV95BSBQUFPDlpEo8PGsQv+/ShsLCQoqIiCgoKos6ac85ty54A/hXGux5m1p8gxhQle4K6jP37OXALMEnSunpktrrzdiTI8K4E4ywOlbQqnBT2fkkDw3QDgdsJWiFPlPSncHsuwdBSBxLM6Xq5pJlmdg0whspB/wSCuWBfBpqF53oR+F04E0+NMjqi0rffQocOXAWUX345t9xS71GznHMuUg19RCUz20nSf8N4cg3wc4I2REsIGsb+sUqbnOrPVYegugromMQo/9usTAbV4uJi9j3mGJYAV+TlcfWUKV5Sdc41So0gqK6R1CZu/WlJQ+pzrro8U/1f4Nz6XMTVTXFxMeOHDGH7rCwOBKasX8/4IUMoLi6OOmvOObctqvrM9Kj6nqguQbUPcLeZfWZmL8cv9b24S6ykpIS/DR2KSRiQU17O3372M0pKSqLOmnPObYtSVgNbl+rf4dXskqSE3VG2NRl9pjpnDhQUQGkppcAPU6bQYdCgzFzbOedSqBFU//4IDGJzifUZggGGKkqwkmYmda7agqqZ3Snp0rj18yT9b9z6k5JOTzr3jVjGp36bNYvy55/HTjkFO+ywzF3XOedSqBEE1UXUXFqVpKTGuU8mqFZ9gLtKUofq9m/LopxPVRI1DPzknHMNVkMPqqmUzDPVqt/kta27VJo+nYVHHMGeu+/O+vXro86Nc865GiQTVKsWZWtbd6n01Vfs8dpr5H7xBa+++mrUuXHOOVeDZMb+zQmnV7Nq1rPTkjMX6NsXgCOzs5k2bRrHHXdcxBlyzjlXnWSeqS6iltKopN1TmKcGK5JnquXl0LEjU/Ly+H3Hjrz//vuZvb5zzm2lpvRMNekuNS7Chkr9+/P1u++yw/LlLF26lE6dOmU+D845V09NKagmPfWbi1C/frRaupRfn346GZvT1TnnXJ15SbUOouxS45xzjVVTKqnWdz5VF4FNmzbxxhtvUF5eHnVWnHPOJeBBtbE4/3wWH344ffr04Z133ok6N845lzLh/KXzzGyBmY1OsN/M7M5w//tm9tM6HHu5mSk2j3a6eVBtRHb57DMApk2bFnFOnHMuNcwsG7gLGAD0BIaZWc8qyQYA3cJlBHB3Msea2S7A8QRzdWeEB9XGom9fsr79llN79PCg6pzblhwCLJC0UNIGgknBB1dJMxh4SIHXgXZm1imJY/8KXEkGBynyoNpY9OkDwM/32IPZs2ezZs2aiDPknHNJyzGzuXHLiLh9nYGv4tYXh9tIIk21x5rZKcASSe+l6B6S4l1qGosePaBtWw7LyqKsrIxZs2ZxyimnRJ0r55xLRpmkXtXsSzR+fNWSZXVpEm43szzgauCE5LOYGh5UG4usLBg1ih07d2b6pZdyxBFHRJ0j55xLhcXALnHrXYClSabJrWb7nsDuwHvh7F5dgLfN7BBJ/01p7quIvJ+qmXUAHge6AouAQknfJkjXH7iDYKzh+yXdHLfvEmAUUAY8J+lKM+sKfALMC5O9LmlkmP5g4EGgJTAV+LWS+CC8n6pzztVdTf1UzSwH+Aw4FlgClAA/l/RRXJpBBN/xA4FDgTslHZLMseHxi4Bekr5J9b1V1RCeqY4GZkjqBswI1yupqYVXOLj/YGB/SfsCt8Yd+rmkA8NlZNz2uwlakMVak/VP/W2lx+3XX88zEyfy+9//nkWLFgFQXFzM+PHjo82Yc87Vg6QygoA5jaAgVCTpIzMbaWax7+2pwEJgAXAfcHFNx2b4FippCCXVecDRkpaFrblmSdqnSpq+wHWSTgzXxwBI+rOZFQH3SnqxyjFdgSmS9quyvRNQLKl7uD4svP6FteU18pLq2rWUt2vHTbm5jF2/nrvuuosePXpQWFhIUVERBQUF0eXNOeeq4SMqZdaOkpYBhK87JEhTU+uwvYEjzewNM3vJzHrHpdvdzN4Jtx8Zd67F1ZxrC2Y2ItZiLfJxd1u3JmuffRh5wAFkZWVxxx13eEB1zrkGJCMNlczsRWCnBLuuTvYUCbbFitg5QHugD9AbKDKzPYBlwK6SVobPUJ8xs31rOdeWO6R7gXshKKkmmd/06duX/Gef5acHHcTct97i8ssv94DqnHMNREZKqpKOk7RfguVZYHlYJRurml2R4BQ1tQ5bDDwVdgp+EygH8iWVSloZXv8t4HOCUu3i8PhE52r4+vSBlSth/nwA7r77boqLiyPOlHPOOWgY1b+TgeHh++HAswnSlADdzGx3M8sFzgiPA3gGOAbAzPYmaGL9jZltHzZwIiy5dgMWhlXMa82sjwVtrc+u5poN0pvZ2QA8dNFFDBo0iCFDhlBYWOiB1TnnGoCG0E/1ZoIq2/MIxmccCmBmOxN0nRkoqczMYi28soGJcS28JgITzexDYAMwXJLMrB9wg5mVAZuAkZJWhcdcxOYuNf8Ol0Zh1ooVtP31r+lx4YX8q2tXzIzi4mJKSkq8Gtg55yIWeevfxiTy1r/VeP/999l///2jzoZzziXkrX9dw/bNN/DII/D99zz22GMccMABvP7661HnyjnnmjwPqo1RSQmceSa8+SYnnXQSbdu25Y477og6V8451+R5UG2MwhlrGDeOVh98wPnnn88TTzzB4sWLaz7OOedcWnlQbYw+/RTM4IUX4Nhjueyww5DEXXfdFXXOnHOuSfOg2hjNmrX5/YYNdJo3j9NOO40nnniC8vLyyLLlnHNNXUPoUuPq6uijoVkz2LABcnLg6KO5Y/hw2rZtS1aW/05yzrmoeJeaOmhQXWpmzIBp02DIEOjbt2JzeXk5ZkY4h6BzzkXOu9S4hu/YY2H8+EoBdf78+fTs2ZNp06ZFmDHnnGu6PKg2Zu+8Az/7GawIhkvebbfdWLNmDbfffnu0+XLOuSbKg2pjVl4OTz4ZVAMDt99+OwMGDGDatGl8/PHHgE9g7pxzmeRBtTE76CDYYQf4dzB0ce/evXn22Wdp1qwZd9xxB8XFxRQWFtK7d+9aTuSccy4VvKFSHTSohkoxw4fDlClBFXB2NsXFxQwcOJANGzbQrl07/vnPf/pA+865SHlDJdd4DBgAq1YFQxcCBQUFXHzxxZSXl/OrX/3KA6pzzmWQB9XG7oQT4MADYe1aIHiG+tBDDzF27Fjuvvtu/vGPf7Bp06Zo8+icc02ED/7Q2HXoELQChopnqEVFRRQUFNCjRw9+/vOfM3XqVB555JGIM+qcc9s+L6luK0pLeXv27IqACjBs2DBOOukkHn30UZ566qmIM+icc9s+b6hUBw2yoRLA55/DAQfAPffAL35RaVdpaSn9+vXj448/pqSkhO7du0eUSedcU+UNlVzjsvvusN12MHXqFruaN2/Ok08+ScuWLRkyZAhr1qyJIIPOOdc0eFDdFmRlwYknBoNAJGiU1KVLF4YMGUKPHj1o0aJFxXYfGMI551LLg+q2okrXmqrOOOMMXnnlFV577TU2bNjgA0M451waRB5UzayDmU03s/nha/tq0vU3s3lmtsDMRlfZd0m47yMzGx9uO9PM3o1bys3swHDfrDB9bN8Oab/RdDvhhKDEGo6uVFVBQQFFRUWcfvrp7Ljjjpx88sk8/vjj3o/VORe5mr7fw/1mZneG+983s5/WdqyZ3WJmn4bpnzazdpm4l8iDKjAamCGpGzAjXK/EzLKBu4ABQE9gmJn1DPcVAIOB/SXtC9wKIOlhSQdKOhA4C1gk6d24054Z2y9pRdruLlM6doS//Q1OO63aJAUFBVx44YV89913/PDDDzz22GNs3Lgxg5l0zrnKavp+jzMA6BYuI4C7kzh2OrCfpP2Bz4Axab4VoGEE1cHApPD9JODUBGkOARZIWihpA/BYeBzARcDNkkoBqgmQw4BHU5npBumii4JWwNUoLi7m/vvv55prrqFly5bcd999DBo0iNWrV2cwk845V0lN3+8xg4GHFHgdaGdmnWo6VtILksrC418HumTiZhpCUN1R0jKA8DVRVWxn4Ku49cXhNoC9gSPN7A0ze8nMEj0k/B+2DKoPhFW/Y62GGb3NbISZzTWzuWVlZdUlaxg2bYLnn4e5c7fYFT8wxI033shzzz1Hq1atmDFjBmPGZOQHnHOu6cqJfY+Gy4i4fTV9v9eWJpljAX4JJH42lmIZCapm9qKZfZhgqfprpNpTJNgW62CbA7QH+gBXAEXxQdLMDgV+lPRh3LFnSvoJcGS4nFXdhSXdK6mXpF45OQ18ACozOPtsSDCfaklJSaWBIQoKCpg8eTIjRoxgp512ori4mPg+y94y2DmXQmWx79FwuTduX03f77WlqfVYM7saKAMerkuG6ysjUULScdXtM7PlZtZJ0rKwOJ+o+nYxsEvcehdgady+pxREhDfNrBzIB74O959BlVKqpCXh61oze4SgCuGhut9ZA5OVBf37B/1VN22C7OyKXVdeeeUWyQsKCigoKKgoxXbp0oWrr76ajh07VpRqnXMuzWr6fq8tTW5Nx5rZcOAk4FhlaKSjhlD9OxkYHr4fDjybIE0J0M3MdjezXIJAOTnc9wxwDICZ7U3wIX8TrmcBQwnq2Qm35ZhZfvi+GcEHHl+KbdwGDICVKxNWAVenoKCA++67jw8//JChQ4cycOBAJk6c6C2DnXOZUNP3e8xk4OywFXAfYHX4uLDaY82sP3AVcIqkHzN1Mw0hqN4MHG9m84Hjw3XMbGczmwoQPmweBUwDPgGKJH0UHj8R2MPMPiQInsPjfpH0AxZLWhh3vebANDN7H3gXWALcl8b7y6wTTgiqgX//e5gzJ+nDTj31VK644goA1q9fz4UXXsgzzzyTpkw651yguu93MxtpZiPDZFOBhcACgu/ri2s6Njzmb0BrYHrYfuaeTNyPj/1bBw127N94c+bAEUdAeTm0bAkzZkDfvrUeFqsCvuiii5gwYQIdO3YkLy+Pn//85xx66KGVSq3FxcWUlJQkrFJ2zrmqfOxf13jNmhWUVAE2bAjWaxHfMviGG27gqaeeYvXq1Vx99dUceuihDB06lKuvvhpJPhKTc87VwIPqtubooyE3N2ik1KxZUGqtRaKWwUVFRXzxxRcUFBRw+umnc9NNN7Hnnnty+umnV0rrtsKcOXDddXWqpnfONWxe/VsHjaL6F4Iv6WeegbvvhhtvhF//eqtOV15ezkknncS/wyEQCwsL+cMf/kDPnlUHPXFJmzMn+AG0YQO0aAEzZyZVTe9cY+TVv65x69sXbr4ZDj8cxo6FZcu26nQvvfQSJSUlXH755eTl5TF58mSuu+46AMaPH09xcXGl9N7HNQmzZgUBFaC0NKlqeudcw+dBdVtlBnfeGXxhh6166yP+eestt9zClClT2G677fjZz34GwPbbb8+AAQP4xz/+USm9P3OtRb9+QfV8zNFHR5YV51zqeFDdlnXrBlddBQ8/DC+9VK9TJHre+sQTT7Bo0SIAcnNzKS8v56yzzqJ79+4MGTKExx57zJ+51ubww4O/yYknQl4e9OgRdY6ccyngz1TroNE8U43344+w775QWAjjxqXlEsuWLeP0009nTtjg5qCDDuKtt97illtuoXfv3t4dp6q1a+Gpp4K/yaZNQcOy3Nyoc+Vc2vgzVbftyMsLRldKU0AF+PTTT5k/fz5jxoyhdevWHH744ZgZvXr1YtCgQdx2222Ul5d71XDMww/DOefA++9Dq1YeUJ3blkjyJcklLy9Pjdonn0hLl6b0lDNnzlR+fr5mzpy5xfqiRYvUqlUrAWrVqpVatGih2267TRs3btS4ceMqjok/17hx41KavwanvFzaf3/poIOC95I0fbq0337SihXR5s25NAF+UAP4Ds/E4iXVpmLNGjj0UPjd71J62ur6uJaUlLDbbruxYsUKhgwZwvfff09ZWRm/+93vmDJlCr1792bo0KG88MILQBNq4DRnTlBCveiizYN0dOwIH34I//pXtHlzzm29qKN6Y1oafUn1uuskkM47T5o9OyOXjJVcx44dq44dO+oPf/iDfvjhB0nSueeeKzNTz5491apVKz322GOStG2XYs86S2rdWlq7dvO28nJpt92kQYMiy5Zz6UQTKqlGnoHGtDT6oFpcLJkFf/YWLdIeWGuqGpakl156SQcccIAI5j8UoIMOOkgvvvii8vPz9eKLL25xXE0BNx37UmrTJqlPH+lXv9py329/K+XmSmvWpPaazjUATSmoevVvUzJnzuYqx/XrYXLV2ZVSq6aqYYBNmzaxZMkSrrnmGtq3b89FF13EwIEDOfbYYykqKqJ///507NiRE088kYMOOogXXniB0tJSCgsLKS4uZv78+TzyyCP87Gc/Y6+99qJHjx4V+6BylXLv3r3rtS+lg1tkZcHs2XDrrVvuGzIkGAxi6tS6n9c513BEHdUb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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "fig, axs = plt.subplots(1,1)\n", "axs2 = axs.twinx()\n", "axs.plot(log[\"energy\"][\"optimize\"], 'kx--')\n", "axs2.plot(log[\"max force\"], 'r.--')\n", "axs.set_ylabel(\"Energy\", fontsize=12)\n", "axs2.set_ylabel(\"Force\", fontsize=12)\n", "axs.set_xlabel(\"Step\", fontsize=12)" ] } ], "metadata": { "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.7.9" } }, "nbformat": 4, "nbformat_minor": 4 }