{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ESmulti class - electronic structure computation for multiple geometries and bondscans\n", "\n", "The `ESmulti` class wraps `ESgamess` and provides additional functionality for handling mulitple geometries.\n", "\n", "- Base class and methods are available at `self.ESbase`.\n", "- `runGeomScan()` method for running bond-scan type jobs, outputs are stored in `self.geomScan`.\n", "- `runCoordScan()` method for running jobs from sets of input coordinates. (TODO)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import class\n", "from epsman.elecStructure.ESmulti import ESmulti" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Bondscans - init from reference molecule and scan a bond\n", "\n", "In this case:\n", "\n", "- Create a base molecule as the reference case (see the [basic class demo](ESgamess_class_demo_221123-tidy.html) for more details).\n", " - By default, ESmulti will try to configure and run Gamess for the reference case.\n", " - To avoid this, pass `buildES = False` at class init.\n", " - If `buildES=false`, an additional call to `self.ESbase.initGamess()` is required to configure Gamess.\n", "- Set a dictionary of parameters to scan over using `self.runGeomScan` method.\n", "- Run Gamess calcs for each molecular configuration (using the same settings).\n", "- Return results to `self.geomScan` dictionary.\n", "\n", "Note - in some cases Gamess may return E = 0 for a set of geometries. In this case, try troubleshooting the base molecule first." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Init system (template for bondscan)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Set name = N2O\n", "Set smiles = None\n", "Set molFile = None\n", "Set pd = None\n", "Set xyz = None\n", "Set molOverride = None\n", "*** File /mnt/femtobackSSHFS/DriveSyncShare/code-share/github-share/epsman/demos/N2O.SDF already exists; existing file will be used. Pass overwrite=True to overwrite.\n", "Set job = N2O bondscan demo\n", "Set sym = C1\n", "Set atomList = None\n", "Set precision = 6\n", "Set atomsDict = {}\n", "Set refDict = {}\n", "Set atomsHist = {}\n", "*** Updating coords (Pandas version).\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[13:06:44] Warning: molecule is tagged as 3D, but all Z coords are zero\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O81.30630.00.0
11N7-0.10960.00.0
22N7-1.19670.00.0
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 1.3063 0.0 0.0\n", "1 1 N 7 -0.1096 0.0 0.0\n", "2 2 N 7 -1.1967 0.0 0.0" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "*** Running default Gamess job.\n", "*** Updating coords (Pandas version).\n", "*** Set frame rotations, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.1096
22N70.00.0-1.1967
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.1096\n", "2 2 N 7 0.0 0.0 -1.1967" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x wkiyrb -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/wkiyrb.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** Init pyGamess job.\n", "Default Gamess input card set (use self.params to modify options dictionary, self.setGamess() to test):\n", "\n", " $contrl scftyp=rhf runtyp=energy $end\n", " $basis gbasis=sto ngauss=3 $end\n", " $system mwords=30 $end\n", " $DATA\n", "N2O bondscan demo\n", "C1\n", "O 8.0 0.0000000000 0.0000000000 1.3063000000 \n", "N 7.0 0.0000000000 0.0000000000 -0.1096000000 \n", "N 7.0 0.0000000000 0.0000000000 -1.1967000000 \n", " $END\n", "\n", "*** Found Gamess executable: /opt/gamess/gamess.00.x\n", "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -181.1830797993\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.1096
22N70.00.0-1.1967
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.1096\n", "2 2 N 7 0.0 0.0 -1.1967" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# *** Init molecule\n", "\n", "# Example 1: default case.\n", "# Note this runs with buildES = True by default, set buildES=False to skip initial Gamess run\n", "demoMulti = ESmulti(searchName = 'N2O', job = 'N2O bondscan demo') # In testing N2O case giving E=0, not sure why\n", "\n", "# Example 2 - without buildES, in this case .initGamess() is also required.\n", "# demoMulti = ESmulti(searchName = 'N2O', job = 'N2O bondscan demo', buildES = False)\n", "# demoMulti.ESbase.initGamess()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set additional configuration options\n", "\n", "The base molecule, including Gamess configuration, is used as the template for the bondscan, so any additional parameters must be configured prior to the scan.\n", "\n", "See [the basic ESgamess class intro doc for more](ESgamess_class_demo_221123-tidy.html#Additional-Gamess-parameters) for more on parameter setting." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Set basis to specification 6-311G.\n", "self.params['basis']: {'gbasis': 'N311', 'ngauss': '6'}\n", "Updating existing group 'contrl'. (To replace group, pass 'resetGroup=True')\n", "Updated group 'contrl': {'scftyp': 'rhf', 'runtyp': 'energy', 'maxit': 200}\n" ] } ], "source": [ "# Modify settings as desired for the base molecule\n", "# This is used as the template for the geomScan\n", "\n", "# E.g. change basis set\n", "demoMulti.ESbase.setBasis(\"6-311G\")\n", "\n", "# Increase max iterations (default = 30)\n", "demoMulti.ESbase.setParam(inputGroup='contrl',inputDict={'maxit':200})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run bondscan\n", "\n", "- Create set of geometries,\n", " - Dictionary form as supported by `setBondLength()`, see the [ESgamess class intro docs for details](ESgamess_class_demo_221123-tidy.html#Bond-lengths-&-angles).\n", " - Pandas dataframe or dictionary form as supported by `setCoords()`, [ESgamess class intro docs for details](ESgamess_class_demo_221123-tidy.html#Manual-coords). Note this form is more general, and is demonstrated later as the general \"geometry scan\" case.\n", "- Run Gamess calculations. (Note this is similar, but slightly distinct, from Gamess native bond-length scan, since one wants to generate a single file for each case here, to be used as ePolyScat input.)\n", "- Outputs are a set of Gamess files, and data in the workspace at `self.geomScan`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Running geometry scan for 18 points.\n", "\n", "*** Running geom 1/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.00.2063
22N70.00.0-0.8808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 0.2063\n", "2 2 N 7 0.0 0.0 -0.8808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ouotbp -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ouotbp.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ouotbp -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ouotbp.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.5873718684\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.1.out\n", "\n", "*** Running geom 2/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.00.1563
22N70.00.0-0.9308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 0.1563\n", "2 2 N 7 0.0 0.0 -0.9308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x rwynzb -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/rwynzb.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x rwynzb -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/rwynzb.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.60365134040001\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.15.out\n", "\n", "*** Running geom 3/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.00.1063
22N70.00.0-0.9808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 0.1063\n", "2 2 N 7 0.0 0.0 -0.9808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x zauxui -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/zauxui.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x zauxui -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/zauxui.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.6107083855\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.2.out\n", "\n", "*** Running geom 4/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.00.0563
22N70.00.0-1.0308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 0.0563\n", "2 2 N 7 0.0 0.0 -1.0308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x iuxozj -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/iuxozj.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x iuxozj -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/iuxozj.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.6118848525\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.25.out\n", "\n", "*** Running geom 5/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.00.0063
22N70.00.0-1.0808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 0.0063\n", "2 2 N 7 0.0 0.0 -1.0808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x nfckzw -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/nfckzw.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x nfckzw -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/nfckzw.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.6096745955\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.3.out\n", "\n", "*** Running geom 6/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.0437
22N70.00.0-1.1308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.0437\n", "2 2 N 7 0.0 0.0 -1.1308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x drmjly -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/drmjly.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x drmjly -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/drmjly.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.6058512221\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.35.out\n", "\n", "*** Running geom 7/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.0937
22N70.00.0-1.1808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.0937\n", "2 2 N 7 0.0 0.0 -1.1808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ogoglm -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ogoglm.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ogoglm -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ogoglm.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.6015781628\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.4.out\n", "\n", "*** Running geom 8/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.1437
22N70.00.0-1.2308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.1437\n", "2 2 N 7 0.0 0.0 -1.2308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x iorbsg -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/iorbsg.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x iorbsg -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/iorbsg.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.59752832949999\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.45.out\n", "\n", "*** Running geom 9/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.1937
22N70.00.0-1.2808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.1937\n", "2 2 N 7 0.0 0.0 -1.2808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ofvoce -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ofvoce.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ofvoce -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ofvoce.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.59401656310001\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.5.out\n", "\n", "*** Running geom 10/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.2437
22N70.00.0-1.3308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.2437\n", "2 2 N 7 0.0 0.0 -1.3308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x dzhotj -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/dzhotj.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x dzhotj -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/dzhotj.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.59112784569999\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.55.out\n", "\n", "*** Running geom 11/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.2937
22N70.00.0-1.3808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.2937\n", "2 2 N 7 0.0 0.0 -1.3808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x qsbgmp -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/qsbgmp.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x qsbgmp -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/qsbgmp.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.5888215784\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.6.out\n", "\n", "*** Running geom 12/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.3437
22N70.00.0-1.4308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.3437\n", "2 2 N 7 0.0 0.0 -1.4308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ujfgth -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ujfgth.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ujfgth -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ujfgth.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.5870032942\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.65.out\n", "\n", "*** Running geom 13/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.3937
22N70.00.0-1.4808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.3937\n", "2 2 N 7 0.0 0.0 -1.4808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x dbroja -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/dbroja.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x dbroja -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/dbroja.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.5855669394\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.7.out\n", "\n", "*** Running geom 14/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.4437
22N70.00.0-1.5308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.4437\n", "2 2 N 7 0.0 0.0 -1.5308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x auwvbm -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/auwvbm.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x auwvbm -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/auwvbm.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = 0\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.75.out\n", "\n", "*** Running geom 15/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.4937
22N70.00.0-1.5808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.4937\n", "2 2 N 7 0.0 0.0 -1.5808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x cfoqhs -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/cfoqhs.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x cfoqhs -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/cfoqhs.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.58347183270001\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.8.out\n", "\n", "*** Running geom 16/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.5437
22N70.00.0-1.6308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.5437\n", "2 2 N 7 0.0 0.0 -1.6308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x zistot -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/zistot.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x zistot -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/zistot.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = 0\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.85.out\n", "\n", "*** Running geom 17/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.5937
22N70.00.0-1.6808
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.5937\n", "2 2 N 7 0.0 0.0 -1.6808" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x fswqrr -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/fswqrr.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x fswqrr -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/fswqrr.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = 0\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.9.out\n", "\n", "*** Running geom 18/18.\n", "*** Set bonds, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.6437
22N70.00.0-1.7308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.6437\n", "2 2 N 7 0.0 0.0 -1.7308" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x hhdouh -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/hhdouh.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x hhdouh -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/hhdouh.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = 0\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_jan2024_1.95.out\n", "\n", "*** Geom scan completed.\n", "*** Warning: found E=0 for 4 case(s), calculations may be unconverged. Check self.geomScan['summary']['Ezeros'] for details.\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
a1a2lE
1.100.01.01.10-183.587372
1.150.01.01.15-183.603651
1.200.01.01.20-183.610708
1.250.01.01.25-183.611885
1.300.01.01.30-183.609675
1.350.01.01.35-183.605851
1.400.01.01.40-183.601578
1.450.01.01.45-183.597528
1.500.01.01.50-183.594017
1.550.01.01.55-183.591128
1.600.01.01.60-183.588822
1.650.01.01.65-183.587003
1.700.01.01.70-183.585567
1.750.01.01.75NaN
1.800.01.01.80-183.583472
1.850.01.01.85NaN
1.900.01.01.90NaN
1.950.01.01.95NaN
\n", "
" ], "text/plain": [ " a1 a2 l E\n", "1.10 0.0 1.0 1.10 -183.587372\n", "1.15 0.0 1.0 1.15 -183.603651\n", "1.20 0.0 1.0 1.20 -183.610708\n", "1.25 0.0 1.0 1.25 -183.611885\n", "1.30 0.0 1.0 1.30 -183.609675\n", "1.35 0.0 1.0 1.35 -183.605851\n", "1.40 0.0 1.0 1.40 -183.601578\n", "1.45 0.0 1.0 1.45 -183.597528\n", "1.50 0.0 1.0 1.50 -183.594017\n", "1.55 0.0 1.0 1.55 -183.591128\n", "1.60 0.0 1.0 1.60 -183.588822\n", "1.65 0.0 1.0 1.65 -183.587003\n", "1.70 0.0 1.0 1.70 -183.585567\n", "1.75 0.0 1.0 1.75 NaN\n", "1.80 0.0 1.0 1.80 -183.583472\n", "1.85 0.0 1.0 1.85 NaN\n", "1.90 0.0 1.0 1.90 NaN\n", "1.95 0.0 1.0 1.95 NaN" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEWCAYAAAApTuNLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA5gUlEQVR4nO3deXxU9b3/8dc7CwkEEpaEJSwGgoAGWSQiptYFetXaVtwX1Lq1bqXWq93s77a3tbfX2sVe11KrVVqL2mJV3HCj4oIiYQurSlAg7PtOyPL5/TEnOMSQhJDkzCSf5+MxD2bOOd9zPjPAfOa7nO9XZoZzzjkXtoSwA3DOOefAE5JzzrkY4QnJOedcTPCE5JxzLiZ4QnLOORcTPCE555yLCZ6QnHPOxQRPSK7FknSppJmSdkvaEDy/WZLCji1Mkn4uqUzSrqjHtia4zmmSSmL1fC72eEJyLZKk24F7gd8C3YFuwI3Al4A2IYYWK542s/ZRj45hB+ScJyTX4kjKAO4EbjazyWa20yLmmtnlZlYaHJci6XeSVkpaL2mCpLZR5/m2pGWStkiaIik7ap8Fta1PJO2U9EtJuZLel7RD0j8k1Zj4JPWXNF3SdkmbJD0dtS9P0uvBNddL+kmwfWRw7m2S1kp6IPr8QTw3BvFslfRgY9UEJZ0jaVFw7bckHVPtuv2jXj8u6X8kpQGvANlRtbDsoHY2WdLTwec2R9LQIzjfSEmFwWe+XtI9jfGeXTg8IbmW6CQgBXi+juPuBgYAw4D+QE/gZwCSRgN3ARcDPYAVwFPVyp8FjABGAT8EHgYuB3oDg4HLDnHdXwKvAZ2AXsD9wTU7AG8AU4HsIKY3gzIVwH8CmcH7GwPcXO28XwdOAIYGcZ9Zx/uvk6QBwJPArUAW8DLwwqGSbRUz2w18FVgTVQtbE+weC/wT6AxMAp6TlNzA890L3Gtm6UAu8I8GvlUXAzwhuZYoE9hkZuVVGyTNCH7h75V0SlB7+Dbwn2a2xcx2Av8LXBoUuRz4i5nNCWpUdwAnScqJus7dZrbDzBYBC4HXzGy5mW0n8mt++CHiKwOOArLNbJ+ZvRts/zqwzsx+H2zfaWYzAcxstpl9YGblZvYZ8Cfg1Grn/bWZbTOzlcC/iSTaQ7k4+DyqHv8+xHGXAC+Z2etmVgb8DmgLFNRy7rrMDmquZcA9QCqRpN4QZUB/SZlmtsvMPjiCuFzIPCG5lmgzkCkpqWqDmRUE/SSbify7zwLaAbOrvpSJ1EyygiLZRGpFVeV3BWV7Rl1nfdTzvTW8bn+I+H4ICPgwaAq7NtjeGyiuqYCkAZJelLRO0g4iyTOz2mHrop7vqeX6AP8ws45Rj9MPcVz1z6ESWMXBn8PhWlXtfCXBdRriOiK13KWSZkn6+hHE5ULmCcm1RO8DpUSahg5lE5GkkRf1pZxhZlVf4muI1GIACPowugCrjzQ4M1tnZt82s2zgBuChoN9kFZFmp5r8EVgKHB00T/2ESFJratU/BxFJnFWfwx4iib1K96jnh1pKoHfU+RKINFtWNecd1vnM7BMzuwzoSqQJdnLwd+XikCck1+KY2TbgF0S+6C+U1F5SgqRhQFpwTCXwZ+APkroCSOopqarfZRJwjaRhklKI1EhmBs1lR0TSRZJ6BS+3EvmirQBeBLpLujUYcNFB0onBcR2AHcAuSYOAm440jnr6B/A1SWOCfp7biST7GcH+ecA4SYmSzuLgZsT1QBdFBplEGyHp/KAGe2twvqqmtsM6n6QrJGUFf5/bgs0VR/KGXXg8IbkWycx+A9xGpHlsA5Evsz8BP+LzL9MfAcuAD4JmsDeAgUH5N4GfAs8Aa4nUXC6lcZwAzJS0C5gCfM/MPg36sf4D+AaR5rdPgKqmtO8D44CdRBLp01846+G5RAffh7SrKjFHM7OPgCuIDLzYFMT2DTPbHxzyvWDbNiL9bs9FlV1KZEDE8qBZtKpZ7nkifVNbgSuB84P+pIac7yxgUfBZ3gtcamb7juSDceGRL9DnnGsukn4O9DezK8KOxcUeryE555yLCZ6QnHPOxQRvsnPOORcTvIbknHMuJiTVfYirSWZmpuXk5IQdhnPOxZXZs2dvMrOsmvZ5QmqgnJwcCgsLww7DOefiiqQVh9rnTXbOOedigick55xzMcETknPOuZjgCck551xM8ITknHMuJnhCcs45V6cJ04uZUbzpoG0zijcxYXqNS3g1iCck55xzdRrSK4Pxk+YeSEozijcxftJchvSqvrpIw/l9SM455+pUkJvJA+OGM37SXK44sQ9PzFzJA+OGU5BbfeHihvMaknPOuXopyM3kihP7cN+0ZVxxYp9GTUbgCck551w9zSjexBMzV3LL6P48MXPlF/qUjpQnJOecc3Wq6jN6YNxwbjtj4IHmu8ZMSp6QnHPO1amoZPtBfUZVfUpFJdsb7Rq+HlID5efnm0+u6pxzh0fSbDPLr2mf15Ccc87FBE9IzjnnYoInJOecczEhlIQk6SJJiyRVSsqP2p4saaKkBZKWSLojat9USfODchMkJdZw3hxJeyXNCx4TovZdFpy3KDhXZrD9akkbo8p8q6nfv3POuS8Kq4a0EDgfeLva9ouAFDM7DhgB3CApJ9h3sZkNBQYDWcGxNSk2s2HB40YASUnAvcDpZjYEKALGR5V5OqrMI43w/pxzzh2mUKYOMrMlAJK+sAtICxJIW2A/sCMosyM4JgloExxbXwoeaZI2A+nAsobG75xzrvHFWh/SZGA3sBZYCfzOzLZU7ZT0KrAB2BkcW5O+kuZKmi7pywBmVgbcBCwA1gDHAo9GlbkgaMqbLKn3oYKTdL2kQkmFGzdubPi7dM459wVNlpAkvSFpYQ2PsbUUGwlUANlAX+B2Sf2qdprZmUAPIAUYXUP5tUAfMxsO3AZMkpQuKZlIQhoenLsIqOqfegHICZry3gAmHio4M3vYzPLNLD8rK6ten4NzztWkOZZziDdNlpDM7CtmNriGx/O1FBsHTDWzMjPbALwHHHQDlZntA6YAX0hsZlZqZpuD57OBYmAAMCzYVmyRO4H/ARQE2zabWWlwij8T6btyzrkm1RzLOcSbWGuyWwmMVkQaMApYKqm9pB5wYIDC2cDS6oUlZVWNvgtqVkcDy4HVwLGSqqo1/wFU9WP1iDrFOVXbnXOuKZ3UrwvjT+/PVX/5kF+9tPjAPHGNPYN2PAllUIOk84D7iYyWe0nSvKA57kHgMSKj8AQ8ZmZFkroBUySlAInANGBCcK5zgHwz+xlwCnCnpHIiTX83VvVBSfoF8LakMmAFcHUQzi3BOcqBLVHbnXOuyfzXcwv5+8yVpCYn8Od3PuWW0f1bdTICn8uuwXwuO+fc4dhXVsEzc0o4M687me1TePeTTby5ZD3PzVvNlaOOapIF72JRbXPZ+YqxzjnXhLbt2c8TH6zg8RmfsWnXfsorjKsKckhIgOfnr+HBy4+nIDeTUbldWn2znSck55xrAmbG/7y0hCc/XMme/RWcNjCLG07JZVS/zkDtyzl4QnLOOXfEVm3ZQ+/O7ZDEuu37OCuvO98+pR/H9Eg/6LgbT839QtmC3MxWm4zAE5Jzzh0xM2NG8WYmTC/mvWWbeOO2U+mX1Z77LxtOQsIXZqRxh+AJyTnnGqi8opKXF67jT9OLWbRmB1kdUvj+mQPJ7JAC4MnoMHlCcs65WkyYXsyQXhkHNaXNKN5EUcl2LhzRi+//cz69OrXl7guO49zhPUlJ+sJCBK6ePCE551wtqmZUeGDccAZ268D/vLSEF4vWMPHakWS2T+G5m7/EoO4dvDbUCDwhNZPafmXV1LnpnIsNBbmZ/P6iIVz7+CzKyiupMBhxVCeG9+4EwLHZ6XWcwdVXrE0d1GL5vFXOxacla3dwx78Wsq8skoyuOLEPz9xUQNs23jTX2DwhNZOqewzGT5rLPa991OpvgHMu1u3dXwFATpc0enZqS3pqEreM7s/LC9d9YZZu1zg8ITWjgtxMxhzTlfumLeP84T09GTkXgzbtKuXHzxRx9n3vUFpewdxVW/l0024mXDmC284YeOCHpSelxucJqRnNKN7E1IXrAHi6cJX/g3YuhpRVVPLIO8s5/XdvMXl2CWMGdaWi0mqdUcE1Lp9ctYEOd3LVqj6ju88/jm//bTaXntCb1xav92Y752LAuu37uPyRDyjeuJtTB2Tx068fS/+u7cMOq0XyyVVjQPSvrJ4d27KrtLzVz1vlXNj27q+gbZtEunZIIS87g5+cfQyjB3VF8iHcYfCE1Eyih3bnZaezeM2OVj9vlXNh2VVazv3TPuGZ2SW8euspdGmfwn2XDQ87rFbPE1IIhvfpxPod+yivqCQp0bvxnGsulZXGv+au5u6pS9m4s5QLju8VdkguiiekENx0Wi43neY3wzrXnPbur+CyP3/AvFXbGNq7Iw9fOYLhfTqFHZaL4gnJOddi1DQjyltLN7B0/U5uPDWXYb07csWoozh/eE+f6icGeXtRSK7/ayE/n7Io7DCca1GiZ0QpLa/gjn8Vcc3js+ic1gaAn5+Tx4UjenkyilFeQwrJ3rIKPvx0S9hhONeiVN0jdP1fZ5OYANv3ljO8d0dO6tcl7NBcPXgNKSR52Rl8smEn+8srww7FuRbDzJi6cB27SsvZvrecc4Zm8+x3vkTvzu3CDs3VgyekkORlp1NWYXy8fmfYoTjXYkhid2k5qckJfOe0XN5dtslnRIkj3mQXkrxgyvrFa3YwuKfP+O1cQ5kZ/5xdQq+ObUHw74828perT6AgN5MvHZ3pExnHEU9IIcnpksZZed3J7NAm7FCci1u7Ssv5r2cX8Ny8NZwzNJtjs9MPOe+cJ6TY53PZNdDhzmXnnGtcC1dv57tPzmXF5t3c+pUBfOf0/iT66LmY53PZxbCd+8pIa5Pkw1CdOwyL1+zg/Idm0DmtDU9+exQn+ii6FiGUQQ2SLpK0SFKlpPyo7cmSJkpaIGmJpDui9k2VND8oN0HSF5ZrlJQjaa+kecFjQtS+SyQVBeV/E7U9RdLTkpZJmikppwnf+kFeLFrDcT9/jU83726uSzoX16padI7p0YHvfeVoXv7elz0ZtSBhjbJbCJwPvF1t+0VAipkdB4wAbohKEBeb2VBgMJAVHFuTYjMbFjxuBJDUBfgtMMbM8oBuksYEx18HbDWz/sAfgLsb5R3WQ9/MNAAWrdnRXJd0Lm7NXrGFr977Dqu27EES3zm9/4EbXl3LEEpCMrMlZvZRTbuANElJQFtgP7AjKFP1rZ0EtAmOra9+wMdmtjF4/QZwQfB8LDAxeD4ZGKNmmnv+6K4daJOYwKI1vtCXc4dSWWk8+O9lXPynD9izv4Kd+8rDDsk1kVi7D2kysBtYC6wEfmdmB6YzkPQqsAHYGRxbk76S5kqaLunLwbZlwKCgSS8JOBfoHezrCawCMLNyYDtQYxuApOslFUoq3LhxY02HHJY2SQkM6N6exV5Dcq5GG3eWctVjH/LbVz/iq4O78+ItJ3NscMuEa3maLCFJekPSwhoeY2spNhKoALKBvsDtkvpV7TSzM4EeQAowuobya4E+ZjYcuA2YJCndzLYCNwFPA+8AnwFVP7Nqqg3VWPsys4fNLN/M8rOysmp5G/WX1yODhau346Mdnfuih95axoefbuGu84/j/suGk56aHHZIrgk12Sg7M/tKA4qNA6aaWRmwQdJ7QD6wPOq8+yRNIdLU9nq1a5YCpcHz2ZKKgQFAoZm9ALwAkZoOkcQHUEKktlQS1J4ygGabZO7c4T0Z3CuDikojKdFH2jlXXlHJpl376Z6RyvfPGMhlI/swoFuHsMNyzSDWmuxWAqMVkQaMApZKai+pB0CQNM4GllYvLCmravRdULM6miCZSeoa/NkJuBl4JCg2BbgqeH4hMM2asbpyUm4Xrhx1lC/U5xywetteLnn4A658dCb7yytJS0nyZNSKhHIfkqTzgPuJjJZ7SdK8oDnuQeAxIqPwBDxmZkWSugFTJKUAicA0YEJwrnOAfDP7GXAKcKekciI1oBuj+qDulTQ0eH6nmX0cPH8U+JukZURqRpc26ZuvwaebdlNWUen/8Vyr9tqidfxgchEVlcavzhtMmyT/kdba+EwNDdSYMzWM/v1b5Ga158/frPHmZedanOiF9ErLK7jr5aU8PuMzuqen8tT1o8gJbolwLU9tMzX4T5AYkJed4SPtXKsSvZCeEO98vJHUpATuvvA4T0atmCekGJCXnc7qbXvZunt/2KE41ywKcjP5/hkD+M7f5/DAtE/Ysmc/f7nmBE4d0DXs0FyIPCHFgANLUaz1WpJrHd7+eCO/fHEJ3TNSuW/aMq4cdZTPxu08IcWCvOzIekg+Y4NrDV4sWsN1E2eR1SGFtdv3ccvo/jwxc6UvpOd8tu9Y0DmtDY9dfQJ5Pf0OdNey/X3mCv7ruYUM6NqeDTtLeejy4ynIzWRUbhdfSM95QooVpw/ytnPXsu0qLef+N5dx+sCuDO/dkRE5nXwhPXcQH/bdQI29QN+qLXt4bfF6LhvZm3Zt/HeCazkqKyPfMQkJYtWWPXTPSCXZbwRvtXzYdxxYsnYHv3xxMUvW7gw7FOcaTXlFJT+YXMSdLy7GzOjduZ0nI3dI/i8jRuT1jAxsWOwDG1wLsa+sgpv+Podn5pTQqZ2vW+Tq5m1DMSI7I5WO7ZJ9sT7XIuzcV8a3JhYy89Mt/OKcPK4qyAk7JBcHPCHFCEkMzs7whOTinplx9WOzmL9qG/deOoyxw3qGHZKLE56QYkhedjoT3/+M8opKn/3bxS1JXH9KP5ITxehB3cIOx8URH2XXQI09yg5g2579pCQl0rZNYqOe17nmsGzDTpau28nXh2SHHYqLYbWNsvMaUgzp6B2/Lk7NX7WNqx/7kJSkRMYM6uY/qlyDeLtQjLn3jU944oMVYYfhXL29t2wT4/78AWkpSTx1/ShPRq7BPCHFmLc/2ciUeWvCDsO5epm6cC3XPDaLXp3a8cxNBb50hDsinpBiTF52OovX7jhwd7tzsWzpup0M7pnOP244iW7pqWGH4+KcJ6QYk5edzq7SclZs2RN2KM4d0oad+wD43pijefL6UWS0Sw45ItcSeEKKMb4UhYtlZsZdryzhzD+8TcnWPUgiJcn7jFzj8IQUY47u1p6sDins3FcedijOMWF68YF1iioqjTv+tYA/TV9OTmYaPTLahhyda2l82HeMSUlK5MOfjEFS2KE4x5BeGYyfNJc/XDKUpz5cxSsL15GanMAPzhhIYoL/G3WNyxNSDPJk5GJF1TpF1z1eyN6yCtq1SeSRq/J9zSLXJLzJLga9/fFGzvzD26zbvi/sUJyjIDeTa76UA8C3Tu7rycg1GU9IMSg1OZGP1u/0gQ0udM/OLeH1Ret5atYqbhndnydmrjzQp+RcY/Mmuxh0TI8OACxas4Mxx/jklC4c/yxcxQ8mF5GanMBfrj6BgtxMRuV2YfykuTwwbrjXlFyjC6WGJOkiSYskVUrKj9qeLGmipAWSlki6I2rfVEnzg3ITJH1hrKmkHEl7Jc0LHhOi9l0iqSgo/5uo7VdL2hhV5ltN+d7ro0NqMjld2nkNyYXmrY828ON/LSCnSzsevvLzPqOqPqWiEv+36RpfWDWkhcD5wJ+qbb8ISDGz4yS1AxZLetLMPgMuNrMdivT4Tw6OfaqGcxeb2bDoDZK6AL8FRpjZxiDpjTGzN4NDnjaz8Y327hpBXs8Mikq2hR2Ga4UWlGzn5r/PYWC3Djx9wyg6pB5802tBbqbXjlyTCCUhmdkSqHE0mQFpkpKAtsB+YEdQpmrluiSgTXBsffUDPjazjcHrN4ALgDcPXSRcpw7Iok1iAhWV5sNrXbMxM376/EI6tWvD49ec8IVk5FxTirU+pMnAWGAt0A74TzPbUrVT0qvASOCV4Nia9JU0l0gi+y8zewdYBgySlAOUAOcSSWpVLpB0CvBxcM1VNZ1Y0vXA9QB9+vRp4Fusn4vze3Nxfu8mvYZz1Uni4StHsKu0nK4+N51rZk3WhyTpDUkLa3iMraXYSKACyAb6ArdL6le108zOBHoAKcDoGsqvBfqY2XDgNmCSpHQz2wrcBDwNvAN8BlRNhfACkGNmQ4jUnCYeKjgze9jM8s0sPysrqz4fwxExM/aVVTT5dZzbu7+CCdOLKa+opGt6Kv2y2ocdkmuFmqyGZGZfaUCxccBUMysDNkh6D8gHlkedd5+kKURqUq9Xu2YpUBo8ny2pGBgAFJrZC0SST1VNpyI4bnPUKf4M3N2AuJvE2fe9y6DuHfjDJcPCDsW1YOUVlXz3yTlMW7qB/KM6kZ/TOeyQXCsVa/chrQRGKyINGAUsldReUg+AoH/pbGBp9cKSsqpG3wU1q6MJkpmkrsGfnYCbgUeC1z2iTnEOsKSJ3tth65GR6iPtXJOq6jN6Y8kGfjF2sCcjF6qwhn2fJ6kEOAl4KegbAngQaE9kFN4s4DEzKwLSgCmSioD5wAZgQnCucyTdGZQ/BSiSNJ9IH9ONUX1Q90paDLwH/NrMPg623xIMBZ8P3AJc3WRv/DANzk5n2YZd7N3vzXauadw/bRlPfriKm0/L5cpRR4UdjmvlZOYLwTVEfn6+FRYWNuk1pi5cx41PzObZmwsY3qdTk17LtT7rd+zj9N+9xVmDu/P7i4b6HIquWUiabWb5Ne2LtVF2LkpedjoQmbHBE5JrbN3SU3n25i/RNzPNk5GLCbHWh+Si9OrUlu+cnnsgMTnXGOav2sbfZ64AYGD3DrRJ8q8BFxu8hhTDJPGDMweFHYZrQVZs3s21j8+ibZtEzh3Wk7QU/wpwscN/GsW4fWUVzFu1jfKKyrBDcXFu865SrvrLh1SaMfHakZ6MXMzxhBTjpi5cx7kPvkfxxt1hh+Li2J795Vw7sZC12/fxyFUnkOs3vroY5AkpxlX1Hy1c7fcjuYab/tFGFq7ezv2XDWfEUT5AxsUmr7PHuH5Z7UlNTmDRmh1cMCLsaFy8+upxPXizRzo5mWlhh+LcIXkNKcYlJohB3dN9xgbXIH+aXswHyyOzY3kycrHOE1IcyMtOZ/HaHfhNzO5wPD1rJXe9spTn560OOxTn6sWb7OLAFaOO4mtDemAGfv+iq8mE6cUM6ZVxYOG8aUvXc8e/FtA3M407xw4OOTrn6qdeCUnSAOAHwFHRZcyspiUgXCM7poffGOtqN6RXBuMnzeWBccNp1yaJG/82B0n89OvHkJzoDSEuPtS3hvRPIpOZ/plg2QbXvKYtXU9qUiIF/X3paPdFBbmZPDBuOOMnzaVnx7aUV1by4LjjGT2oW9ihOVdv9U1I5Wb2xyaNxNXq7lc+okfHVE9I7pAKcjO54sQ+3DdtGdednMNXj+tRdyHnYkitdXlJnSV1Bl6QdLOkHlXbgu2umeRlp7NozY6ww3Ax7MfPFDHx/RXcMro/z85dw4ziTWGH5NxhqauGNBswoKor/QdR+wzo94USrknk9czgX3NXs2HnPrp2SA07HBdj/vflJTw1axUXHN+T284YyKjcLgf6lKoGOjgX62pNSGbWt7kCcbWLXoqi60BPSO5zi9Zs59F3PyUvO53fXDgU+LxPqahkuyckFzfqarL7YdTzi6rt+9+mCsp90bFBQlrszXYuyva9Zdz89zlktU9h4rUjSUz4/L6AgtxMbjw1N8TonDs8dY0HvTTq+R3V9p3VyLG4WqSnJvPW90/zLxh3kPve/ITVW/fy4OXDyWyfEnY4zh2RuvqQdIjnNb12TcynfnHV3X7GAE4dkMWIo3yMkYt/ddWQ7BDPa3rtmtjC1dv5ybML2LGvLOxQXMiWrN3B7tJy2rVJ4pQBWWGH41yjqCshDZW0Q9JOYEjwvOr1cc0Qn4uycVcpk2auZIn3I7Vq63fs48pHP+S2f8wLOxTnGlWtCcnMEs0s3cw6mFlS8LzqdXJzBekiDqyN5Amp1SqrqGT8pDnsLi3n9jMGhh2Oc43KJ1eNI107pJLVIcWXomjFfjN1KbM+28q9lw5jQLcOYYfjXKPyWRfjTF52ug/9bqWmLlzHn9/5lKtOOoqxw3qGHY5zjc4TUpwZnJ1BaXklFZU+pqS1GdwznXEn9uH/fe3YsENxrknIF31rmPz8fCssLGz261ZWGgkJPuK+NSktryA5IcH/3l2LIGm2meXXtC+UGpKkiyQtklQpKT9qe7KkiZIWSFoi6Y6ofVMlzQ/KTZCUeIhzD5H0fnDcAkmpwfYRwetlku6TIkvdSUqR9HSwfaaknCZ++0fEv5RaFzPjx88s4MYnZlPptWLXwoXVZLcQOB94u9r2i4AUMzsOGAHcEJUgLjazocBgICs49iCSkoAngBvNLA84Dai6aeePwPXA0cGjaqaJ64CtZtYf+ANwdyO8vyZ129PzuOe1j8IOwzWDv89cybNzV5OXneE/RlyLF0pCMrMlZlbTN6oBaUFiaQvsB3YEZap68pOANtR8Y+4ZQJGZzQ/KbDazCkk9gHQze98ibZR/Bc4NyowFJgbPJwNjqmpPsWr1tr28/YkvLdDSzV+1jTtfWMxpA7P47uj+YYfjXJOLtUENk4HdwFpgJfA7M9tStVPSq8AGYGdwbHUDAJP0qqQ5UZPD9gRKoo4rCbZV7VsFYGblwHagS03BSbpeUqGkwo0bNzbwLR65vOwMlq7b4QMbWrCtu/dHJk3tkMIfLh7mtSPXKjRZQpL0hqSFNTzG1lJsJJEl0rOBvsDtkg6suWRmZwI9gBRgdA3lk4CTgcuDP8+TNIaa592r+javbd/BG80eNrN8M8vPygpvupbBPdPZV1bJ8o27QovBNa3V2/YC8NDlx9MprU3I0TjXPJrsxlgz+0oDio0DpppZGbBB0ntAPrA86rz7JE0h0tT2erXyJcB0M9sEIOll4Hgi/Uq9oo7rBayJKtMbKAmaCjOALcSwvOwMILI20tF+c2SLNLhnBv/+/mm0SYq1Rgznmk6s/WtfCYxWRBowClgqqX3QD1Q1cOFsYGkN5V8lMudeu+C4U4HFZrYW2ClpVNA/9E3g+aDMFOCq4PmFwDSL8bHwuVlpnNi3M6nJsfbX547U2x9v5PevfURFpXkycq1OWMO+z5NUApwEvBT0DQE8CLQnMgpvFvCYmRUBacAUSUXAfCL9SBOCc50j6U4AM9sK3BOUnQfMMbOXgnPfBDwCLAOKgVeC7Y8CXSQtA24DftxU77uxJCUm8PQNJ3HW4B5hh+Ia0epte/neU3N5ffF69pdXhh2Oc83Ob4xtoLBujI1WXlFJYoKI8UGBrh5Kyyu4+E8fsHzDLqZ892T6+tpXroWKuRtj3ZF7ecFa8v77VUq27g07FNcI/ufFJcxftY3fXjTEk5FrtTwhxakeGamUlleyyCdajXufbdrNU7NWcv0p/bwZ1rVqnpDi1KDu6SQIFvtSFHFnwvRiZhR/fmNzTmYavxw7mIy2vsSYa908IcWptm0Syc1q7zWkODSkVwbjJ81l2tL1vLF4PTOKN/GbVz9ieJ+OYYfmXKh8gb44lpedzgfLY/qWKVeDgtxMHrhsOFc/NouyikrS2ybzxyuOpyA3M+zQnAuVJ6Q49vUh2fTv2p6KSiPRp5aJK8s37WZ/RWRo91UnHeXJyDm8yS6ufeXYbowffbQnozizdN0Ofj5lEcmJ4run9+eJmSsP6lNyrrXyhBTntuzeT8nWPWGH4eqptLyCax+fRYUZ9182nNvPHMgD44YzftJcT0qu1fOEFOfOeeBd7nqlplmUXCxKSUpkeO9O3PHVQQeGeBfkZvLAuOEUlfiISde6eR9SnMvLTmexj7SLC/vKKkhNTuTBy4//wr6C3EzvR3KtnteQ4lxedgafbtrNrtLysENxtVi1ZQ+n/ObfvLZoXdihOBezPCHFubzsdACWrPVaUqwqq6jku0/OZe/+Co7pkR52OM7FLE9IcW5wz2BtpNXe/xCr7nn9Y+at2savLxhC787twg7HuZjlfUhxrmuHFH5/0VBG9u0cdiiuBu9+sokJ04u5bGRvvjbE56lzrjaekOKcJC4Y0avuA10o5q7cytFd2/Ozr+eFHYpzMc+b7FqA9Tv28a85JZSWV4Qdiqvmu2OO5vnvnEzbNolhh+JczPOE1ALM+mwLt/1jPp+s3xV2KC7w9KyVzF6xFcCTkXP15Akpzk2YXnxguetFwVIUM4oj/RYuHPNXbeP/PbuQv7z3adihOBdXPCHFuSG9MvifF5eQmpzAojU7mFG8ifGT5jKkV0bYobVKO/eV8d0n59ItPZX/Pfe4sMNxLq54QopzBbmZPHD5cMorjJeK1jJ+0lweGDfc7/oPgZnxX88tZPW2vdx76TAy2vmCe84dDk9ILUBBbiYnH53J5t37Ofu47p6MQvLvjzbw/Lw13DrmaPJzfBi+c4fLE1ILMKN4E/NXbeOaghxeXrDOZ40OyakDuvL7i4Zy8+n9ww7FubjkCSnOVfUZPXj58fz3OXmRpQz+7ksZNKd9ZRVs2LGPxITIPWG+PpVzDeMJKc4VlWw/0GdUWWk88s6njOzbyZcyaEZ3vbyEr977Dtv27A87FOfimiekOHfjqbkH+owSEkRG22Te+WQT407sE3JkrcNri9Yx8f0VjB3Wk47t2oQdjnNxzRNSC3PdyX3Zvb+Cpz9cFXYoLd6abXv54TNFDO6Zzo++OjDscJyLe6EkJEkXSVokqVJSftT2ZEkTJS2QtETSHVH7pkqaH5SbIKnG298lDZH0fnDcAkmpwfYRwetlku6TpGD71ZI2SpoXPL7V1O+/KQ3umcGJfTvz+IzPKK+oDDucFqu8opJbn5pHWXkl9192PClJPhuDc0cqrBrSQuB84O1q2y8CUszsOGAEcIOknGDfxWY2FBgMZAXHHkRSEvAEcKOZ5QGnAWXB7j8C1wNHB4+zooo+bWbDgscjR/72wnXdyX1ZvW0vU30xuCZTWl5Jl/Zt+OW5g+mbmRZ2OM61CKHM9m1mSyAyU3X1XUBakFjaAvuBHUGZqhXokoA2wbHVnQEUmdn8oMzm4Do9gHQzez94/VfgXOCVRntTMWTMMd345dg8vtw/K+xQWqy0lCQeuvz4mv4NO+caKNb6kCYDu4G1wErgd2a2pWqnpFeBDcDO4NjqBgAm6VVJcyT9MNjeEyiJOq4k2FblAklFkiZL6n2o4CRdL6lQUuHGjRsb8v6aRWKCuPKkHJ8poAls3b2fb00s5LNNuz0ZOdfImiwhSXpD0sIaHmNrKTYSqACygb7A7ZL6Ve00szOBHkAKMLqG8knAycDlwZ/nSRoD1PTNUVXDegHIMbMhwBvAxEMFZ2YPm1m+meVnZcV+7eOVBWv53asfhR1Gi2Fm/GByEdM/3sDOfeVhh+Nci9NkCcnMvmJmg2t4PF9LsXHAVDMrM7MNwHtAfvQBZrYPmALUlNhKgOlmtsnM9gAvA8cH26NXsesFrAnOt9nMSoPtfybSd9UizCvZxkNvLWPVlj1hh9Ii/PX9FbyxZD0/OmsQx/nktc41ulhrslsJjFZEGjAKWCqpfdAPVDVw4WxgaQ3lXwWGSGoXHHcqsNjM1gI7JY0KRtd9E3g+OF/0utLnAEua6s01t6tOykESE2d8FnYocWnC9OIDM14sWrOdX720hOG9O1LmoxedaxJhDfs+T1IJcBLwUtA3BPAg0J7IKLxZwGNmVgSkAVMkFQHzifQjTQjOdY6kOwHMbCtwT1B2HjDHzF4Kzn0T8AiwDCjm8wENtwRDxOcDtwBXN9X7bm7ZHdty9nE9eHrWKnbuK6u7gDvIkF4ZjJ8UmYbp/jeX0a5NIp9u3s3Q3h3DDs25FklmNQ1Wc3XJz8+3wsLCsMOo07xV2zj3wff46deP5bqT+4YdTtypmivwkvzeTPpwJX+84nifTd25IyBptpnl17Qv1prsXCMb1rsjF+f3omfH1LBDiUt7Siu4OL8Xf5xezFUnHeXJyLkmFMp9SK55/ebCoWGHEJfe+WQj3/5rISlJCdwyuj9PzFzJqNwunpScayJeQ2oldu4r4/l5q8MOI258tmk3N/5tNgkSD11xPLedMTCytMckX9rDuabiCamVmDy7hO89NY/5q7aFHUrM27mvjG/9tZBKM+65eCijB3UDguXixw33pT2cayKekFqJC0f0okNKEo+++2nYocS8X7ywmE837ebRq09g7PCeB+0ryM3kxlNzQ4rMuZbNE1Ir0SE1mUtO6M1LC9ayZtvesMOJaf/5HwP4v0uGeV+Rc83ME1IrclVBDmbGxPc/CzuUmLR4zQ4qK42eHdvyjaHZYYfjXKvjCakV6d25HV8d3INPN+4OO5SYs6BkO+c99B7/9+YnYYfiXKvlw75bmXsuGeqLyVWzYec+rv9bIV3S2vDNk44KOxznWi2vIbUyVclow859VFT6LB2l5RXc9MQctu7Zz5+vyiezfUrYITnXanlCaoXmrdrGl349jWlLN4QdSuh+8cJiZq/Yyu8vGkZets/g7VyYvMmuFRqcnU7XDqk88s5y/uPYbmGHE6rzhvfkqM7t+NqQHnUf7JxrUl5DaoWSEhO4quAoZn66hYWrW+dNnlt27wfghJzO3OD3FTkXEzwhtVKXnNCHtDaJ/KUV3ii7YvNuxvz+Lf7mw9+diymekFqpjLbJXJQfuVF2+97Ws1bSrtJyvv3XQgw4ZUDsL0PvXGvifUit2M2n5XLdyX3JaJscdijNorLSuPWpeRRv3M1frx3JUV3Swg7JORfFE1Ir1jX98zWSzIzI6u4t1z2vf8wbS9bz828cy5f6+7RAzsUab7Jr5XaVlnPNYx/y5Ierwg6lyfXq1JYrRx3FVQU5YYfinKuB15BaubQ2iWzevZ9H3l3OpSf0JiGh5dWSyisqSUpM4NKRfcIOxTlXC68htXKSuO7kvizfuJu3Pm55N8pu2lXKmf/3Nq8tWhd2KM65OnhCcpx9XA+6p6e2uLWS9pdXctMTsynZupceGW3DDsc5VwdPSI7kxASuKsjhvWWbWbJ2R9jhNAoz47+nLGTWZ1v5zYVDOK6XTwvkXKzzPiQHwLiRfaiorKRHRmrdB8eBv32wgic/XMVNp+UydljPugs450LnCckBkNEumfGjjw47jEazcvMexgzqyvfPGBh2KM65evImO3eQl4rW8o9Z8TUEfML0YmYUbzpo2+hjunL8UZ1IbIGjBp1rqTwhuYM8O7eEX09dyr6yirBDqbchvTIYP2ku05au59rHZzFp5grGT5rL8D4dww7NOXcYQklIki6StEhSpaT8qO3JkiZKWiBpiaQ7ovZNlTQ/KDdBUo3LnkoaIun94LgFklKD7b+StErSrmrHp0h6WtIySTMl5TTR244L153cjy279/Pc3NVhh1JvBbmZ/OisgXx74mymLd3AXa8s5YFxwynI9dkYnIsnYdWQFgLnA29X234RkGJmxwEjgBuiEsTFZjYUGAxkBcceRFIS8ARwo5nlAacBVTOHvgCMrCGW64CtZtYf+ANwd8PfVvwb1a8zx/ZI59F3P8Us9leUraw0/vLup/z0+UW0SYo0z11TkOPJyLk4FEpCMrMlZvZRTbuAtCCxtAX2AzuCMlXjkZOANsGx1Z0BFJnZ/KDMZjOrCJ5/YGZraygzFpgYPJ8MjFFLn9StFlU3yn6yYRdvf7Kp7gIhe2rWKu58cTGDs9NJSU7kltH9eWLmyi/0KTnnYl+s9SFNBnYDa4GVwO/MbEvVTkmvAhuAncGx1Q0ATNKrkuZI+mE9rtkTWAVgZuXAdqBLTQdKul5SoaTCjRs3Hsbbii/fGJrNqH6dqayM3RrS9j2Riu8FI3oy/vRcPtu8h4cuP57bzhjIA+OGM37SXE9KzsWZJktIkt6QtLCGx9haio0EKoBsoC9wu6R+VTvN7EygB5ACjK6hfBJwMnB58Od5ksbUFWoN22r8Jjazh80s38zys7Ja7lo6bZISeOr6kzh9UNewQ/mC3aXl/PiZIs6+7x127CsjJSmR9qnJB/UZFeRm8sC44RSVtM7VcJ2LV012H5KZfaUBxcYBU82sDNgg6T0gH1gedd59kqYQaWp7vVr5EmC6mW0CkPQycDzwZi3XLAF6AyVBU2EGsKWW41uFCdOLGditPSnJiQe+6GcUb6KoZDs3hrTk97xV27j1qbms2LKHm07NJTUpMq6lpngKcjO9H8m5OBNrTXYrgdGKSANGAUsltZfUAw4MXDgbWFpD+VeBIZLaBcedCiyu45pTgKuC5xcC0yweevOb2JBeGdz4xBy++eiHbN5VyoziTYyfNJchIUzBU1FpPDDtEy744wzKKoynvj2KH541iDZJsfbP1zl3JMIa9n2epBLgJOCloG8I4EGgPZFReLOAx8ysCEgDpkgqAuYT6UeaEJzrHEl3ApjZVuCeoOw8YI6ZvRQc95vgmu0klUj6eXDNR4EukpYBtwE/btI3HycKcjP51bmDKa80zvjD23xrYiG/Pv+4UGodAmYUb+brQ3rw8ve+zIn9auzic87FOXlloGHy8/OtsLAw7DCa3PV/LeS1xesBSE4Ub952Gn26tGvy65oZz89bw6h+Xeiekcre/RW0bVPjrWfOuTgiabaZ5de0z9s83CHNKN5E4Yqt3DK6P+mpSZw/vBe9O0eWcbh76lLuenkJn6zf2ejX3b6njO8+OZdbn57HY+9FlsTwZORcy+eTq7oaVfUZVY1eG5XbhfGT5jJ2eTYFuZms276PF+av4U9vL2do745cOKIX5wzJJqNd8hFd9/3izdz+j3ls2FnKD84cGNoACudc8/MmuwZq6U12E6YXM6RXxkF9RtVH2W3aVcpzc1czeXYJS9ft5Jov5fDf38jDzKg0Dnti0xfmr+GWp+aS0yWN/7tkGEN7d2zMt+SciwG1Ndl5Qmqglp6QDoeZsWjNDjLaJtO7czs+WL6Z7z01l/OP78WFI3qRm9W+1vKVlUZCgti+t4yH3lrGLaOPJi3FK+/OtUS1JST/X++OmCQG9/x8OHjb5EQGZ2fw8NvL+eNbxRzfpyMXjujNBSN68th7nx2oeZkZT3ywgic+WME5w3ryndP7c8dXjwnxnTjnwuQJyTW6ob078ujVJ7Bh5z6em7uafxaW8PvXPuKi/F4M6ZXBTU/M4a7zBjN5zmqmLd1AcqIY0LX2WpRzruXzJrsG8ia7+jMz1u8opXtGKpWVxshfvcGm3ftJEKQmJ/LIN/Mp6O+zKjjXGviwbxcqSXTPSAUikwT+YuxghvbKoNLgWyf39WTknAM8IblmlpggOqUls2rrXl8qwjl3EE9IrllF39/kS0U456J5QnLNqqhkuy8V4ZyrkQ9qaCAf1OCcc4fPBzU455yLeZ6QnHPOxQRPSM4552KCJyTnnHMxwROSc865mOCj7BpI0kZgRQOLZwLxdONNPMUbT7FCfMUbT7FCfMUbT7HCkcV7lJll1bTDE1IIJBUeathjLIqneOMpVoiveOMpVoiveOMpVmi6eL3JzjnnXEzwhOSccy4meEIKx8NhB3CY4ineeIoV4iveeIoV4iveeIoVmihe70NyzjkXE7yG5JxzLiZ4QnLOORcTPCE1EUl/kbRB0sJD7B8k6X1JpZK+39zx1RBPXfFeLqkoeMyQNLS5Y4yKpa5YxwZxzpNUKOnk5o6xWjy1xht13AmSKiRd2Fyx1RBDXZ/taZK2B5/tPEk/a+4Yq8VT52cbxDxP0iJJ05szvmpx1PXZ/iDqc10Y/Fvo3NxxRsVTV7wZkl6QND/4bK854ouamT+a4AGcAhwPLDzE/q7ACcCvgO/HQbwFQKfg+VeBmTEca3s+7x8dAiyN5c82OCYRmAa8DFwYq7ECpwEvhvl5Hma8HYHFQJ/gdddYjbXasd8ApsX4Z/sT4O7geRawBWhzJNf0GlITMbO3ifwFHWr/BjObBZQ1X1SHVo94Z5jZ1uDlB0CvZgms5ljqinWXBf9LgDQg1JE7dcUb+C7wDLCh6SM6tHrGGjPqEe844F9mtjI4PrTP9zA/28uAJ5swnDrVI14DOkgSkR+BW4DyI7mmJyTXENcBr4QdRG0knSdpKfAScG3Y8dRGUk/gPGBC2LHU00lBM80rkvLCDqYOA4BOkt6SNFvSN8MOqC6S2gFnEfmBEsseAI4B1gALgO+ZWeWRnDCpMaJyrYek04kkpFD7ZepiZs8Cz0o6Bfgl8JWQQ6rN/wE/MrOKyI/NmDaHyFxkuySdDTwHHB1uSLVKAkYAY4C2wPuSPjCzj8MNq1bfAN4zs1ivqZ4JzANGA7nA65LeMbMdDT2h15BcvUkaAjwCjDWzzWHHUx9Bs0OupMywY6lFPvCUpM+AC4GHJJ0bakSHYGY7zGxX8PxlIDnGP9sSYKqZ7TazTcDbQGgDcurpUkJurquna4g0h5qZLQM+BQYdyQk9Ibl6kdQH+BdwZYz/ukRS/6BdG0nHA22AmE2gZtbXzHLMLAeYDNxsZs+FG1XNJHWP+mxHEvkOidnPFnge+LKkpKAp7ERgScgxHZKkDOBUInHHupVEap5I6gYMBJYfyQm9ya6JSHqSyIikTEklwH8DyQBmNkFSd6AQSAcqJd0KHHsk1d2mjBf4GdCFyK93gHILaXbiesR6AfBNSWXAXuCSqEEOza4e8caMesR6IXCTpHIin+2lsfzZmtkSSVOBIqASeMTMah1+H1aswWHnAa+Z2e4wYoxWj3h/CTwuaQEgIs3OR7SEhk8d5JxzLiZ4k51zzrmY4AnJOedcTPCE5JxzLiZ4QnLOORcTPCE555yLCZ6QnGtkkrpJmiRpeTBdzfuSzgs7rppI6ijp5qjXOZLGRb3Ol3RfONG51sYTknONKLhp9DngbTPrZ2YjiNx5H9pktHXoCNwc9TqHyISkAJhZoZnd0swxuVbKE5JzjWs0sD/6hlczW2Fm9wNISpT0W0mzgjWbbgi2K9i+UNICSZcE20+TNF3SPyR9LOnXiqxN9WFwXG71ACSdGrWuzlxJHYLtP4i67i+Cw39NZGqleZJ+G7z+cvD6P4PrvxiU/3mwRs5bQe3vlqhr/lTSUkmvS3pSMbDGl4s/PlODc40rj8gEpIdyHbDdzE6QlAK8J+k1IuvODCMyz1omMEvS20GZoURmVd5CZGqWR8xspKTvEVm24tZq1/g+8B0ze09Se2CfpDOITII6kshd9VOCiWd/DAw2s2EQSYBE1uf6etTraIOA04EOwEeS/hjEdwEwnMh3yhxgdh2fk3Nf4AnJuSYk6UEiM6PvN7MTgDOAIfp8VdgMIoniZOBJM6sA1iuysukJwA5glpmtDc5XDLwWlF1AJDlU9x5wj6S/E5n8siRISGcAc4Nj2gfXXXmYb+klMysFSiVtALoFsT9vZnuDGF84zHM6B3hCcq6xLSJSWwDAzL4TzIZdGGwS8F0zezW6ULCUw6GURj2vjHpdSQ3/h83s15JeAs4GPpD0leC6d5nZn6pdN6c+b+oQsVQE14/5NTNcfPA+JOca1zQgVdJNUdvaRT1/lcjkpMkAkgZISiOyLMIlQR9TFpHloz9sSACScs1sgZndTSQRDgque23QhIeknpK6AjuJNL9Vqf66Pt4FviEpNTj/1xoSt3NeQ3KuEZmZKbKW0R8k/RDYCOwGfhQc8giRkWxzghF5G4FzgWeBk4D5RJaG/qGZrZPUkPVlblVkIcUKYDHwipmVSjqGyAJ1ALuAK8ysWNJ7khYSWQX4J0C5pPnA43zexFfbe54laUoQ+woiSXB7A+J2rZzP9u2cO2KS2geryLYjUtu73sxqG9zh3Bd4Dck51xgelnQskApM9GTkGsJrSM4552KCD2pwzjkXEzwhOeeciwmekJxzzsUET0jOOedigick55xzMeH/AxICo/MJoUAFAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#*** Bondscan (scan 1 bond)\n", "import numpy as np\n", "\n", "# Set dictionary\n", "# Scan bond between a1=0 and a2=1, over range v, \n", "# where a1,a2 are atom indexes (as shown in the geometry table).\n", "geomDict = {v:{'a1':0,'a2':1,'l':v} for v in np.around(np.arange(1.1,2.0,0.05),3)}\n", "\n", "# Run a bond scan - pass `bondDict` for the 1D scan case.\n", "demoMulti.runGeomScan(bondDict = geomDict, fileBase = '/tmp/N2O_geomScan_test_jan2024')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys([1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 'summary'])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Results are printed during the run if self.verbose>0 (as above).\n", "# They are also output to self.geomScan, for each geometry\n", "demoMulti.geomScan.keys()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['mol', 'fileOut'])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# This includes file locations and an ESgamess class object for each case\n", "demoMulti.geomScan[1.75].keys()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['fileList', 'E', 'Ezeros', 'geom', 'pd'])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The summary item contains some general info\n", "demoMulti.geomScan['summary'].keys()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " False,\n", " True,\n", " False,\n", " True,\n", " True,\n", " True]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Note that Ezeros tracks any cases with E=0, which generally indicates an unconverged calculation\n", "demoMulti.geomScan['summary']['Ezeros']" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
a1a2lE
1.100.01.01.10-183.587372
1.150.01.01.15-183.603651
1.200.01.01.20-183.610708
1.250.01.01.25-183.611885
1.300.01.01.30-183.609675
1.350.01.01.35-183.605851
1.400.01.01.40-183.601578
1.450.01.01.45-183.597528
1.500.01.01.50-183.594017
1.550.01.01.55-183.591128
1.600.01.01.60-183.588822
1.650.01.01.65-183.587003
1.700.01.01.70-183.585567
1.750.01.01.75NaN
1.800.01.01.80-183.583472
1.850.01.01.85NaN
1.900.01.01.90NaN
1.950.01.01.95NaN
\n", "
" ], "text/plain": [ " a1 a2 l E\n", "1.10 0.0 1.0 1.10 -183.587372\n", "1.15 0.0 1.0 1.15 -183.603651\n", "1.20 0.0 1.0 1.20 -183.610708\n", "1.25 0.0 1.0 1.25 -183.611885\n", "1.30 0.0 1.0 1.30 -183.609675\n", "1.35 0.0 1.0 1.35 -183.605851\n", "1.40 0.0 1.0 1.40 -183.601578\n", "1.45 0.0 1.0 1.45 -183.597528\n", "1.50 0.0 1.0 1.50 -183.594017\n", "1.55 0.0 1.0 1.55 -183.591128\n", "1.60 0.0 1.0 1.60 -183.588822\n", "1.65 0.0 1.0 1.65 -183.587003\n", "1.70 0.0 1.0 1.70 -183.585567\n", "1.75 0.0 1.0 1.75 NaN\n", "1.80 0.0 1.0 1.80 -183.583472\n", "1.85 0.0 1.0 1.85 NaN\n", "1.90 0.0 1.0 1.90 NaN\n", "1.95 0.0 1.0 1.95 NaN" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# And the full output tabulation as a Pandas Dataframe\n", "# Note here that E=0 cases are replaced with np.nan in the default case.\n", "# Pass `zeroFill=False` to self.runGeomScan() to keep E=0 cases intact.\n", "demoMulti.geomScan['summary']['pd']" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3063
11N70.00.0-0.4437
22N70.00.0-1.5308
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3063\n", "1 1 N 7 0.0 0.0 -0.4437\n", "2 2 N 7 0.0 0.0 -1.5308" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Any ESgamess class methods are also available for each case, as the 'mol' item\n", "# Some examples are given below, see the main demo doc for more.\n", "# https://epsman.readthedocs.io/en/latest/demos/ESgamess_class_demo_221123-tidy.html\n", "\n", "# Print full Gamess output\n", "# demoMulti.geomScan[1.75]['mol'].printGamess()\n", "\n", "# Print tail\n", "# demoMulti.geomScan[1.75]['mol'].tail()\n", "\n", "# Print geom table\n", "demoMulti.geomScan[1.75]['mol'].printTable()" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Generating electronic strucutres for a range of geometries\n", "\n", "In this case, run a single-point calculation for each specified geometry.\n", "\n", "Geometries can be set manually, or via existing methods supported by `setCoords()`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setting positions via a dictionary" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0: {'x': 0.0, 'y': 0.0, 'z': 1.3063}, 1: {'x': 0.0, 'y': 0.0, 'z': -0.1096}, 2: {'x': 0.0, 'y': 0.0, 'z': -1.1967}}\n" ] }, { "data": { "text/plain": [ "{'set1': {0: [0, 0, 1.33], 1: [0, 0, 0]},\n", " 'set2': {0: [0, 0, 1.378], 1: [0, -0.1, 0], 2: [-0.2, -0.2, -1.3]},\n", " 'set3': {0: [0, 0, 1.42], 1: [0, -0.2, 0], 2: [0.3, -0.2, -1.3]}}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Manual example\n", "\n", "# Check an existing case, and use as reference\n", "# print(demoMulti.geomScan[1.5]['mol'].atomsDict['coordDict'])\n", "print(demoMulti.ESbase.atomsDict['coordDict'])\n", "\n", "# Set some geometries - dictionary form\n", "# Set coords for specified atoms only\n", "newCoords = {'set1':{0:[0,0,1.33], 1:[0,0,0]}}\n", "\n", "# Set coords for all atoms\n", "newCoords['set2'] = {0:[0,0,1.378], 1:[0,-0.1,0], 2:[-0.2,-0.2,-1.3]}\n", "newCoords['set3'] = {0:[0,0,1.42], 1:[0,-0.2,0], 2:[0.3,-0.2,-1.3]}\n", "\n", "newCoords" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Running geometry scan for 3 points.\n", "\n", "*** Running geom 1/3.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.3300
11N70.00.00.0000
22N70.00.0-1.1967
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.3300\n", "1 1 N 7 0.0 0.0 0.0000\n", "2 2 N 7 0.0 0.0 -1.1967" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x thhndi -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/thhndi.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x thhndi -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/thhndi.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -183.58114386880001\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_2_jan2024_set1.out\n", "\n", "*** Running geom 2/3.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.378
11N70.0-0.10.000
22N7-0.2-0.2-1.300
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.378\n", "1 1 N 7 0.0 -0.1 0.000\n", "2 2 N 7 -0.2 -0.2 -1.300" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ayuotz -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ayuotz.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ayuotz -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/ayuotz.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = 0\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_2_jan2024_set2.out\n", "\n", "*** Running geom 3/3.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.42
11N70.0-0.20.00
22N70.3-0.2-1.30
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.42\n", "1 1 N 7 0.0 -0.2 0.00\n", "2 2 N 7 0.3 -0.2 -1.30" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x pyhhtx -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/pyhhtx.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x pyhhtx -ddi 1 1 jake -scr /tmp/tmpz5ahzmk9 > /tmp/tmpz5ahzmk9/pyhhtx.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = 0\n", "*** Gamess output file moved to /tmp/N2O_geomScan_test_2_jan2024_set3.out\n", "\n", "*** Geom scan completed.\n", "*** Warning: found E=0 for 2 case(s), calculations may be unconverged. Check self.geomScan['summary']['Ezeros'] for details.\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012E
set1[0, 0, 1.33][0, 0, 0]NaN-183.581144
set2[0, 0, 1.378][0, -0.1, 0][-0.2, -0.2, -1.3]NaN
set3[0, 0, 1.42][0, -0.2, 0][0.3, -0.2, -1.3]NaN
\n", "
" ], "text/plain": [ " 0 1 2 E\n", "set1 [0, 0, 1.33] [0, 0, 0] NaN -183.581144\n", "set2 [0, 0, 1.378] [0, -0.1, 0] [-0.2, -0.2, -1.3] NaN\n", "set3 [0, 0, 1.42] [0, -0.2, 0] [0.3, -0.2, -1.3] NaN" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Run a bond scan - pass `positionsDict` for the arbitrary positions case\n", "demoMulti.runGeomScan(positionsDict = newCoords, fileBase = '/tmp/N2O_geomScan_test_2_jan2024')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setting positions from a file\n", "\n", "Currently only sets of geometries in Molden style are supported directly.\n", "\n", "Note, however, that the file parser should be somewhat general, and can be set to look for different keywords and field widths as required, although other input types have not yet been tested.\n", "\n", "See the [API docs for further details and options](https://epsman.readthedocs.io/en/latest/modules/epsman.elecStructure.util.html#epsman.elecStructure.util.readMoldenGeoms)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Read positions from file" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Load file reader\n", "from epsman.elecStructure.util import readMoldenGeoms\n", "\n", "fileIn = 'OCS_geom_test.molden'" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "! Geometry 1\n", "[Atoms] Angs\n", "O 1 8 0.0000000000 0.0000000000 1.6823745030\n", "C 2 6 0.0000000000 0.0000000000 0.5299428780\n", "S 3 16 0.0000000000 0.0000000000 -1.0409749970\n", "! Geometry 2\n", "[Atoms] Angs\n", "O 1 8 -0.0063927500 -0.0016230650 1.6690513100\n", "C 2 6 0.0147512290 0.0037452120 0.5339956840\n", "S 3 16 -0.0023425710 -0.0005947590 -1.0358303560\n" ] } ], "source": [ "# Show example of input file format (Molden format)\n", "from itertools import islice\n", "with open(fileIn, 'r') as f:\n", " for line in islice(f, 10):\n", " print(line.strip('\\n'))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Reading geometries from file OCS_geom_test.molden...\n", "Read 4 geometries.\n" ] } ], "source": [ "# Read a file\n", "geoms = readMoldenGeoms(fileIn, verbose = 0)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys([0, 1, 2, 3, 'details'])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The returned structure contains all the geometires as dictionaries and dataframes, in numerical order.\n", "geoms.keys()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['pd', 'positionsDict'])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "geoms[0].keys()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.682375
11C60.00.00.529943
22S160.00.0-1.040975
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.682375\n", "1 1 C 6 0.0 0.0 0.529943\n", "2 2 S 16 0.0 0.0 -1.040975" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "geoms[0]['pd']" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{0: [0.0, 0.0, 1.682374503],\n", " 1: [0.0, 0.0, 0.529942878],\n", " 2: [0.0, 0.0, -1.040974997]}" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "geoms[0]['positionsDict']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Init molecule\n", "\n", "As previously, this works by setting a template for the job prior to runGeomScan().\n", "\n", "In this case, the reference molecule can simply be created from one of the inputs (Pandas form)..." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Set name = None\n", "Set smiles = None\n", "Set molFile = None\n", "Set pd from passed values.\n", "Set xyz = None\n", "Set molOverride = None\n", "Set job = None\n", "Set sym = C1\n", "Set atomList = None\n", "Set precision = 6\n", "Set atomsDict = {}\n", "Set refDict = {}\n", "Set atomsHist = {}\n", "*** Updating coords (Pandas version).\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAACCElEQVR4nO3UwQ3AIBDAsNL9dz52IA+EZE+QV9bMfACc+m8HALzNRgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAxEYBEhsFSGwUILFRgMRGARIbBUhsFCCxUYDERgESGwVIbBQgsVGAZAMTDQQpVReZYAAAAGZ6VFh0cmRraXRQS0wgcmRraXQgMjAyMy4wMy4yAAB4nHu/b+09BiDgZYAAJiBmhtINjBwKGiA+ExuYZmIRgPK5GRg1mBiZNJhEQHrE9YAEIxSDdYOBQMR1exg7YhU7nL3arnW/GAB2CAqeSlkzhQAAAKt6VFh0TU9MIHJka2l0IDIwMjMuMDMuMgAAeJx9UEEKwyAQvPuK+UBldZO2HqOGUkoUmrR/6D3/p9piNRA668K4zCzDCmTc/e214gf2QgD05xlj8GQiEhMygR0v1wC3DLZMXHyEZQZDJ0eqrXJY4lQmChEk6YNKlDyeNZ/66tRwOzqSvTam46pjzDu6g5LUkWkXjsFvgnyj2Rh8jaZz1wS5uPW36vwvJ0hcvAGzt0MgGuySxwAAAEl6VFh0U01JTEVTIHJka2l0IDIwMjMuMDMuMgAAeJzzt3W2DVao0TDQMdAx1DOzMDI2twaxDfRMjSwtTYzBHF1DPQMTA0tzzRoA9JcJ/t50gjIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.682375
11C60.00.00.529943
22S160.00.0-1.040975
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.682375\n", "1 1 C 6 0.0 0.0 0.529943\n", "2 2 S 16 0.0 0.0 -1.040975" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "*** Running default Gamess job.\n", "*** Updating coords (Pandas version).\n", "*** Set frame rotations, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.291927
11C60.00.00.139495
22S160.00.0-1.431423
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.291927\n", "1 1 C 6 0.0 0.0 0.139495\n", "2 2 S 16 0.0 0.0 -1.431423" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ukscad -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/ukscad.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ukscad -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/ukscad.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** Init pyGamess job.\n", "Default Gamess input card set (use self.params to modify options dictionary, self.setGamess() to test):\n", "\n", " $contrl scftyp=rhf runtyp=energy $end\n", " $basis gbasis=sto ngauss=3 $end\n", " $system mwords=30 $end\n", " $DATA\n", "None\n", "C1\n", "O 8.0 0.0000000000 0.0000000000 1.2919270000 \n", "C 6.0 0.0000000000 0.0000000000 0.1394950000 \n", "S 16.0 0.0000000000 0.0000000000 -1.4314230000 \n", " $END\n", "\n", "*** Found Gamess executable: /opt/gamess/gamess.00.x\n", "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -504.44024327800003\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.291927
11C60.00.00.139495
22S160.00.0-1.431423
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.291927\n", "1 1 C 6 0.0 0.0 0.139495\n", "2 2 S 16 0.0 0.0 -1.431423" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "demoFile = ESmulti(pd = geoms[0]['pd'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Run geometry scan\n", "\n", "Note the default case accepts the dictionary returned by `readMoldenGeoms()`, or a subset of geometries can be selected and/or preset manually, as demonstrated below." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Running geometry scan for 4 points.\n", "\n", "*** Running geom 1/4.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.00.01.682375
11C60.00.00.529943
22S160.00.0-1.040975
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.0 0.0 1.682375\n", "1 1 C 6 0.0 0.0 0.529943\n", "2 2 S 16 0.0 0.0 -1.040975" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x lwvxci -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/lwvxci.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x lwvxci -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/lwvxci.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -504.44024324359998\n", "*** Gamess output file moved to /tmp/OCS_geomScan_test_jan2024_0.out\n", "\n", "*** Running geom 2/4.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O8-0.006393-0.0016231.669051
11C60.0147510.0037450.533996
22S16-0.002343-0.000595-1.035830
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 -0.006393 -0.001623 1.669051\n", "1 1 C 6 0.014751 0.003745 0.533996\n", "2 2 S 16 -0.002343 -0.000595 -1.035830" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x mxkmvw -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/mxkmvw.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x mxkmvw -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/mxkmvw.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -504.43805569070003\n", "*** Gamess output file moved to /tmp/OCS_geomScan_test_jan2024_1.out\n", "\n", "*** Running geom 3/4.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.010129-0.0115101.662179
11C6-0.0233720.0265590.497786
22S160.003712-0.004218-1.018788
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.010129 -0.011510 1.662179\n", "1 1 C 6 -0.023372 0.026559 0.497786\n", "2 2 S 16 0.003712 -0.004218 -1.018788" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x flqhbe -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/flqhbe.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x flqhbe -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/flqhbe.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -504.4338781852\n", "*** Gamess output file moved to /tmp/OCS_geomScan_test_jan2024_2.out\n", "\n", "*** Running geom 4/4.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.0190860.0149691.742301
11C6-0.044040-0.0345400.497968
22S160.0069940.005485-1.058951
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.019086 0.014969 1.742301\n", "1 1 C 6 -0.044040 -0.034540 0.497968\n", "2 2 S 16 0.006994 0.005485 -1.058951" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x lvaywa -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/lvaywa.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x lvaywa -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/lvaywa.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -504.42585458849999\n", "*** Gamess output file moved to /tmp/OCS_geomScan_test_jan2024_3.out\n", "\n", "*** Geom scan completed.\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012E
0[0.0, 0.0, 1.682374503][0.0, 0.0, 0.529942878][0.0, 0.0, -1.040974997]-504.440243
1[-0.00639275, -0.001623065, 1.66905131][0.014751229, 0.003745212, 0.533995684][-0.002342571, -0.000594759, -1.035830356]-504.438056
2[0.01012876, -0.011510087, 1.662178978][-0.023372048, 0.026559449, 0.497786022][0.003711601, -0.004217777, -1.018788375]-504.433878
3[0.019085602, 0.014968535, 1.742300554][-0.044039901, -0.034539797, 0.497968286][0.006993762, 0.005485097, -1.058951125]-504.425855
\n", "
" ], "text/plain": [ " 0 \\\n", "0 [0.0, 0.0, 1.682374503] \n", "1 [-0.00639275, -0.001623065, 1.66905131] \n", "2 [0.01012876, -0.011510087, 1.662178978] \n", "3 [0.019085602, 0.014968535, 1.742300554] \n", "\n", " 1 \\\n", "0 [0.0, 0.0, 0.529942878] \n", "1 [0.014751229, 0.003745212, 0.533995684] \n", "2 [-0.023372048, 0.026559449, 0.497786022] \n", "3 [-0.044039901, -0.034539797, 0.497968286] \n", "\n", " 2 E \n", "0 [0.0, 0.0, -1.040974997] -504.440243 \n", "1 [-0.002342571, -0.000594759, -1.035830356] -504.438056 \n", "2 [0.003711601, -0.004217777, -1.018788375] -504.433878 \n", "3 [0.006993762, 0.005485097, -1.058951125] -504.425855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Run a bond scan - pass `positionsDict` for the arbitrary positions case\n", "# This will run ALL cases from `geoms`\n", "demoFile.runGeomScan(positionsDict = geoms, fileBase = '/tmp/OCS_geomScan_test_jan2024')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Run with subselection" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Running geometry scan for 2 points.\n", "\n", "*** Running geom 1/2.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O8-0.006393-0.0016231.669051
11C60.0147510.0037450.533996
22S16-0.002343-0.000595-1.035830
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 -0.006393 -0.001623 1.669051\n", "1 1 C 6 0.014751 0.003745 0.533996\n", "2 2 S 16 -0.002343 -0.000595 -1.035830" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ssteqv -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/ssteqv.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ssteqv -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/ssteqv.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -504.43805569070003\n", "*** Gamess output file moved to /tmp/OCS_geomScan_test_jan2024_1.out\n", "\n", "*** Running geom 2/2.\n", "*** Updating coords (dictionary version).\n", "*** Set atom positions, new coord table:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndSpeciesAtomic Num.xyz
00O80.010129-0.0115101.662179
11C6-0.0233720.0265590.497786
22S160.003712-0.004218-1.018788
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 0.010129 -0.011510 1.662179\n", "1 1 C 6 -0.023372 0.026559 0.497786\n", "2 2 S 16 0.003712 -0.004218 -1.018788" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x zwyzzp -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/zwyzzp.out\n", "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x zwyzzp -ddi 1 1 jake -scr /tmp/tmp9ci0tvpi > /tmp/tmp9ci0tvpi/zwyzzp.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** ddikick exit status OK: ddikick.x: exited gracefully.\n", "*** Gamess run completed OK.\n", "E = -504.4338781852\n", "*** Gamess output file moved to /tmp/OCS_geomScan_test_jan2024_2.out\n", "\n", "*** Geom scan completed.\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012E
1[-0.00639275, -0.001623065, 1.66905131][0.014751229, 0.003745212, 0.533995684][-0.002342571, -0.000594759, -1.035830356]-504.438056
2[0.01012876, -0.011510087, 1.662178978][-0.023372048, 0.026559449, 0.497786022][0.003711601, -0.004217777, -1.018788375]-504.433878
\n", "
" ], "text/plain": [ " 0 \\\n", "1 [-0.00639275, -0.001623065, 1.66905131] \n", "2 [0.01012876, -0.011510087, 1.662178978] \n", "\n", " 1 \\\n", "1 [0.014751229, 0.003745212, 0.533995684] \n", "2 [-0.023372048, 0.026559449, 0.497786022] \n", "\n", " 2 E \n", "1 [-0.002342571, -0.000594759, -1.035830356] -504.438056 \n", "2 [0.003711601, -0.004217777, -1.018788375] -504.433878 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Run a bond scan - pass `positionsDict` for the arbitrary positions case\n", "# With 'keys' passed this will run subselected cases from `geoms`\n", "demoFile.runGeomScan(positionsDict = geoms, fileBase = '/tmp/OCS_geomScan_test_jan2024', keys = [1,2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Versions" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Fri Jan 26 13:08:16 2024 EST
OSLinuxCPU(s)64Machinex86_64
Architecture64bitEnvironmentJupyter
Python 3.7.10 (default, Feb 26 2021, 18:47:35) \n", "[GCC 7.3.0]
epsman0.0.1cclib1.7rdkit2023.03.2
numpy1.19.2scipy1.6.1IPython7.21.0
matplotlib3.3.4scooby0.5.6
Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
" ], "text/plain": [ "\n", "--------------------------------------------------------------------------------\n", " Date: Fri Jan 26 13:08:16 2024 EST\n", "\n", " OS : Linux\n", " CPU(s) : 64\n", " Machine : x86_64\n", " Architecture : 64bit\n", " Environment : Jupyter\n", "\n", " Python 3.7.10 (default, Feb 26 2021, 18:47:35) [GCC 7.3.0]\n", "\n", " epsman : 0.0.1\n", " cclib : 1.7\n", " rdkit : 2023.03.2\n", " numpy : 1.19.2\n", " scipy : 1.6.1\n", " IPython : 7.21.0\n", " matplotlib : 3.3.4\n", " scooby : 0.5.6\n", "\n", " Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for\n", " Intel(R) 64 architecture applications\n", "--------------------------------------------------------------------------------" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import scooby\n", "scooby.Report(additional=['epsman', 'cclib', 'rdkit'])" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " master\u001b[m\n", "* \u001b[32mrestructure160221\u001b[m\n", "beb05dfab9c83352e12f077aa92ce68f349ab5c4\n" ] } ], "source": [ "# Check current Git commit for local ePSproc version\n", "from pathlib import Path\n", "import epsman as em\n", "\n", "!git -C {Path(em.__file__).parent} branch\n", "!git -C {Path(em.__file__).parent} log --format=\"%H\" -n 1" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "21b4357a169baf9fa7887c68bd1cf8f92c59642c\trefs/heads/master\n", "beb05dfab9c83352e12f077aa92ce68f349ab5c4\trefs/heads/restructure160221\n" ] } ], "source": [ "# Check current remote commits\n", "!git ls-remote --heads https://github.com/phockett/epsman" ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:epsman-dev-shared-310122]", "language": "python", "name": "conda-env-epsman-dev-shared-310122-py" }, "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.10" } }, "nbformat": 4, "nbformat_minor": 4 }