{ "cells": [ { "cell_type": "markdown", "id": "830c3f88", "metadata": {}, "source": [ "## Initial imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "34ee099c", "metadata": {}, "outputs": [], "source": [ "from scm.plams import *\n", "from scm.plams.interfaces.adfsuite.ase_calculator import AMSCalculator\n", "from ase.optimize import BFGS\n", "from ase.build import molecule as ase_build_molecule\n", "import matplotlib.pyplot as plt\n", "\n", "# In this example AMS runs in AMSWorker mode, so we have no use for the PLAMS working directory\n", "# Let's delete it after the calculations are done\n", "config.erase_workdir = True" ] }, { "cell_type": "markdown", "id": "599f038b", "metadata": {}, "source": [ "## Construct an initial system\n", "Here, we use the ``molecule()`` from ``ase.build`` to construct an ASE Atoms object.\n", "\n", "You could also convert a PLAMS Molecule to the ASE format using ``toASE()``." ] }, { "cell_type": "code", "execution_count": 2, "id": "5c0705df", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atoms = ase_build_molecule(\"CH3OH\")\n", "# alternatively:\n", "# atoms = toASE(from_smiles('CO'))\n", "\n", "atoms.set_pbc((True, True, True)) # 3D periodic\n", "atoms.set_cell([4.0, 4.0, 4.0]) # cubic box\n", "\n", "view(fromASE(atoms), height=200, width=200, guess_bonds=True, direction=\"tilt_z\")" ] }, { "cell_type": "markdown", "id": "0a6222f4", "metadata": {}, "source": [ "## Set the AMS settings\n", "\n", "First, set the AMS settings as you normally would do:" ] }, { "cell_type": "code", "execution_count": 3, "id": "7000580b", "metadata": {}, "outputs": [], "source": [ "s = Settings()\n", "s.input.ams.Task = \"SinglePoint\" # the geometry optimization is handled by ASE\n", "s.input.ams.Properties.Gradients = \"Yes\" # ensures the forces are returned\n", "s.input.ams.Properties.StressTensor = \"Yes\" # ensures the stress tensor is returned\n", "\n", "# Engine definition, could also be used to set up ADF, ReaxFF, ...\n", "s.input.ForceField.Type = \"UFF\"\n", "\n", "# run in serial\n", "s.runscript.nproc = 1" ] }, { "cell_type": "markdown", "id": "d2f02f2e", "metadata": {}, "source": [ "## Run the ASE optimizer" ] }, { "cell_type": "code", "execution_count": 4, "id": "04129c60", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial coordinates:\n", "[[-0.047131 0.664389 0. ]\n", " [-0.047131 -0.758551 0. ]\n", " [-1.092995 0.969785 0. ]\n", " [ 0.878534 -1.048458 0. ]\n", " [ 0.437145 1.080376 0.891772]\n", " [ 0.437145 1.080376 -0.891772]]\n", " Step Time Energy fmax\n", "BFGS: 0 10:46:19 0.424475 3.0437\n", "BFGS: 1 10:46:19 0.354817 2.8239\n", "BFGS: 2 10:46:19 0.270256 0.9678\n", "BFGS: 3 10:46:19 0.223897 0.6128\n", "BFGS: 4 10:46:19 0.200223 0.5503\n", "BFGS: 5 10:46:19 0.196200 0.1861\n", "Optimized energy (eV): 0.19620006656661387\n", "Optimized coordinates:\n", "[[-7.36222829e-02 6.46660224e-01 1.80595127e-17]\n", " [-4.27710560e-02 -7.22615924e-01 -7.74061622e-18]\n", " [-1.12651815e+00 9.85598502e-01 -2.86803391e-18]\n", " [ 9.22587449e-01 -9.45309675e-01 -3.18423479e-18]\n", " [ 4.42945518e-01 1.01179194e+00 9.09790370e-01]\n", " [ 4.42945518e-01 1.01179194e+00 -9.09790370e-01]]\n" ] } ], "source": [ "print(\"Initial coordinates:\")\n", "print(atoms.get_positions())\n", "\n", "with AMSCalculator(settings=s, amsworker=True) as calc:\n", " atoms.calc = calc\n", " optimizer = BFGS(atoms)\n", " optimizer.run(fmax=0.27) # optimize until forces are smaller than 0.27 eV/ang\n", "\n", "print(f\"Optimized energy (eV): {atoms.get_potential_energy()}\")\n", "print(\"Optimized coordinates:\")\n", "print(atoms.get_positions())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.16" } }, "nbformat": 4, "nbformat_minor": 5 }