{ "cells": [ { "cell_type": "markdown", "id": "ad502be7", "metadata": {}, "source": [ "## Initial Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "5bc0147f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PLAMS working folder: /path/plams/examples/He2DissociationCurve/plams_workdir\n" ] } ], "source": [ "import sys\n", "import numpy as np\n", "from scm.plams import Settings, Molecule, Atom, AMSJob, init\n", "\n", "# this line is not required in AMS2025+\n", "init()" ] }, { "cell_type": "markdown", "id": "0a011a0f", "metadata": {}, "source": [ "## Setup Dimer\n", "Create Helium atoms and an array of interatomic distances at which to run calculation." ] }, { "cell_type": "code", "execution_count": 2, "id": "7c474c79", "metadata": {}, "outputs": [], "source": [ "# type of atoms\n", "atom1 = \"He\"\n", "atom2 = \"He\"" ] }, { "cell_type": "code", "execution_count": 3, "id": "082977f9", "metadata": {}, "outputs": [], "source": [ "# interatomic distance values\n", "dmin = 2.2\n", "dmax = 4.2\n", "step = 0.2" ] }, { "cell_type": "code", "execution_count": 4, "id": "705e8f43", "metadata": {}, "outputs": [], "source": [ "# create a list with interatomic distances\n", "distances = np.arange(dmin, dmax, step)" ] }, { "cell_type": "markdown", "id": "538f4e7f", "metadata": {}, "source": [ "## Calculation Settings\n", "\n", "The calculation settings are stored in a `Settings` object." ] }, { "cell_type": "code", "execution_count": 5, "id": "c2446238", "metadata": {}, "outputs": [], "source": [ "# calculation parameters (single point, TZP/PBE+GrimmeD3)\n", "sett = Settings()\n", "sett.input.ams.task = \"SinglePoint\"\n", "sett.input.adf.basis.type = \"TZP\"\n", "sett.input.adf.xc.gga = \"PBE\"\n", "sett.input.adf.xc.dispersion = \"Grimme3\"" ] }, { "cell_type": "markdown", "id": "3bb91ad5", "metadata": {}, "source": [ "## Create and Run Jobs\n", "\n", "For each interatomic distance, create a Helium dimer molecule with the required geometry then the single point energy calculation job. Run the job and extract the energy. " ] }, { "cell_type": "code", "execution_count": 6, "id": "fe1d97ad", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[11.02|16:54:46] JOB dist_2.20 STARTED\n", "[11.02|16:54:46] JOB dist_2.20 RUNNING\n", "[11.02|16:54:49] JOB dist_2.20 FINISHED\n", "[11.02|16:54:49] JOB dist_2.20 SUCCESSFUL\n", "[11.02|16:54:49] JOB dist_2.40 STARTED\n", "[11.02|16:54:49] JOB dist_2.40 RUNNING\n", "[11.02|16:54:51] JOB dist_2.40 FINISHED\n", "[11.02|16:54:51] JOB dist_2.40 SUCCESSFUL\n", "[11.02|16:54:51] JOB dist_2.60 STARTED\n", "[11.02|16:54:51] JOB dist_2.60 RUNNING\n", "[11.02|16:54:54] JOB dist_2.60 FINISHED\n", "[11.02|16:54:54] JOB dist_2.60 SUCCESSFUL\n", "[11.02|16:54:54] JOB dist_2.80 STARTED\n", "[11.02|16:54:54] JOB dist_2.80 RUNNING\n", "[11.02|16:54:57] JOB dist_2.80 FINISHED\n", "[11.02|16:54:57] JOB dist_2.80 SUCCESSFUL\n", "[11.02|16:54:57] JOB dist_3.00 STARTED\n", "[11.02|16:54:57] JOB dist_3.00 RUNNING\n", "[11.02|16:55:00] JOB dist_3.00 FINISHED\n", "[11.02|16:55:00] JOB dist_3.00 SUCCESSFUL\n", "[11.02|16:55:00] JOB dist_3.20 STARTED\n", "[11.02|16:55:00] JOB dist_3.20 RUNNING\n", "[11.02|16:55:03] JOB dist_3.20 FINISHED\n", "[11.02|16:55:03] JOB dist_3.20 SUCCESSFUL\n", "[11.02|16:55:03] JOB dist_3.40 STARTED\n", "[11.02|16:55:03] JOB dist_3.40 RUNNING\n", "[11.02|16:55:06] JOB dist_3.40 FINISHED\n", "[11.02|16:55:06] JOB dist_3.40 SUCCESSFUL\n", "[11.02|16:55:06] JOB dist_3.60 STARTED\n", "[11.02|16:55:06] JOB dist_3.60 RUNNING\n", "[11.02|16:55:09] JOB dist_3.60 FINISHED\n", "[11.02|16:55:09] JOB dist_3.60 SUCCESSFUL\n", "[11.02|16:55:09] JOB dist_3.80 STARTED\n", "[11.02|16:55:09] JOB dist_3.80 RUNNING\n", "[11.02|16:55:12] JOB dist_3.80 FINISHED\n", "[11.02|16:55:12] JOB dist_3.80 SUCCESSFUL\n", "[11.02|16:55:12] JOB dist_4.00 STARTED\n", "[11.02|16:55:12] JOB dist_4.00 RUNNING\n", "[11.02|16:55:15] JOB dist_4.00 FINISHED\n", "[11.02|16:55:15] JOB dist_4.00 SUCCESSFUL\n" ] } ], "source": [ "jobs = []\n", "for d in distances:\n", " mol = Molecule()\n", " mol.add_atom(Atom(symbol=atom1, coords=(0.0, 0.0, 0.0)))\n", " mol.add_atom(Atom(symbol=atom2, coords=(d, 0.0, 0.0)))\n", " job = AMSJob(molecule=mol, settings=sett, name=f\"dist_{d:.2f}\")\n", " jobs.append(job)\n", " job.run()" ] }, { "cell_type": "markdown", "id": "60db3560", "metadata": {}, "source": [ "## Results\n", "\n", "Print table of results of the distance against the calculated energy." ] }, { "cell_type": "code", "execution_count": 7, "id": "e260d28b-f5d9-48bb-9abd-8d661685282f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "== Results ==\n" ] }, { "data": { "text/markdown": [ "| d[A] | E[kcal/mol] |\n", "|------|-------------|\n", "| 2.20 | 0.230 |\n", "| 2.40 | -0.054 |\n", "| 2.60 | -0.127 |\n", "| 2.80 | -0.122 |\n", "| 3.00 | -0.094 |\n", "| 3.20 | -0.066 |\n", "| 3.40 | -0.045 |\n", "| 3.60 | -0.030 |\n", "| 3.80 | -0.020 |\n", "| 4.00 | -0.013 |" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"== Results ==\")\n", "try:\n", " # For AMS2025+ can use JobAnalysis class to perform results analysis\n", " from scm.plams import JobAnalysis\n", "\n", " ja = (\n", " JobAnalysis(jobs=jobs, standard_fields=None)\n", " .add_field(\"Dist\", lambda j: j.molecule[2].x, display_name=\"d[A]\", fmt=\".2f\")\n", " .add_field(\"Energy\", lambda j: j.results.get_energy(unit=\"kcal/mol\"), display_name=\"E[kcal/mol]\", fmt=\".3f\")\n", " )\n", "\n", " # Pretty-print if running in a notebook\n", " if \"ipykernel\" in sys.modules:\n", " ja.display_table()\n", " else:\n", " print(ja.to_table())\n", "\n", " energies = ja.Energy\n", "\n", "except ImportError:\n", "\n", " energies = [j.results.get_energy(unit=\"kcal/mol\") for j in jobs]\n", "\n", " print(\"d[A] E[kcal/mol]\")\n", " for d, e in zip(distances, energies):\n", " print(f\"{d:.2f} {e:.3f}\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "fbd9443e-4e41-42a7-a7bc-1781c8741bfe", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "fig, ax = plt.subplots(figsize=(3, 3))\n", "ax.plot(distances, energies, \".-\")\n", "ax.set_xlabel(\"He-He distance (Å)\")\n", "ax.set_ylabel(\"Energy (kcal/mol)\");" ] }, { "cell_type": "code", "execution_count": null, "id": "f5ad0030-e056-4055-a696-c88ec0bfcf02", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", "executable": "/usr/bin/env plams", "main_language": "python", "notebook_metadata_filter": "-all" }, "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 }