{ "cells": [ { "cell_type": "markdown", "id": "ee198b16-8932-470b-ac87-3c1e6c97a6f4", "metadata": {}, "source": [ "## Initial imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "eb831188-8012-4b78-8b20-53e11561fedc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PLAMS working folder: /path/plams/examples/ChargedAMSCalculator/plams_workdir\n" ] } ], "source": [ "from scm.plams import *\n", "from scm.plams.interfaces.adfsuite.ase_calculator import AMSCalculator\n", "from ase import Atoms\n", "from ase.visualize.plot import plot_atoms\n", "\n", "# this line is not required in AMS2025+\n", "init()" ] }, { "cell_type": "markdown", "id": "7e9dea97-8d0b-468b-92f4-56d4d9d5aecc", "metadata": {}, "source": [ "## Example 1: Total system charge\n", "\n", "### Create the charged molecule (ion)\n", "Create a charged ion using using `ase.Atoms` and setting the `info` dictionary." ] }, { "cell_type": "code", "execution_count": 2, "id": "96392ee2-3464-4a78-9d2a-20ce98a89a3d", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "atoms = Atoms(\"OH\", positions=[[1.0, 0.0, 0.0], [0.0, 0.0, 0.0]])\n", "# define a total charge\n", "atoms.info[\"charge\"] = -1\n", "\n", "plot_atoms(atoms);" ] }, { "cell_type": "markdown", "id": "c4290c28-99ed-4165-8336-8e5002677beb", "metadata": {}, "source": [ "### Set the AMS settings\n", "\n", "First, set the AMS settings as you normally would do in PLAMS:" ] }, { "cell_type": "code", "execution_count": 3, "id": "d14d9396-9d82-4c7b-89ef-620f81231d47", "metadata": {}, "outputs": [], "source": [ "settings = Settings()\n", "settings.input.ADF # Use ADF with the default settings\n", "settings.input.ams.Task = \"SinglePoint\"" ] }, { "cell_type": "markdown", "id": "a7aaaee4-7a90-415b-ae6f-ffb0cdafe135", "metadata": {}, "source": [ "### Run AMS through the ASE Calculator\n", "\n", "Below, the ``amsworker=False`` (default) will cause AMS to run in standalone mode. This means that all input and output files will be stored on disk." ] }, { "cell_type": "code", "execution_count": 4, "id": "18f928b6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10.02|15:05:11] JOB total_charge1 STARTED\n", "[10.02|15:05:11] JOB total_charge1 RUNNING\n", "[10.02|15:05:14] JOB total_charge1 FINISHED\n", "[10.02|15:05:14] JOB total_charge1 SUCCESSFUL\n", "Energy: -8.325 eV\n" ] } ], "source": [ "atoms.calc = AMSCalculator(settings=settings, name=\"total_charge\", amsworker=False)\n", "\n", "energy = atoms.get_potential_energy() # calculate the energy of a charged ion\n", "print(f\"Energy: {energy:.3f} eV\") # ASE uses eV as energy unit" ] }, { "cell_type": "markdown", "id": "161d88f1-1279-41fa-853d-f7a23a6fe7c5", "metadata": {}, "source": [ "### Access the input file\n", "\n", "``atoms.calc.amsresults`` contains the corresponding PLAMS AMSResults object.\n", "\n", "``atoms.calc.amsresults.job`` contains the corresponding PLAMS AMSJob object. This object has, for example, the ``get_input()`` method to access the input to AMS.\n", "\n", "**Note**: These are actually properties of the Calculator, not the Atoms! So if you run more calculations with the same calculator you will **overwrite** the AMSResults in ``atoms.calc.amsresults``!\n", "\n", "AMS used the following input:" ] }, { "cell_type": "code", "execution_count": 5, "id": "63ffb351", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Task SinglePoint\n", "\n", "System\n", " Atoms\n", " O 1.0000000000 0.0000000000 0.0000000000\n", " H 0.0000000000 0.0000000000 0.0000000000\n", " End\n", " Charge -1.0\n", "End\n", "\n", "Engine ADF\n", "EndEngine\n", "\n", "\n" ] } ], "source": [ "print(atoms.calc.amsresults.job.get_input())" ] }, { "cell_type": "markdown", "id": "4e072ebe-faca-43ed-8655-0588ca8bf59b", "metadata": {}, "source": [ "### Access the binary .rkf results files and use PLAMS AMSResults methods\n", "\n", "Access the paths to the binary results files:" ] }, { "cell_type": "code", "execution_count": 6, "id": "4b287e2e-ab59-4396-a7eb-4f34a3b13233", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/path/plams/examples/ChargedAMSCalculator/plams_workdir/total_charge1/ams.rkf\n" ] } ], "source": [ "ams_rkf = atoms.calc.amsresults.rkfpath(file=\"ams\")\n", "print(ams_rkf)" ] }, { "cell_type": "markdown", "id": "95ffcb99-ba71-4143-a0ae-9e3451896016", "metadata": {}, "source": [ "If you prefer, you can use the PLAMS methods to access results like the energy:" ] }, { "cell_type": "code", "execution_count": 7, "id": "8cb2142f-a60f-45e9-9083-63033aebe3b7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Energy: -8.325 eV\n" ] } ], "source": [ "energy2 = atoms.calc.amsresults.get_energy(unit=\"eV\")\n", "print(f\"Energy: {energy2:.3f} eV\")" ] }, { "cell_type": "markdown", "id": "9a97bba8", "metadata": {}, "source": [ "## Example 2: Define atomic charges\n", "\n", "### Construct a charged ion with atomic charges" ] }, { "cell_type": "code", "execution_count": 8, "id": "22d0149e", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "atoms = Atoms(\"OH\", positions=[[1.0, 0.0, 0.0], [0.0, 0.0, 0.0]], charges=[-1, 0])\n", "\n", "plot_atoms(atoms);" ] }, { "cell_type": "markdown", "id": "b441417d", "metadata": {}, "source": [ "### Run AMS " ] }, { "cell_type": "code", "execution_count": 9, "id": "1f2d8a21", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10.02|15:05:14] JOB atomic_charges1 STARTED\n", "[10.02|15:05:14] Job atomic_charges1 previously run as total_charge1, using old results\n", "[10.02|15:05:14] JOB atomic_charges1 COPIED\n" ] }, { "data": { "text/plain": [ "-8.325219526819566" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "calc = AMSCalculator(settings=settings, name=\"atomic_charges\")\n", "atoms.calc = calc\n", "\n", "atoms.get_potential_energy() # calculate the energy of a charged ion" ] }, { "cell_type": "markdown", "id": "e1e8b1fa", "metadata": {}, "source": [ "AMS only considers the total charge of the system and not the individual atomic charges. PLAMS thus reuses the results of the previous calculation since the calculation is for the same chemical system. Both input options are allowed. If both input options are used, the total charge is the sum of both." ] }, { "cell_type": "code", "execution_count": 10, "id": "c9407c76", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Task SinglePoint\n", "\n", "System\n", " Atoms\n", " O 1.0000000000 0.0000000000 0.0000000000\n", " H 0.0000000000 0.0000000000 0.0000000000\n", " End\n", " Charge -1.0\n", "End\n", "\n", "Engine ADF\n", "EndEngine\n", "\n", "\n" ] } ], "source": [ "print(calc.amsresults.job.get_input())" ] }, { "cell_type": "markdown", "id": "c3b47a7a", "metadata": {}, "source": [ "## Example 3: Set the charge in the AMS System block\n", "\n", "### Set the charge in the AMS System block\n", "A charge can be set for the calculator in the settings object. " ] }, { "cell_type": "code", "execution_count": 11, "id": "41f8a8a5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10.02|15:05:14] JOB default_charge1 STARTED\n", "[10.02|15:05:14] JOB default_charge1 RUNNING\n", "[10.02|15:05:16] JOB default_charge1 FINISHED\n", "[10.02|15:05:16] JOB default_charge1 SUCCESSFUL\n", "Task SinglePoint\n", "\n", "System\n", " Atoms\n", " O 1.0000000000 0.0000000000 0.0000000000\n", " H 0.0000000000 0.0000000000 0.0000000000\n", " End\n", " Charge -1\n", "End\n", "\n", "Engine ADF\n", "EndEngine\n", "\n", "\n" ] } ], "source": [ "atoms = Atoms(\"OH\", positions=[[1.0, 0.0, 0.0], [0.0, 0.0, 0.0]])\n", "\n", "settings = Settings()\n", "settings.input.ADF # Use ADF with the default settings\n", "settings.input.ams.Task = \"SinglePoint\"\n", "settings.input.ams.System.Charge = -1\n", "\n", "calc = AMSCalculator(settings=settings, name=\"default_charge\")\n", "atoms.calc = calc\n", "atoms.get_potential_energy() # calculate the energy of a charged ion\n", "print(calc.amsresults.job.get_input())" ] }, { "cell_type": "markdown", "id": "7c133a00", "metadata": {}, "source": [ "In this case, the charge of the `Atoms` object is no longer used." ] }, { "cell_type": "code", "execution_count": 12, "id": "2141d310", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10.02|15:05:16] JOB default_charge_overridden1 STARTED\n", "[10.02|15:05:16] Job default_charge_overridden1 previously run as default_charge1, using old results\n", "[10.02|15:05:16] JOB default_charge_overridden1 COPIED\n", "Task SinglePoint\n", "\n", "System\n", " Atoms\n", " O 1.0000000000 0.0000000000 0.0000000000\n", " H 0.0000000000 0.0000000000 0.0000000000\n", " End\n", " Charge -1\n", "End\n", "\n", "Engine ADF\n", "EndEngine\n", "\n", "\n" ] } ], "source": [ "atoms = Atoms(\n", " \"OH\",\n", " positions=[[1.0, 0.0, 0.0], [0.0, 0.0, 0.0]],\n", ")\n", "atoms.info[\"charge\"] = 100\n", "\n", "settings = Settings()\n", "settings.input.ADF # Use ADF with the default settings\n", "settings.input.ams.Task = \"SinglePoint\"\n", "settings.input.ams.System.Charge = -1\n", "\n", "calc = AMSCalculator(settings=settings, name=\"default_charge_overridden\")\n", "atoms.calc = calc\n", "atoms.get_potential_energy() # calculate the energy of a charged ion\n", "print(calc.amsresults.job.get_input())" ] } ], "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 }