{ "cells": [ { "cell_type": "markdown", "source": [ "# Optimise and view the structure of ammonia dimer" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from ase.collections import s22" ] }, { "cell_type": "code", "execution_count": 10, "outputs": [], "source": [ "name='Ammonia_dimer'\n", "initial = s22[name]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 11, "outputs": [ { "data": { "text/plain": "", "text/html": "\n\n \n\n ASE atomic visualization\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n" }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import ase.visualize\n", "ase.visualize.view(initial, viewer='x3d')" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 12, "outputs": [], "source": [ "from pymolpro import Project\n", "p = Project(name)\n", "import ase.io\n", "ase.io.write(p.filename() + '/initial.xyz', initial)\n", "p.write_input(\"\"\"\n", "geometry=initial.xyz\n", "basis,aug-cc-pvtz\n", "df-rhf; df-lmp2; optg; put,xyz,final.xyz\"\"\")\n", "p.run(wait=True)\n", "assert p.status == 'completed'\n", "method=p.xpath('//summary/@overall_method')[-1]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 13, "outputs": [], "source": [ "final = ase.io.read(p.filename() + '/final.xyz')" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 14, "outputs": [], "source": [ "def closest_interatomic(atoms):\n", " distances = atoms.get_all_distances()\n", " n = len(distances) // 2\n", " result = 1000.0\n", " for i in range(n):\n", " for j in range(n):\n", " result = min(distances[i][j + n], result)\n", " return result" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 15, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial H-bond length: 2.149250106516224 \n", "DF-LMP2/aug-cc-pVTZ//DF-LMP2/aug-cc-pVTZ H-bond length: 2.196265045752414\n" ] } ], "source": [ "print(\"Initial H-bond length:\",closest_interatomic(initial),\"\\n\"+method+\" H-bond length:\",closest_interatomic(final))" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 16, "outputs": [ { "data": { "text/plain": "", "text/html": "\n\n \n\n ASE atomic visualization\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n" }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ase.visualize.view(final, viewer='x3d')" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }