{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ePSman ESgamess class notes & demos: molecule and Gamess job handling class\n", "30/03/21\n", "\n", "This class handles Gamess jobs (full pipeline) on a local machine only.\n", "\n", "Core functionality is provided by the following libraries:\n", "\n", "- [PubChemPy](https://pypi.org/project/PubChemPy/)\n", " - Interface with [PubChem](https://pubchem.ncbi.nlm.nih.gov).\n", "- [RDKit](https://rdkit.org/docs/index.html)\n", " - Molecule class/handling routines.\n", " - Transformations.\n", " - Figures (2D natively, uses [py3Dmol on the backend](https://pypi.org/project/py3Dmol/) for 3D rendering).\n", "- [pygamess](https://github.com/kzfm/pygamess)\n", " - Setup Gamess input cards.\n", " - Run Gamess calculations (local machine only).\n", "\n", "This class creates a pipeline with these tools, and implements a few extra helper routines, with the general aim to make this part of the process as painless as possible.\n", "\n", "Minimal method for pipeline to ePolyScat jobs:\n", "\n", "PubChem download > Fix reference frame (symmetry axis to Z) > Run Gamess > Export/convert." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import class\n", "from epsman.elecStructure.gamess import ESgamess" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Molecule creation routines\n", "\n", "Currently wraps routines from RDkit + PubChemPy for rapid setup from existing sources. Shows 2D structure and coord tabe on execution.\n", "\n", "TODO: add support for manual molecule creation. This can be done via a file at the moment, or via RDkit backend (see, for example, [the RDkit docs](https://www.rdkit.org/docs/GettingStartedInPython.html#reading-and-writing-molecules))." ] }, { "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", "*** File /home/paul/github/epsman/demos/N2O.SDF already exists, pass overwrite=True to overwrite\n", "Set job = None\n", "Set sym = C1\n", "Set atomList = None\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "RDKit WARNING: [14:38:36] Warning: molecule is tagged as 3D, but all Z coords are zero\n", "RDKit WARNING: [14:38:36] 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" }, { "name": "stdout", "output_type": "stream", "text": [ "O 8.0 1.3063000000 0.0000000000 0.0000000000 \n", "N 7.0 -0.1096000000 0.0000000000 0.0000000000 \n", "N 7.0 -1.1967000000 0.0000000000 0.0000000000 \n", "\n" ] } ], "source": [ "# Molecule from PubChem\n", "testDL = ESgamess(searchName = 'N2O')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Set name = None\n", "Set smiles = [N-]=[N+]=O\n", "Set molFile = None\n", "Set job = None\n", "Set sym = C1\n", "Set atomList = None\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "N 7.0 1.1203318954 0.1103129733 0.0000000000 \n", "N 7.0 -0.0066842804 -0.3821096381 0.0000000000 \n", "O 8.0 -1.1136476150 -0.8657704075 0.0000000000 \n", "\n" ] } ], "source": [ "# Molecule from SMILES\n", "testSmiles = ESgamess(smiles = '[N-]=[N+]=O')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Set name = None\n", "Set smiles = None\n", "Set molFile = N2O.SDF\n", "Set job = None\n", "Set sym = C1\n", "Set atomList = None\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "RDKit WARNING: [14:38:36] Warning: molecule is tagged as 3D, but all Z coords are zero\n", "RDKit WARNING: [14:38:36] 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" }, { "name": "stdout", "output_type": "stream", "text": [ "O 8.0 1.3063000000 0.0000000000 0.0000000000 \n", "N 7.0 -0.1096000000 0.0000000000 0.0000000000 \n", "N 7.0 -1.1967000000 0.0000000000 0.0000000000 \n", "\n" ] } ], "source": [ "# From file, e.g. SDF file downloaded from PubChem above.\n", "# This uses RDkit Chem.MolFromMolFile() on the backend, \n", "# For details of files supported see https://www.rdkit.org/docs/source/rdkit.Chem.rdmolfiles.html\n", "\n", "testFile = ESgamess(molFile = 'N2O.SDF')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Additional info" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If `Pandas` is available, a fancy print is available with `printTable()`." ] }, { "cell_type": "code", "execution_count": 5, "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
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" } ], "source": [ "testDL.printTable()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If `py3Dmol` is available, interactive 3D plots are available in notebooks with `plot3D()`." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/3dmoljs_load.v0": "
\n

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

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

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

\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "testDL.plot3D()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The molecule is stored as an RDkit object, `self.mol`, and [RDkit methods are also available](https://www.rdkit.org/docs/GettingStartedInPython.html)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "rdkit.Chem.rdchem.Mol" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(testDL.mol)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calling the object will render it\n", "testDL.mol" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# RDkit method example\n", "testDL.mol.GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## pyGamess wrapper" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setup Gamess job" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "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 1.3063000000 0.0000000000 0.0000000000 \n", "N 7.0 -0.1096000000 0.0000000000 0.0000000000 \n", "N 7.0 -1.1967000000 0.0000000000 0.0000000000 \n", " $END\n", "\n" ] } ], "source": [ "# Init the pyGamess job.\n", "# This minimally needs a gamess_path set, which defaults to '/opt/gamess'\n", "testDL.initGamess() # Using defaults" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This creates a `pyGamess` object, accessible at `self.g`." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "/opt/gamess\n" ] } ], "source": [ "print(type(testDL.g))\n", "print(testDL.g.gamess_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All Gamess job parameters are stored in a dictionary, at `self.params` (also `self.g.options`), and can be set there directly. See the [pyGamess docs for more info](https://github.com/kzfm/pygamess).\n", "\n", "`pyGamess` doesn't support symmetry or job annotation (uses 'C1' only), this can be added via a class wrapper here, and can be set via `self.setGamess`.\n", "\n", "**Note that is symmetry is set to anything other than 'C1', coordinate transforms may be required - [see notes below.](#Symmetry-&-frame-transformations)**" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'contrl': {'scftyp': 'rhf', 'runtyp': 'energy'},\n", " 'basis': {'gbasis': 'sto', 'ngauss': '3'},\n", " 'statpt': {'opttol': '0.0001', 'nstep': '20'},\n", " 'system': {'mwords': '30'},\n", " 'cis': {'nstate': '1'},\n", " 'extra': {'job': None, 'sym': 'C1', 'atomList': None}}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "testDL.params" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This adds an `extras` item to the params dictionary." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'contrl': {'scftyp': 'rhf', 'runtyp': 'energy'},\n", " 'basis': {'gbasis': 'sto', 'ngauss': '3'},\n", " 'statpt': {'opttol': '0.0001', 'nstep': '20'},\n", " 'system': {'mwords': '30'},\n", " 'cis': {'nstate': '1'},\n", " 'extra': {'job': None, 'sym': 'C1', 'atomList': None}}" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "testDL.params" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Where `atomList` can additionally be set to sub-select on which atoms are listed on the input card for symmetrized jobs (TODO: make this better/automated!).\n", "\n", "The current Gamess input card can always be checked via `self.printGamessInput()`" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Gamess input card:\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 1.3063000000 0.0000000000 0.0000000000 \n", "N 7.0 -0.1096000000 0.0000000000 0.0000000000 \n", "N 7.0 -1.1967000000 0.0000000000 0.0000000000 \n", " $END\n", "\n" ] } ], "source": [ "testDL.printGamessInput()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run Gamess\n", "\n", "If a valid `gamess_path` is set, then this is simple, and the basic results are returned to `self.mol`." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x watddq -ddi 1 1 jake -scr /tmp/tmpv0_0f1_d > /tmp/tmpv0_0f1_d/watddq.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** Energy run completed\n", "E = -181.1830797993\n" ] } ], "source": [ "# Run as per input card\n", "testDL.runGamess()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x uopeyh -ddi 1 1 jake -scr /tmp/tmpv0_0f1_d > /tmp/tmpv0_0f1_d/uopeyh.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** Optimized self.mol\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
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" } ], "source": [ "# Run optimization, in this case the updated coord table is also shown.\n", "testDL.runGamess(runType = 'optimize')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, in the default case the tmp files are not kept. To keep the full Gamess output, supply a filename (full path)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/tmp/tmpv0_0f1_d/uopeyh.out\n", "cat: /tmp/tmpv0_0f1_d/uopeyh.out: No such file or directory\n" ] } ], "source": [ "# Check for tmp file\n", "print(testDL.g.gamout)\n", "\n", "!cat {testDL.g.gamout}" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x ytegoc -ddi 1 1 jake -scr /tmp/tmpv0_0f1_d > /tmp/tmpv0_0f1_d/ytegoc.out\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*** Energy run completed\n", "E = -181.1830797993\n", "*** Gamess output file moved to /tmp/test.out\n" ] } ], "source": [ "# runGamess wrapper will take a path and move the output file.\n", "testDL.runGamess(fileOut = '/tmp/test.out')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Distributed Data Interface kickoff program.\n", " Initiating 1 compute processes on 1 nodes to run the following command:\n", " /opt/gamess/gamess.00.x ytegoc \n", "\n", " ******************************************************\n", " * GAMESS VERSION = 30 SEP 2018 (R3) *\n", " * FROM IOWA STATE UNIVERSITY *\n", " * M.W.SCHMIDT, K.K.BALDRIDGE, J.A.BOATZ, S.T.ELBERT, *\n", " * M.S.GORDON, J.H.JENSEN, S.KOSEKI, N.MATSUNAGA, *\n", " * K.A.NGUYEN, S.J.SU, T.L.WINDUS, *\n", " * TOGETHER WITH M.DUPUIS, J.A.MONTGOMERY *\n", " * J.COMPUT.CHEM. 14, 1347-1363(1993) *\n", " **************** 64 BIT LINUX VERSION ****************\n", "\n", " SINCE 1993, STUDENTS AND POSTDOCS WORKING AT IOWA STATE UNIVERSITY\n", " AND ALSO IN THEIR VARIOUS JOBS AFTER LEAVING ISU HAVE MADE IMPORTANT\n", " CONTRIBUTIONS TO THE CODE:\n", " IVANA ADAMOVIC, CHRISTINE AIKENS, YURI ALEXEEV, POOJA ARORA,\n", " ANDREY ASADCHEV, ROB BELL, PRADIPTA BANDYOPADHYAY, JONATHAN BENTZ,\n", " BRETT BODE, KURT BRORSEN, CALEB CARLIN, GALINA CHABAN, WEI CHEN,\n", " CHEOL HO CHOI, PAUL DAY, ALBERT DEFUSCO, NUWAN DESILVA, TIM DUDLEY,\n", " DMITRI FEDOROV, ALEX FINDLATER, GRAHAM FLETCHER, MARK FREITAG,\n", " KURT GLAESEMANN, ANASTASIA GUNINA,\n", " DAN KEMP, GRANT MERRILL, NORIYUKI MINEZAWA, JONATHAN MULLIN,\n", " TAKESHI NAGATA, SEAN NEDD, HEATHER NETZLOFF, BOSILJKA NJEGIC, RYAN OLSON,\n", " MIKE PAK, BUU PHAM,\n", " SPENCER PRUITT, LUKE ROSKOP, JIM SHOEMAKER, LYUDMILA SLIPCHENKO,\n", " TONY SMITH, SAROM SOK LEANG, JIE SONG, TETSUYA TAKETSUGU, SIMON WEBB,\n", " PENG XU, SOOHAENG YOO, FEDERICO ZAHARIEV\n", "\n", " ADDITIONAL CODE HAS BEEN PROVIDED BY COLLABORATORS IN OTHER GROUPS:\n", " IOWA STATE UNIVERSITY:\n", " JOE IVANIC, AARON WEST, LAIMUTIS BYTAUTAS, KLAUS RUEDENBERG\n", " UNIVERSITY OF TOKYO: KIMIHIKO HIRAO, TAKAHITO NAKAJIMA,\n", " TAKAO TSUNEDA, MUNEAKI KAMIYA, SUSUMU YANAGISAWA,\n", " KIYOSHI YAGI, MAHITO CHIBA, SEIKEN TOKURA, NAOAKI KAWAKAMI\n", " UNIVERSITY OF AARHUS: FRANK JENSEN\n", " UNIVERSITY OF IOWA: VISVALDAS KAIRYS, HUI LI\n", " NATIONAL INST. OF STANDARDS AND TECHNOLOGY: WALT STEVENS, DAVID GARMER\n", " UNIVERSITY OF PISA: BENEDETTA MENNUCCI, JACOPO TOMASI\n", " UNIVERSITY OF MEMPHIS: HENRY KURTZ, PRAKASHAN KORAMBATH\n", " UNIVERSITY OF ALBERTA: TOBY ZENG, MARIUSZ KLOBUKOWSKI\n", " UNIVERSITY OF NEW ENGLAND: MARK SPACKMAN\n", " MIE UNIVERSITY: HIROAKI UMEDA\n", " NAT. INST. OF ADVANCED INDUSTRIAL SCIENCE AND TECHNOLOGY: KAZUO KITAURA\n", " MICHIGAN STATE UNIVERSITY:\n", " KAROL KOWALSKI, MARTA WLOCH, JEFFREY GOUR, JESSE LUTZ,\n", " WEI LI, JUN SHEN, J. EMILIANO DEUSTUA, PIOTR PIECUCH\n", " UNIVERSITY OF MINNESOTA:\n", " YINAN SHU\n", " UNIVERSITY OF SILESIA: MONIKA MUSIAL, STANISLAW KUCHARSKI\n", " FACULTES UNIVERSITAIRES NOTRE-DAME DE LA PAIX:\n", " OLIVIER QUINET, BENOIT CHAMPAGNE\n", " UNIVERSITY OF CALIFORNIA - SANTA BARBARA: BERNARD KIRTMAN\n", " INSTITUTE FOR MOLECULAR SCIENCE:\n", " KAZUYA ISHIMURA, MICHIO KATOUDA, AND SHIGERU NAGASE\n", " UNIVERSITY OF NOTRE DAME: ANNA POMOGAEVA, DAN CHIPMAN\n", " KYUSHU UNIVERSITY:\n", " HARUYUKI NAKANO,\n", " FENG LONG GU, JACEK KORCHOWIEC, MARCIN MAKOWSKI, AND YURIKO AOKI,\n", " HIROTOSHI MORI AND EISAKU MIYOSHI\n", " PENNSYLVANIA STATE UNIVERSITY:\n", " TZVETELIN IORDANOV, CHET SWALINA, JONATHAN SKONE,\n", " SHARON HAMMES-SCHIFFER\n", " WASEDA UNIVERSITY:\n", " MASATO KOBAYASHI, TOMOKO AKAMA, TSUGUKI TOUMA,\n", " TAKESHI YOSHIKAWA, YASUHIRO IKABATA, JUNJI SEINO,\n", " YUYA NAKAJIMA, HIROMI NAKAI\n", " NANJING UNIVERSITY: SHUHUA LI\n", " UNIVERSITY OF NEBRASKA:\n", " PEIFENG SU, DEJUN SI, NANDUN THELLAMUREGE, YALI WANG, HUI LI\n", " UNIVERSITY OF ZURICH: ROBERTO PEVERATI, KIM BALDRIDGE\n", " N. COPERNICUS UNIVERSITY AND JACKSON STATE UNIVERSITY:\n", " MARIA BARYSZ\n", " UNIVERSITY OF COPENHAGEN: Jimmy Kromann, CASPER STEINMANN\n", " TOKYO INSTITUTE OF TECHNOLOGY: HIROYA NAKATA\n", " NAGOYA UNIVERSITY: YOSHIO NISHIMOTO, STEPHAN IRLE\n", " MOSCOW STATE UNIVERSITY: VLADIMIR MIRONOV\n", "\n", " EXECUTION OF GAMESS BEGUN Tue Mar 30 14:38:42 2021\n", "\n", " ECHO OF THE FIRST FEW INPUT CARDS -\n", " INPUT CARD> $contrl scftyp=rhf runtyp=energy $end \n", " INPUT CARD> $basis gbasis=sto ngauss=3 $end \n", " INPUT CARD> $system mwords=30 $end \n", " INPUT CARD> $DATA \n", " INPUT CARD>None \n", " INPUT CARD>C1 \n", " INPUT CARD>O 8.0 1.3063000000 0.0000000000 0.0000000000 \n", " INPUT CARD>N 7.0 -0.1096000000 0.0000000000 0.0000000000 \n", " INPUT CARD>N 7.0 -1.1967000000 0.0000000000 0.0000000000 \n", " INPUT CARD> $END \n", " 30000000 WORDS OF MEMORY AVAILABLE\n", "\n", " BASIS OPTIONS\n", " -------------\n", " GBASIS=STO IGAUSS= 3 POLAR=NONE \n", " NDFUNC= 0 NFFUNC= 0 DIFFSP= F\n", " NPFUNC= 0 DIFFS= F BASNAM= \n", "\n", "\n", " RUN TITLE\n", " ---------\n", " None \n", "\n", " THE POINT GROUP OF THE MOLECULE IS C1 \n", " THE ORDER OF THE PRINCIPAL AXIS IS 0\n", "\n", " ATOM ATOMIC COORDINATES (BOHR)\n", " CHARGE X Y Z\n", " O 8.0 2.4685490578 0.0000000000 0.0000000000\n", " N 7.0 -0.2071139683 0.0000000000 0.0000000000\n", " N 7.0 -2.2614350895 0.0000000000 0.0000000000\n", "\n", " INTERNUCLEAR DISTANCES (ANGS.)\n", " ------------------------------\n", "\n", " 1 O 2 N 3 N \n", "\n", " 1 O 0.0000000 1.4159000 * 2.5030000 *\n", " 2 N 1.4159000 * 0.0000000 1.0871000 *\n", " 3 N 2.5030000 * 1.0871000 * 0.0000000 \n", "\n", " * ... LESS THAN 3.000\n", "\n", "\n", " ATOMIC BASIS SET\n", " ----------------\n", " THE CONTRACTED PRIMITIVE FUNCTIONS HAVE BEEN UNNORMALIZED\n", " THE CONTRACTED BASIS FUNCTIONS ARE NOW NORMALIZED TO UNITY\n", "\n", " SHELL TYPE PRIMITIVE EXPONENT CONTRACTION COEFFICIENT(S)\n", "\n", " O \n", "\n", " 1 S 1 130.7093214 0.154328967295\n", " 1 S 2 23.8088661 0.535328142282\n", " 1 S 3 6.4436083 0.444634542185\n", "\n", " 2 L 4 5.0331513 -0.099967229187 0.155916274999\n", " 2 L 5 1.1695961 0.399512826089 0.607683718598\n", " 2 L 6 0.3803890 0.700115468880 0.391957393099\n", "\n", " N \n", "\n", " 3 S 7 99.1061690 0.154328967295\n", " 3 S 8 18.0523124 0.535328142282\n", " 3 S 9 4.8856602 0.444634542185\n", "\n", " 4 L 10 3.7804559 -0.099967229187 0.155916274999\n", " 4 L 11 0.8784966 0.399512826089 0.607683718598\n", " 4 L 12 0.2857144 0.700115468880 0.391957393099\n", "\n", " N \n", "\n", " 5 S 13 99.1061690 0.154328967295\n", " 5 S 14 18.0523124 0.535328142282\n", " 5 S 15 4.8856602 0.444634542185\n", "\n", " 6 L 16 3.7804559 -0.099967229187 0.155916274999\n", " 6 L 17 0.8784966 0.399512826089 0.607683718598\n", " 6 L 18 0.2857144 0.700115468880 0.391957393099\n", "\n", " TOTAL NUMBER OF BASIS SET SHELLS = 6\n", " NUMBER OF CARTESIAN GAUSSIAN BASIS FUNCTIONS = 15\n", " NUMBER OF ELECTRONS = 22\n", " CHARGE OF MOLECULE = 0\n", " SPIN MULTIPLICITY = 1\n", " NUMBER OF OCCUPIED ORBITALS (ALPHA) = 11\n", " NUMBER OF OCCUPIED ORBITALS (BETA ) = 11\n", " TOTAL NUMBER OF ATOMS = 3\n", " THE NUCLEAR REPULSION ENERGY IS 56.6209169337\n", "\n", " THIS MOLECULE IS RECOGNIZED AS BEING LINEAR,\n", " ORBITAL LZ DEGENERACY TOLERANCE ETOLLZ= 1.00E-06\n", "\n", " $CONTRL OPTIONS\n", " ---------------\n", " SCFTYP=RHF RUNTYP=ENERGY EXETYP=RUN \n", " MPLEVL= 0 CITYP =NONE CCTYP =NONE VBTYP =NONE \n", " DFTTYP=NONE TDDFT =NONE \n", " MULT = 1 ICHARG= 0 NZVAR = 0 COORD =UNIQUE \n", " PP =NONE RELWFN=NONE LOCAL =NONE NUMGRD= F\n", " ISPHER= -1 NOSYM = 0 MAXIT = 30 UNITS =ANGS \n", " PLTORB= F MOLPLT= F AIMPAC= F FRIEND= \n", " NPRINT= 7 IREST = 0 GEOM =INPUT \n", " NORMF = 0 NORMP = 0 ITOL = 20 ICUT = 9\n", " INTTYP=BEST GRDTYP=BEST QMTTOL= 1.0E-06\n", "\n", " $SYSTEM OPTIONS\n", " ---------------\n", " REPLICATED MEMORY= 30000000 WORDS (ON EVERY NODE).\n", " DISTRIBUTED MEMDDI= 0 MILLION WORDS IN AGGREGATE,\n", " MEMDDI DISTRIBUTED OVER 1 PROCESSORS IS 0 WORDS/PROCESSOR.\n", " TOTAL MEMORY REQUESTED ON EACH PROCESSOR= 30000000 WORDS.\n", " TIMLIM= 525600.00 MINUTES, OR 365.0 DAYS.\n", " PARALL= F BALTYP= DLB KDIAG= 0 COREFL= F\n", " MXSEQ2= 300 MXSEQ3= 150 mem10= 0\n", "\n", " ----------------\n", " PROPERTIES INPUT\n", " ----------------\n", "\n", " MOMENTS FIELD POTENTIAL DENSITY\n", " IEMOM = 1 IEFLD = 0 IEPOT = 0 IEDEN = 0\n", " WHERE =COMASS WHERE =NUCLEI WHERE =NUCLEI WHERE =NUCLEI \n", " OUTPUT=BOTH OUTPUT=BOTH OUTPUT=BOTH OUTPUT=BOTH \n", " IEMINT= 0 IEFINT= 0 IEDINT= 0\n", " MORB = 0\n", " EXTRAPOLATION IN EFFECT\n", " SOSCF IN EFFECT\n", " ORBITAL PRINTING OPTION: NPREO= 1 15 2 1\n", "\n", " -------------------------------\n", " INTEGRAL TRANSFORMATION OPTIONS\n", " -------------------------------\n", " NWORD = 0\n", " CUTOFF = 1.0E-09 MPTRAN = 0\n", " DIRTRF = F AOINTS =DUP \n", "\n", " ----------------------\n", " INTEGRAL INPUT OPTIONS\n", " ----------------------\n", " NOPK = 1 NORDER= 0 SCHWRZ= F\n", "\n", " ------------------------------------------\n", " THE POINT GROUP IS C1 , NAXIS= 0, ORDER= 1\n", " ------------------------------------------\n", "\n", " DIMENSIONS OF THE SYMMETRY SUBSPACES ARE\n", " A = 15\n", "\n", " ..... DONE SETTING UP THE RUN .....\n", " STEP CPU TIME = 0.00 TOTAL CPU TIME = 0.0 ( 0.0 MIN)\n", " TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 0.00%\n", "\n", " ********************\n", " 1 ELECTRON INTEGRALS\n", " ********************\n", " ...... END OF ONE-ELECTRON INTEGRALS ......\n", " STEP CPU TIME = 0.00 TOTAL CPU TIME = 0.0 ( 0.0 MIN)\n", " TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 0.00%\n", "\n", " -------------\n", " GUESS OPTIONS\n", " -------------\n", " GUESS =HUCKEL NORB = 0 NORDER= 0\n", " MIX = F PRTMO = F PUNMO = F\n", " TOLZ = 1.0E-08 TOLE = 1.0E-05\n", " SYMDEN= F PURIFY= F\n", "\n", " INITIAL GUESS ORBITALS GENERATED BY HUCKEL ROUTINE.\n", " HUCKEL GUESS REQUIRES 4764 WORDS.\n", "\n", " SYMMETRIES FOR INITIAL GUESS ORBITALS FOLLOW. BOTH SET(S).\n", " 11 ORBITALS ARE OCCUPIED ( 3 CORE ORBITALS).\n", " 4=A 5=A 6=A 7=A 8=A 9=A 10=A \n", " 11=A 12=A 13=A 14=A 15=A \n", " ...... END OF INITIAL ORBITAL SELECTION ......\n", " STEP CPU TIME = 0.00 TOTAL CPU TIME = 0.0 ( 0.0 MIN)\n", " TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 0.00%\n", "\n", " ----------------------\n", " AO INTEGRAL TECHNOLOGY\n", " ----------------------\n", " S,P,L SHELL ROTATED AXIS INTEGRALS, REPROGRAMMED BY\n", " KAZUYA ISHIMURA (IMS) AND JOSE SIERRA (SYNSTAR).\n", " S,P,D,L SHELL ROTATED AXIS INTEGRALS PROGRAMMED BY\n", " KAZUYA ISHIMURA (INSTITUTE FOR MOLECULAR SCIENCE).\n", " S,P,D,F,G SHELL TO TOTAL QUARTET ANGULAR MOMENTUM SUM 5,\n", " ERIC PROGRAM BY GRAHAM FLETCHER (ELORET AND NASA ADVANCED\n", " SUPERCOMPUTING DIVISION, AMES RESEARCH CENTER).\n", " S,P,D,F,G,L SHELL GENERAL RYS QUADRATURE PROGRAMMED BY\n", " MICHEL DUPUIS (PACIFIC NORTHWEST NATIONAL LABORATORY).\n", "\n", " --------------------\n", " 2 ELECTRON INTEGRALS\n", " --------------------\n", "\n", " THE -PK- OPTION IS OFF, THE INTEGRALS ARE NOT IN SUPERMATRIX FORM.\n", " STORING 15000 INTEGRALS/RECORD ON DISK, USING 12 BYTES/INTEGRAL.\n", " TWO ELECTRON INTEGRAL EVALUATION REQUIRES 89377 WORDS OF MEMORY.\n", " II,JST,KST,LST = 1 1 1 1 NREC = 1 INTLOC = 1\n", " II,JST,KST,LST = 2 1 1 1 NREC = 1 INTLOC = 2\n", " II,JST,KST,LST = 3 1 1 1 NREC = 1 INTLOC = 34\n", " II,JST,KST,LST = 4 1 1 1 NREC = 1 INTLOC = 72\n", " II,JST,KST,LST = 5 1 1 1 NREC = 1 INTLOC = 486\n", " II,JST,KST,LST = 6 1 1 1 NREC = 1 INTLOC = 709\n", " TOTAL NUMBER OF NONZERO TWO-ELECTRON INTEGRALS = 2276\n", " 1 INTEGRAL RECORDS WERE STORED ON DISK FILE 8.\n", " ...... END OF TWO-ELECTRON INTEGRALS .....\n", " STEP CPU TIME = 0.01 TOTAL CPU TIME = 0.0 ( 0.0 MIN)\n", " TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 50.00%\n", "\n", " --------------------------\n", " RHF SCF CALCULATION\n", " --------------------------\n", "\n", " NUCLEAR ENERGY = 56.6209169337\n", " MAXIT = 30 NPUNCH= 2\n", " EXTRAP=T DAMP=F SHIFT=F RSTRCT=F DIIS=F DEM=F SOSCF=T\n", " DENSITY MATRIX CONV= 1.00E-05\n", " SOSCF WILL OPTIMIZE 44 ORBITAL ROTATIONS, SOGTOL= 0.250\n", " MEMORY REQUIRED FOR RHF ITERS= 31961 WORDS.\n", "\n", " ITER EX DEM TOTAL ENERGY E CHANGE DENSITY CHANGE ORB. GRAD\n", " 1 0 0 -180.6349352246 -180.6349352246 0.842406318 0.000000000\n", " ---------------START SECOND ORDER SCF---------------\n", " SOSCF IS SCALING ROTATION ANGLE MATRIX, SQCDF= 0.140487\n", " 2 1 0 -180.9447400302 -0.3098048056 0.726548798 0.180297490\n", " 3 2 0 -180.9415576650 0.0031823652 0.226517379 0.188684179\n", " 4 3 0 -181.1219528866 -0.1803952216 0.333983778 0.064196293\n", " 5 4 0 -181.1282578097 -0.0063049231 0.193132621 0.112045845\n", " 6 5 0 -181.1769569066 -0.0486990969 0.058052121 0.022286065\n", " 7 6 0 -181.1820673078 -0.0051104012 0.028852437 0.008697435\n", " 8 7 0 -181.1829582015 -0.0008908937 0.008881127 0.005147896\n", " 9 8 0 -181.1830710726 -0.0001128711 0.003193726 0.001343628\n", " 10 9 0 -181.1830797930 -0.0000087205 0.000062587 0.000024715\n", " 11 10 0 -181.1830797989 -0.0000000059 0.000023347 0.000010068\n", " 12 11 0 -181.1830797992 -0.0000000003 0.000008502 0.000002253\n", " 13 12 0 -181.1830797993 -0.0000000000 0.000000720 0.000000399\n", "\n", " -----------------\n", " DENSITY CONVERGED\n", " -----------------\n", " TIME TO FORM FOCK OPERATORS= 0.0 SECONDS ( 0.0 SEC/ITER)\n", " TIME TO SOLVE SCF EQUATIONS= 0.0 SECONDS ( 0.0 SEC/ITER)\n", "\n", " FINAL RHF ENERGY IS -181.1830797993 AFTER 13 ITERATIONS\n", "\n", " LZ VALUE ANALYSIS FOR THE MOS\n", " ----------------------------------------\n", " MO 1 ( 1) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 2 ( 2) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 3 ( 3) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 4 ( 4) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 5 ( 5) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 6 ( 6) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 7 ( 7) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 8 ( 7) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 9 ( 8) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 10 ( 9) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 11 ( 9) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 12 ( 10) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 13 ( 10) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 14 ( 11) HAS LZ(WEIGHT)= 0.00(100.0%) \n", " MO 15 ( 12) HAS LZ(WEIGHT)= 0.00(100.0%) \n", "\n", " ------------\n", " EIGENVECTORS\n", " ------------\n", "\n", " 1 2 3 4 5\n", " -20.2387 -15.6547 -15.5635 -1.5103 -1.2294\n", " A A A A A \n", " 1 O 1 S 0.994683 0.000366 -0.000022 -0.038574 -0.213755\n", " 2 O 1 S 0.022355 -0.002639 0.000103 0.137214 0.780989\n", " 3 O 1 X -0.002896 0.001914 -0.000091 -0.042332 -0.077744\n", " 4 O 1 Y 0.000000 0.000000 0.000000 0.000000 -0.000000\n", " 5 O 1 Z 0.000000 0.000000 0.000000 0.000000 -0.000000\n", " 6 N 2 S 0.000363 0.993941 -0.010740 -0.185804 -0.044053\n", " 7 N 2 S -0.002852 0.028607 -0.010651 0.525909 0.190276\n", " 8 N 2 X -0.004465 -0.005726 0.005685 -0.215881 0.316885\n", " 9 N 2 Y 0.000000 0.000000 0.000000 0.000000 -0.000000\n", " 10 N 2 Z 0.000000 0.000000 0.000000 0.000000 -0.000000\n", " 11 N 3 S -0.000001 0.010985 0.994074 -0.165354 0.071341\n", " 12 N 3 S -0.001036 -0.008815 0.028461 0.443033 -0.202824\n", " 13 N 3 X -0.000716 -0.004730 0.008917 0.227657 -0.066463\n", " 14 N 3 Y 0.000000 0.000000 0.000000 0.000000 -0.000000\n", " 15 N 3 Z 0.000000 0.000000 0.000000 0.000000 -0.000000\n", "\n", " 6 7 8 9 10\n", " -0.7303 -0.6659 -0.6659 -0.5921 -0.3473\n", " A A A A A \n", " 1 O 1 S -0.120511 -0.000000 -0.000000 -0.091682 0.000000\n", " 2 O 1 S 0.542892 -0.000000 -0.000000 0.441886 0.000000\n", " 3 O 1 X 0.212182 -0.000000 -0.000000 0.282393 0.000000\n", " 4 O 1 Y 0.000000 0.084683 0.198804 0.000000 0.929990\n", " 5 O 1 Z 0.000000 0.198804 -0.084683 0.000000 0.000774\n", " 6 N 2 S 0.144709 -0.000000 -0.000000 0.033876 0.000000\n", " 7 N 2 S -0.627685 -0.000000 -0.000000 -0.218551 0.000000\n", " 8 N 2 X -0.188874 -0.000000 -0.000000 -0.530071 0.000000\n", " 9 N 2 Y 0.000000 0.261114 0.612998 0.000000 -0.008727\n", " 10 N 2 Z 0.000000 0.612998 -0.261114 0.000000 -0.000007\n", " 11 N 3 S -0.156055 -0.000000 -0.000000 0.088708 0.000000\n", " 12 N 3 S 0.687898 -0.000000 -0.000000 -0.504406 0.000000\n", " 13 N 3 X -0.286433 -0.000000 -0.000000 0.533622 0.000000\n", " 14 N 3 Y 0.000000 0.205603 0.482678 0.000000 -0.372349\n", " 15 N 3 Z 0.000000 0.482678 -0.205603 0.000000 -0.000310\n", "\n", " 11 12 13 14 15\n", " -0.3473 0.2381 0.2381 0.4481 1.1895\n", " A A A A A \n", " 1 O 1 S 0.000000 0.000000 0.000000 0.053475 0.039502\n", " 2 O 1 S 0.000000 0.000000 0.000000 -0.293518 -0.255348\n", " 3 O 1 X 0.000000 0.000000 0.000000 0.963127 0.371575\n", " 4 O 1 Y -0.000774 0.076671 0.310714 -0.000000 0.000000\n", " 5 O 1 Z 0.929990 0.310714 -0.076671 -0.000000 0.000000\n", " 6 N 2 S 0.000000 0.000000 0.000000 -0.132767 0.088622\n", " 7 N 2 S 0.000000 0.000000 0.000000 0.890822 -1.007362\n", " 8 N 2 X 0.000000 0.000000 0.000000 0.180786 1.361082\n", " 9 N 2 Y 0.000007 -0.194691 -0.789002 -0.000000 0.000000\n", " 10 N 2 Z -0.008727 -0.789002 0.194691 -0.000000 0.000000\n", " 11 N 3 S 0.000000 0.000000 0.000000 0.050337 -0.117577\n", " 12 N 3 S 0.000000 0.000000 0.000000 -0.328764 1.200088\n", " 13 N 3 X 0.000000 0.000000 0.000000 -0.448397 1.180663\n", " 14 N 3 Y 0.000310 0.197008 0.798393 -0.000000 0.000000\n", " 15 N 3 Z -0.372349 0.798393 -0.197008 -0.000000 0.000000\n", " ...... END OF RHF CALCULATION ......\n", " STEP CPU TIME = 0.00 TOTAL CPU TIME = 0.0 ( 0.0 MIN)\n", " TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 33.33%\n", "\n", " ----------------------------------------------------------------\n", " PROPERTY VALUES FOR THE RHF SELF-CONSISTENT FIELD WAVEFUNCTION\n", " ----------------------------------------------------------------\n", "\n", " -----------------\n", " ENERGY COMPONENTS\n", " -----------------\n", "\n", " WAVEFUNCTION NORMALIZATION = 1.0000000000\n", "\n", " ONE ELECTRON ENERGY = -360.5175959557\n", " TWO ELECTRON ENERGY = 122.7135992227\n", " NUCLEAR REPULSION ENERGY = 56.6209169337\n", " ------------------\n", " TOTAL ENERGY = -181.1830797993\n", "\n", " ELECTRON-ELECTRON POTENTIAL ENERGY = 122.7135992227\n", " NUCLEUS-ELECTRON POTENTIAL ENERGY = -539.8773304465\n", " NUCLEUS-NUCLEUS POTENTIAL ENERGY = 56.6209169337\n", " ------------------\n", " TOTAL POTENTIAL ENERGY = -360.5428142901\n", " TOTAL KINETIC ENERGY = 179.3597344908\n", " VIRIAL RATIO (V/T) = 2.0101658564\n", "\n", " ...... PI ENERGY ANALYSIS ......\n", "\n", " ENERGY ANALYSIS:\n", " FOCK ENERGY= -115.0903974526\n", " BARE H ENERGY= -360.5175959557\n", " ELECTRONIC ENERGY = -237.8039967041\n", " KINETIC ENERGY= 179.3597344908\n", " N-N REPULSION= 56.6209169337\n", " TOTAL ENERGY= -181.1830797704\n", " SIGMA PART(1+2)= -194.3396030190\n", " (K,V1,2)= 163.1039467435 -440.7455451181 83.3019953555\n", " PI PART(1+2)= -43.4643936851\n", " (K,V1,2)= 16.2557877473 -99.1317853284 39.4116038960\n", " SIGMA SKELETON, ERROR= -137.7186860853 -0.0000000000\n", " MIXED PART= 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00\n", " ...... END OF PI ENERGY ANALYSIS ......\n", "\n", " ---------------------------------------\n", " MULLIKEN AND LOWDIN POPULATION ANALYSES\n", " ---------------------------------------\n", "\n", " ATOMIC MULLIKEN POPULATION IN EACH MOLECULAR ORBITAL\n", "\n", " 1 2 3 4 5\n", "\n", " 2.000000 2.000000 2.000000 2.000000 2.000000\n", "\n", " 1 2.000401 -0.000189 -0.000000 0.063955 1.380972\n", " 2 -0.000400 2.001948 -0.002059 1.046279 0.516360\n", " 3 -0.000002 -0.001759 2.002059 0.889766 0.102668\n", "\n", " 6 7 8 9 10\n", "\n", " 2.000000 2.000000 2.000000 2.000000 2.000000\n", "\n", " 1 0.528181 0.127387 0.127387 0.466979 1.724303\n", " 2 0.554734 1.120819 1.120819 0.535481 0.000163\n", " 3 0.917085 0.751794 0.751794 0.997541 0.275535\n", "\n", " 11\n", "\n", " 2.000000\n", "\n", " 1 1.724303\n", " 2 0.000163\n", " 3 0.275535\n", "\n", " ----- POPULATIONS IN EACH AO -----\n", " MULLIKEN LOWDIN\n", " 1 O 1 S 1.99935 1.99884\n", " 2 O 1 S 1.95707 1.93546\n", " 3 O 1 X 0.48387 0.55008\n", " 4 O 1 Y 1.85169 1.85258\n", " 5 O 1 Z 1.85169 1.85258\n", " 6 N 2 S 1.99689 1.99415\n", " 7 N 2 S 1.48231 1.37619\n", " 8 N 2 X 1.17315 1.20694\n", " 9 N 2 Y 1.12098 1.11484\n", " 10 N 2 Z 1.12098 1.11484\n", " 11 N 3 S 1.99777 1.99730\n", " 12 N 3 S 1.73783 1.63940\n", " 13 N 3 X 1.17175 1.30164\n", " 14 N 3 Y 1.02733 1.03258\n", " 15 N 3 Z 1.02733 1.03258\n", "\n", " ----- MULLIKEN ATOMIC OVERLAP POPULATIONS -----\n", " (OFF-DIAGONAL ELEMENTS NEED TO BE MULTIPLIED BY 2)\n", "\n", " 1 2 3\n", "\n", " 1 8.0267637\n", " 2 0.1237140 6.1424665\n", " 3 -0.0067999 0.6281256 6.3406901\n", "\n", " TOTAL MULLIKEN AND LOWDIN ATOMIC POPULATIONS\n", " ATOM MULL.POP. CHARGE LOW.POP. CHARGE\n", " 1 O 8.143678 -0.143678 8.189541 -0.189541\n", " 2 N 6.894306 0.105694 6.806964 0.193036\n", " 3 N 6.962016 0.037984 7.003496 -0.003496\n", "\n", " -------------------------------\n", " BOND ORDER AND VALENCE ANALYSIS BOND ORDER THRESHOLD=0.050\n", " -------------------------------\n", "\n", " BOND BOND BOND\n", " ATOM PAIR DIST ORDER ATOM PAIR DIST ORDER ATOM PAIR DIST ORDER\n", " 1 2 1.416 0.936 1 3 2.503 0.314 2 3 1.087 2.687\n", "\n", " TOTAL BONDED FREE\n", " ATOM VALENCE VALENCE VALENCE\n", " 1 O 1.251 1.251 -0.000\n", " 2 N 3.623 3.623 -0.000\n", " 3 N 3.001 3.001 0.000\n", "\n", " ---------------------\n", " ELECTROSTATIC MOMENTS\n", " ---------------------\n", "\n", " POINT 1 X Y Z (BOHR) CHARGE\n", " 0.111746 0.000000 0.000000 0.00 (A.U.)\n", " DX DY DZ /D/ (DEBYE)\n", " -1.016290 0.000000 0.000000 1.016290\n", " ...... END OF PROPERTY EVALUATION ......\n", " STEP CPU TIME = 0.00 TOTAL CPU TIME = 0.0 ( 0.0 MIN)\n", " TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 33.33%\n", " 580000 WORDS OF DYNAMIC MEMORY USED\n", " EXECUTION OF GAMESS TERMINATED NORMALLY Tue Mar 30 14:38:42 2021\n", " DDI: 263640 bytes (0.3 MB / 0 MWords) used by master data server.\n", "\n", " ----------------------------------------\n", " CPU timing information for all processes\n", " ========================================\n", " 0: 0.17 + 0.09 = 0.26\n", " ----------------------------------------\n", " ddikick.x: exited gracefully.\n", "\n" ] } ], "source": [ "# In this case the complete output file can also be printed\n", "testDL.printGamess()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Symmetry & frame transformations\n", "\n", "To use symmetry in the Gamess calculations, the system must be oriented such that the Z-axis is the highest symmetry axis. In tests both PubChem and RDkit seem to use the X-axis as the symmetry axis, so the frame needs to be rotated in general.\n", "\n", "From the [Gamess manual](https://www.msg.chem.iastate.edu/gamess/GAMESS_Manual/docs-input.txt):\n", "\n", "```\n", " The 'master frame' is just a standard orientation for\n", "the molecule. By default, the 'master frame' assumes that\n", " 1. z is the principal rotation axis (if any),\n", " 2. x is a perpendicular two-fold axis (if any),\n", " 3. xz is the sigma-v plane (if any), and\n", " 4. xy is the sigma-h plane (if any).\n", "Use the lowest number rule that applies to your molecule.\n", "\n", " Some examples of these rules:\n", "Ammonia (C3v): the unique H lies in the XZ plane (R1,R3).\n", "Ethane (D3d): the unique H lies in the YZ plane (R1,R2).\n", "Methane (Td): the H lies in the XYZ direction (R2). Since\n", " there is more than one 3-fold, R1 does not apply.\n", "HP=O (Cs): the mirror plane is the XY plane (R4).\n", "\n", "In general, it is a poor idea to try to reorient the\n", "molecule. Certain sections of the program, such as the\n", "orbital symmetry assignment, do not know how to deal with\n", "cases where the 'master frame' has been changed.\n", "\n", "Linear molecules (C4v or D4h) must lie along the z axis,\n", "so do not try to reorient linear molecules.\n", "```\n", "\n", "This is set with `self.rotateFrame()`, which can set arbitrary rotations, but defaults to X > Z axis transformation. This uses the RDkit canoicalise and transformation functions, with rotation matrices, as per [Github user iwatobipen's example notebook](https://nbviewer.jupyter.org/github/iwatobipen/playground/blob/master/rotation_mol.ipynb). (Thanks to [iwatobipen](https://github.com/iwatobipen) and the [RDkit list](https://sourceforge.net/p/rdkit/mailman/message/36598250/).)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** 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
00O87.998781e-170.0-1.3063
11N7-6.711064e-180.00.1096
22N7-7.327674e-170.01.1967
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 7.998781e-17 0.0 -1.3063\n", "1 1 N 7 -6.711064e-18 0.0 0.1096\n", "2 2 N 7 -7.327674e-17 0.0 1.1967" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "testDL.rotateFrame()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Symmetry groups supported (from the [Gamess manual](https://www.msg.chem.iastate.edu/gamess/GAMESS_Manual/docs-input.txt)):\n", "\n", "```\n", "GROUP is the Schoenflies symbol of the symmetry group,\n", "you may choose from\n", " C1, Cs, Ci, Cn, S2n, Cnh, Cnv, Dn, Dnh, Dnd,\n", " T, Th, Td, O, Oh.\n", "\n", "NAXIS is the order of the highest rotation axis, and\n", "must be given when the name of the group contains an N.\n", "For example, \"Cnv 2\" is C2v. \"S2n 3\" means S6. Use of\n", "NAXIS up to 8 is supported in each axial groups.\n", "\n", "For linear molecules, choose either Cnv or Dnh, and enter\n", "NAXIS as 4. Enter atoms as Dnh with NAXIS=2. If the\n", "electronic state of either is degenerate, check the note\n", "about the effect of symmetry in the electronic state\n", "in the SCF section of REFS.DOC.\n", "```" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Gamess input card:\n", " $contrl scftyp=rhf runtyp=energy $end\n", " $basis gbasis=sto ngauss=3 $end\n", " $system mwords=30 $end\n", " $DATA\n", "N2O sym testing\n", "CNV 8\n", "\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" ] } ], "source": [ "# Set Gamess input with symmetry\n", "testDL.setGamess(note='N2O sym testing', sym='CNV 8')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, it is worth noting that symmetrized jobs require only the unique atoms given on the input card. This is currently accomplished here rather crudely, via a list of atom indices (rows) to the input builder.\n", "\n", "For example..." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Gamess input card:\n", " $contrl scftyp=rhf runtyp=energy $end\n", " $basis gbasis=sto ngauss=3 $end\n", " $system mwords=30 $end\n", " $DATA\n", "N2O sym testing\n", "CNV 8\n", "\n", "O 8.0 0.0000000000 0.0000000000 -1.3063000000 \n", "N 7.0 -0.0000000000 0.0000000000 1.1967000000 \n", " $END\n", "\n" ] } ], "source": [ "testDL.setGamess(note='N2O sym testing', sym='CNV 8', atomList = [0,2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional Gamess parameters\n", "\n", "For the full set of [Gamess input options (inc. basis sets), see the manual](https://www.msg.chem.iastate.edu/gamess/GAMESS_Manual/docs-input.txt).\n", "\n", "As per the above input cards, `pyGamess` writes only the minimal set of `$contrl`, `$basis` and `$system` inputs, using the supplied parameters dictionary.\n", "\n", "TODO: wrap the input writer for arb sections from the params dictionary." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'gbasis': 'N31', 'ngauss': '6', 'ndfunc': '1', 'npfunc': '1'}" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Basis sets can additionally be set using pyGamess \n", "testDL.g.basis_set(\"6-31G**\")" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ERROR:pygamess.gamess:basis type not found\n" ] }, { "data": { "text/plain": [ "{'gbasis': 'N31', 'ngauss': '6', 'ndfunc': '1', 'npfunc': '1'}" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# This only has limited support...\n", "testDL.g.basis_set(\"ACCD\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'contrl': {'scftyp': 'rhf', 'runtyp': 'energy', 'ISPHER': '1'},\n", " 'basis': {'gbasis': 'ACCD'},\n", " 'statpt': {'opttol': '0.0001', 'nstep': '20'},\n", " 'system': {'mwords': '30'},\n", " 'cis': {'nstate': '1'},\n", " 'extra': {'job': 'N2O sym testing', 'sym': 'CNV 8', 'atomList': [0, 2]}}" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ... applying settings manually will always work however\n", "testDL.params['basis'] = {'gbasis':'ACCD'}\n", "testDL.params['contrl']['ISPHER']='1' # For ACCD need this too! \n", "testDL.params" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Gamess input card:\n", " $contrl scftyp=rhf runtyp=energy ISPHER=1 $end\n", " $basis gbasis=ACCD $end\n", " $system mwords=30 $end\n", " $DATA\n", "N2O sym testing\n", "CNV 8\n", "\n", "O 8.0 0.0000000000 0.0000000000 -1.3063000000 \n", "N 7.0 -0.0000000000 0.0000000000 1.1967000000 \n", " $END\n", "\n" ] } ], "source": [ "testDL.printGamessInput()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional transformations \n", "\n", "### Bond lengths & angles\n", "\n", "These can be addressed using the [RDkit functionality](https://rdkit.org/docs/source/rdkit.Chem.rdMolTransforms.html).\n", "\n", "There is also a wrapper for bond lengths at the moment, `self.setBondLength`, which takes a dictionary of bonds to set, in the format `{'Name':{'a1':0,'a2':1,'l':5}}` where 'a1' and 'a2' give the atom indices for atoms defining the bond. This wraps RDkit's [rdkit.Chem.rdMolTransforms.SetBondLength](https://rdkit.org/docs/source/rdkit.Chem.rdMolTransforms.html#rdkit.Chem.rdMolTransforms.SetBondLength).\n", "\n", "TODO: clean up input, wrap angle setting functions(?)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a basic bond-length example" ] }, { "cell_type": "code", "execution_count": 27, "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
00O87.998781e-170.0-1.3063
11N7-6.711064e-180.00.1096
22N7-7.327674e-170.01.1967
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 7.998781e-17 0.0 -1.3063\n", "1 1 N 7 -6.711064e-18 0.0 0.1096\n", "2 2 N 7 -7.327674e-17 0.0 1.1967" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "testDL.printTable()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** 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
00O87.998781e-170.0-1.3063
11N7-2.261739e-160.03.6937
22N7-5.323356e-160.08.6937
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 7.998781e-17 0.0 -1.3063\n", "1 1 N 7 -2.261739e-16 0.0 3.6937\n", "2 2 N 7 -5.323356e-16 0.0 8.6937" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bonds = {'NO':{'a1':0, 'a2':1, 'l':5}, 'NN':{'a1':1, 'a2':2, 'l':5}}\n", "# testDL.setBondLength(bonds = {'NO':{'a0':0, 'a1':1, 'l':5}})\n", "testDL.setBondLength(bonds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the RDkit routines move all atoms as appropriate for the new settings." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Manual coords\n", "\n", "This is currently a little basic, and just wraps RDkit conformer.SetAtomPosition() routine for each atom. Set & select with a dictionary input, using atom indicies as keys." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'ESgamess' object has no attribute 'setCoords'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Set coords for specified atoms\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mcoordsRef\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0.7\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1.0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mtestDL\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetCoords\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcoordsRef\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m: 'ESgamess' object has no attribute 'setCoords'" ] } ], "source": [ "# Set coords for specified atoms\n", "coordsRef = {0:[0,0,0], 1:[0.7,0,1.0]}\n", "testDL.setCoords(coordsRef)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Set all atoms on a specified axes with coord\n", "# This can be useful for symmetrized cases, since otherwise atoms may be erroneously duplicated in Gamess run (even for near-zero coords)\n", "mol.setAxis({'x':0.0, 'y':0.0})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Minimal job pipeline to generate electronic structure & input files for ePolyScat\n", "\n", "Possibly not advisable, since errors may go unnoticed, but the whole default pipeline can be executed with `self.buildES()`, which aims to string together the default cases above and produce a Gamess output file that can be used as input for ePolyScat. \n", "\n", "This can be run directly at class creation by passing `buildES=True`. To keep the Gamess output file, pass fileOut." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Set name = N2O\n", "Set smiles = None\n", "Set molFile = None\n", "*** File /home/paul/github/epsman/demos/N2O.SDF already exists, pass overwrite=True to overwrite\n", "Set job = None\n", "Set sym = C1\n", "Set atomList = None\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "RDKit WARNING: [14:39:01] Warning: molecule is tagged as 3D, but all Z coords are zero\n", "RDKit WARNING: [14:39:01] 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" }, { "name": "stdout", "output_type": "stream", "text": [ "O 8.0 1.3063000000 0.0000000000 0.0000000000 \n", "N 7.0 -0.1096000000 0.0000000000 0.0000000000 \n", "N 7.0 -1.1967000000 0.0000000000 0.0000000000 \n", "\n", "*** Running default Gamess job.\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
00O87.998781e-170.0-1.3063
11N7-6.711064e-180.00.1096
22N7-7.327674e-170.01.1967
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 7.998781e-17 0.0 -1.3063\n", "1 1 N 7 -6.711064e-18 0.0 0.1096\n", "2 2 N 7 -7.327674e-17 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 jfqorx -ddi 1 1 jake -scr /tmp/tmpq79qm8ni > /tmp/tmpq79qm8ni/jfqorx.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.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", "*** Energy run completed\n", "E = -181.1830797993\n", "*** Gamess output file moved to /tmp/autobuild.out\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
00O87.998781e-170.0-1.3063
11N7-6.711064e-180.00.1096
22N7-7.327674e-170.01.1967
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 7.998781e-17 0.0 -1.3063\n", "1 1 N 7 -6.711064e-18 0.0 0.1096\n", "2 2 N 7 -7.327674e-17 0.0 1.1967" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:pygamess.gamess:deleting tempdir /tmp/tmp35n9bn2b\n" ] } ], "source": [ "# Set via build=True - to do\n", "testBuild = ESgamess(searchName = 'N2O', fileOut = '/tmp/autobuild.out', buildES = True)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*** Running default Gamess job.\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
00O8-3.061617e-16-1.232595e-325.0
11N70.000000e+000.000000e+000.0
22N73.061617e-160.000000e+00-5.0
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 -3.061617e-16 -1.232595e-32 5.0\n", "1 1 N 7 0.000000e+00 0.000000e+00 0.0\n", "2 2 N 7 3.061617e-16 0.000000e+00 -5.0" ] }, "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 eqbqbl -ddi 1 1 jake -scr /tmp/tmpz6c50ibb > /tmp/tmpz6c50ibb/eqbqbl.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 5.0000000000 \n", "N 7.0 0.0000000000 0.0000000000 0.0000000000 \n", "N 7.0 0.0000000000 0.0000000000 -5.0000000000 \n", " $END\n", "\n", "*** Energy run completed\n", "E = -161.7465089353\n", "*** Gamess output file moved to /tmp/autobuild.out\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-3.061617e-16-1.232595e-325.0
11N70.000000e+000.000000e+000.0
22N73.061617e-160.000000e+00-5.0
\n", "
" ], "text/plain": [ " Ind Species Atomic Num. x y z\n", "0 0 O 8 -3.061617e-16 -1.232595e-32 5.0\n", "1 1 N 7 0.000000e+00 0.000000e+00 0.0\n", "2 2 N 7 3.061617e-16 0.000000e+00 -5.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Running the function independently also works\n", "testDL.buildES(fileOut = '/tmp/autobuild.out')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating electronic strucutres for a range of geometries\n", "\n", "In this case, run a single-point calculation for each specified geometry (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)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Simply loop over a set of specified coords...\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:epsman]", "language": "python", "name": "conda-env-epsman-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 }