{ "cells": [ { "cell_type": "markdown", "id": "36e962d6-3cf0-4a84-a51e-104853b99057", "metadata": {}, "source": [ "## Initialization" ] }, { "cell_type": "code", "execution_count": 1, "id": "3a92aa80-ebef-4ded-b846-f05318eefa91", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PLAMS working folder: /path/plams/examples/NumHess/plams_workdir\n" ] } ], "source": [ "from scm.plams import *\n", "\n", "# this line is not required in AMS2025+\n", "init()" ] }, { "cell_type": "markdown", "id": "920626b1-8993-4c6f-a3d9-b2f81e963fdf", "metadata": {}, "source": [ "## Define molecule\n", "Normally you would read the molecule from an xyz file" ] }, { "cell_type": "code", "execution_count": 2, "id": "18e3f1c3-ca62-4c75-a591-2daffd038a4a", "metadata": {}, "outputs": [], "source": [ "# mol = Molecule('methanol.xyz')\n", "\n", "\n", "mol = AMSJob.from_input(\n", " \"\"\"\n", "System\n", " Atoms\n", " C 0.000000000000 0.138569980000 0.355570700000\n", " O 0.000000000000 0.187935770000 -1.074466460000\n", " H 0.882876920000 -0.383123830000 0.697839450000\n", " H -0.882876940000 -0.383123830000 0.697839450000\n", " H 0.000000000000 1.145042790000 0.750208830000\n", " End\n", "End\n", "\"\"\"\n", ").molecule[\"\"]" ] }, { "cell_type": "markdown", "id": "bacfb34a-904d-421d-93d0-008d61584aef", "metadata": {}, "source": [ "## Setup and run job\n", "Here we use the fast DFTB engine, for ADF it is recommended to disable symmetry" ] }, { "cell_type": "code", "execution_count": 3, "id": "6d94fab3-0871-498c-a3b1-33825c52ffd1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[06.03|13:55:22] JOB test STARTED\n", "[06.03|13:55:22] JOB test RUNNING\n", "[06.03|13:55:22] JOB test/1_0_-1 STARTED\n", "[06.03|13:55:22] JOB test/1_0_1 STARTED\n" ] } ], "source": [ "s = Settings()\n", "s.input.ams.task = \"SinglePoint\"\n", "s.input.ams.Properties.Gradients = \"Yes\"\n", "# s.input.adf.basis.type = 'DZP'\n", "# s.input.adf.symmetry = 'NOSYM'\n", "# s.input.adf.xc.gga = 'PW91'\n", "s.input.DFTB.Model = \"GFN1-xTB\"\n", "s.runscript.nproc = 1\n", "\n", "j = NumHessJob(name=\"test\", molecule=mol, settings=s, jobtype=AMSJob, gradient=lambda x: x.get_gradients().reshape(-1))\n", "r = j.run(jobrunner=JobRunner(parallel=True, maxjobs=8))" ] }, { "cell_type": "markdown", "id": "24bdeacf-d3a4-4290-a882-55ba3b4bac68", "metadata": {}, "source": [ "## Print results" ] }, { "cell_type": "code", "execution_count": 4, "id": "32fda42e-d198-4e27-b465-ff874450148c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[06.03|13:55:22] JOB test/1_1_-1 STARTED\n", "[06.03|13:55:22] Waiting for job test to finish\n", "[06.03|13:55:22] JOB test/1_1_1 STARTED\n", "[06.03|13:55:22] JOB test/1_2_-1 STARTED\n", "[06.03|13:55:22] JOB test/1_2_1 STARTED\n", "[06.03|13:55:22] JOB test/1_0_-1 RUNNING\n", "[06.03|13:55:22] JOB test/2_0_-1 STARTED\n", "[06.03|13:55:22] JOB test/2_0_1 STARTED\n", "[06.03|13:55:22] JOB test/2_1_-1 STARTED\n", "[06.03|13:55:22] JOB test/2_1_1 STARTED\n", "[06.03|13:55:22] JOB test/2_2_-1 STARTED\n", "[06.03|13:55:22] JOB test/1_0_1 RUNNING\n", "[06.03|13:55:22] JOB test/2_2_1 STARTED\n", "[06.03|13:55:22] JOB test/3_0_-1 STARTED\n", "[06.03|13:55:22] JOB test/3_0_1 STARTED\n", "[06.03|13:55:22] JOB test/3_1_-1 STARTED\n", "[06.03|13:55:22] JOB test/3_1_1 STARTED\n", "[06.03|13:55:22] JOB test/3_2_-1 STARTED\n", "[06.03|13:55:22] JOB test/1_2_-1 RUNNING\n", "[06.03|13:55:22] JOB test/3_2_1 STARTED\n", "[06.03|13:55:22] JOB test/1_1_1 RUNNING\n", "[06.03|13:55:22] JOB test/1_1_-1 RUNNING\n", "[06.03|13:55:22] JOB test/4_0_-1 STARTED\n", "[06.03|13:55:22] JOB test/4_0_1 STARTED\n", "[06.03|13:55:22] JOB test/4_1_-1 STARTED\n", "[06.03|13:55:22] JOB test/4_1_1 STARTED\n", "[06.03|13:55:22] JOB test/4_2_-1 STARTED\n", "[06.03|13:55:22] JOB test/4_2_1 STARTED\n", "[06.03|13:55:22] JOB test/5_0_-1 STARTED\n", "[06.03|13:55:22] JOB test/5_0_1 STARTED\n", "[06.03|13:55:22] JOB test/5_1_-1 STARTED\n", "[06.03|13:55:22] JOB test/5_1_1 STARTED\n", "[06.03|13:55:22] JOB test/5_2_-1 STARTED\n", "[06.03|13:55:22] JOB test/1_2_1 RUNNING\n", "[06.03|13:55:22] JOB test/2_0_1 RUNNING\n", "[06.03|13:55:22] JOB test/5_2_1 STARTED\n", "[06.03|13:55:22] JOB test/2_1_-1 RUNNING\n", "[06.03|13:55:22] JOB test/2_2_-1 RUNNING\n", "[06.03|13:55:22] JOB test/2_1_1 RUNNING\n", "[06.03|13:55:22] JOB test/2_0_-1 RUNNING\n", "[06.03|13:55:22] JOB test/2_2_1 RUNNING\n", "[06.03|13:55:22] JOB test/3_0_1 RUNNING\n", "[06.03|13:55:22] JOB test/3_0_-1 RUNNING\n", "[06.03|13:55:22] JOB test/3_2_-1 RUNNING\n", "[06.03|13:55:22] JOB test/3_2_1 RUNNING\n", "[06.03|13:55:22] JOB test/3_1_-1 RUNNING\n", "[06.03|13:55:22] JOB test/4_1_-1 RUNNING\n", "[06.03|13:55:22] JOB test/4_1_1 RUNNING\n", "[06.03|13:55:22] JOB test/5_1_-1 RUNNING\n", "[06.03|13:55:22] JOB test/5_2_1 RUNNING\n", "[06.03|13:55:22] JOB test/3_1_1 RUNNING\n", "[06.03|13:55:22] JOB test/4_0_1 RUNNING\n", "[06.03|13:55:22] JOB test/4_0_-1 RUNNING\n", "[06.03|13:55:22] JOB test/4_2_-1 RUNNING\n", "[06.03|13:55:22] JOB test/5_1_1 RUNNING\n", "[06.03|13:55:22] JOB test/5_0_-1 RUNNING\n", "[06.03|13:55:22] JOB test/4_2_1 RUNNING\n", "[06.03|13:55:22] JOB test/5_2_-1 RUNNING\n", "[06.03|13:55:22] JOB test/5_0_1 RUNNING\n", "[06.03|13:55:23] JOB test/1_0_-1 FINISHED\n", "[06.03|13:55:23] JOB test/1_0_-1 SUCCESSFUL\n", "[06.03|13:55:23] JOB test/1_0_1 FINISHED\n", "[06.03|13:55:23] JOB test/1_0_1 SUCCESSFUL\n", "[06.03|13:55:23] JOB test/1_1_-1 FINISHED\n", "[06.03|13:55:23] JOB test/1_1_-1 SUCCESSFUL\n", "[06.03|13:55:23] JOB test/1_1_1 FINISHED\n", "[06.03|13:55:23] JOB test/1_1_1 SUCCESSFUL\n", "[06.03|13:55:23] JOB test/1_2_-1 FINISHED\n", "[06.03|13:55:23] JOB test/1_2_-1 SUCCESSFUL\n", "[06.03|13:55:23] JOB test/1_2_1 FINISHED\n", "[06.03|13:55:23] JOB test/1_2_1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/2_0_1 FINISHED\n", "[06.03|13:55:24] JOB test/2_0_1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/2_1_-1 FINISHED\n", "[06.03|13:55:24] JOB test/2_1_-1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/2_0_-1 FINISHED\n", "[06.03|13:55:24] JOB test/2_0_-1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/4_0_1 FINISHED\n", "[06.03|13:55:24] JOB test/4_0_1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/5_2_-1 FINISHED\n", "[06.03|13:55:24] JOB test/5_2_-1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/2_1_1 FINISHED\n", "[06.03|13:55:24] JOB test/2_1_1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/3_0_1 FINISHED\n", "[06.03|13:55:24] JOB test/3_0_1 SUCCESSFUL\n", "[06.03|13:55:24] JOB test/4_0_-1 FINISHED\n", "[06.03|13:55:24] JOB test/4_0_-1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/4_2_-1 FINISHED\n", "[06.03|13:55:25] JOB test/4_2_-1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/4_1_-1 FINISHED\n", "[06.03|13:55:25] JOB test/4_1_-1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/5_0_-1 FINISHED\n", "[06.03|13:55:25] JOB test/5_0_-1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/3_1_1 FINISHED\n", "[06.03|13:55:25] JOB test/3_1_1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/3_1_-1 FINISHED\n", "[06.03|13:55:25] JOB test/3_1_-1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/2_2_-1 FINISHED\n", "[06.03|13:55:25] JOB test/2_2_-1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/3_2_-1 FINISHED\n", "[06.03|13:55:25] JOB test/3_2_-1 SUCCESSFUL\n", "[06.03|13:55:25] JOB test/3_0_-1 FINISHED\n", "[06.03|13:55:25] JOB test/3_0_-1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/5_1_1 FINISHED\n", "[06.03|13:55:26] JOB test/5_1_1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/5_2_1 FINISHED\n", "[06.03|13:55:26] JOB test/5_2_1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/3_2_1 FINISHED\n", "[06.03|13:55:26] JOB test/3_2_1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/2_2_1 FINISHED\n", "[06.03|13:55:26] JOB test/2_2_1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/4_2_1 FINISHED\n", "[06.03|13:55:26] JOB test/4_2_1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/5_0_1 FINISHED\n", "[06.03|13:55:26] JOB test/5_0_1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/4_1_1 FINISHED\n", "[06.03|13:55:26] JOB test/4_1_1 SUCCESSFUL\n", "[06.03|13:55:26] JOB test/5_1_-1 FINISHED\n", "[06.03|13:55:26] JOB test/5_1_-1 SUCCESSFUL\n", "[06.03|13:55:27] JOB test FINISHED\n", "[06.03|13:55:27] JOB test SUCCESSFUL\n", "[[ 2.43775999e-03 -1.24945968e-10 8.35714013e-11 -2.16941328e-05\n", " 5.02435569e-12 -7.14677254e-12 -1.60687481e-02 1.15383294e-02\n", " -7.21385604e-03 -1.60687464e-02 -1.15383280e-02 7.21385522e-03\n", " 3.47625119e-03 3.62021265e-11 -5.46656826e-11]\n", " [-1.24945968e-10 2.43617119e-03 1.02498360e-05 4.74486821e-12\n", " -2.19212819e-05 2.94502688e-05 1.14532498e-02 -3.28822540e-03\n", " 4.41476048e-03 -1.14532483e-02 -3.28822472e-03 4.41475997e-03\n", " -8.03126599e-11 -2.20627127e-02 -9.41894828e-03]\n", " [ 8.35714013e-11 1.02498360e-05 2.14233490e-03 7.19072217e-13\n", " 2.90465272e-05 -8.63468227e-04 -4.79807048e-03 3.01867574e-03\n", " -3.68101848e-03 4.79806931e-03 3.01867515e-03 -3.68101833e-03\n", " -4.67601951e-11 -6.61690618e-03 -4.46017458e-03]\n", " [-2.16941328e-05 4.74486821e-12 7.19072217e-13 1.49619173e-04\n", " -2.14387656e-12 8.46463904e-13 -3.85034451e-04 -5.25094480e-04\n", " -1.04652467e-03 -3.85034464e-04 5.25094462e-04 1.04652463e-03\n", " -1.35573946e-03 -4.86485419e-12 2.14361038e-11]\n", " [ 5.02435569e-12 -2.19212819e-05 2.90465272e-05 -2.14387656e-12\n", " 1.50336369e-04 -3.08725780e-05 -5.36109667e-04 -1.06913031e-03\n", " 6.27011593e-04 5.36109618e-04 -1.06913034e-03 6.27011524e-04\n", " 1.40055968e-11 3.87414930e-06 -1.11023668e-03]\n", " [-7.14677254e-12 2.94502688e-05 -8.63468227e-04 8.46463904e-13\n", " -3.08725780e-05 1.04165349e-03 -7.28706894e-04 4.42296851e-04\n", " -2.04725210e-03 7.28706950e-04 4.42296845e-04 -2.04725207e-03\n", " 1.96785022e-11 -7.46717101e-04 -2.14861643e-03]\n", " [-1.60687481e-02 1.14532498e-02 -4.79807048e-03 -3.85034451e-04\n", " -5.36109667e-04 -7.28706894e-04 2.30394724e-01 -1.34285111e-01\n", " 7.67026070e-02 -2.16065892e-02 5.58885425e-03 -1.11180652e-02\n", " -1.12833086e-02 6.64824977e-04 3.15373514e-03]\n", " [ 1.15383294e-02 -3.28822540e-03 3.01867574e-03 -5.25094480e-04\n", " -1.06913031e-03 4.42296851e-04 -1.34285111e-01 8.15853116e-02\n", " -4.64977897e-02 -5.58885505e-03 -7.11299026e-03 -1.05553100e-02\n", " 1.06516082e-02 -1.84750271e-02 1.40635538e-02]\n", " [-7.21385604e-03 4.41476048e-03 -3.68101848e-03 -1.04652467e-03\n", " 6.27011593e-04 -2.04725210e-03 7.67026070e-02 -4.64977897e-02\n", " 6.64040738e-02 1.11180655e-02 -1.05553100e-02 4.44753112e-03\n", " 1.47911831e-02 -5.53928405e-03 5.49673857e-03]\n", " [-1.60687464e-02 -1.14532483e-02 4.79806931e-03 -3.85034464e-04\n", " 5.36109618e-04 7.28706950e-04 -2.16065892e-02 -5.58885505e-03\n", " 1.11180655e-02 2.30394703e-01 1.34285094e-01 -7.67025954e-02\n", " -1.12833089e-02 -6.64823699e-04 -3.15373388e-03]\n", " [-1.15383280e-02 -3.28822472e-03 3.01867515e-03 5.25094462e-04\n", " -1.06913034e-03 4.42296845e-04 5.58885425e-03 -7.11299026e-03\n", " -1.05553100e-02 1.34285094e-01 8.15853035e-02 -4.64977824e-02\n", " -1.06516072e-02 -1.84750267e-02 1.40635536e-02]\n", " [ 7.21385522e-03 4.41475997e-03 -3.68101833e-03 1.04652463e-03\n", " 6.27011524e-04 -2.04725207e-03 -1.11180652e-02 -1.05553100e-02\n", " 4.44753112e-03 -7.67025954e-02 -4.64977824e-02 6.64040713e-02\n", " -1.47911830e-02 -5.53928397e-03 5.49673857e-03]\n", " [ 3.47625119e-03 -8.03126599e-11 -4.67601951e-11 -1.35573946e-03\n", " 1.40055968e-11 1.96785022e-11 -1.12833086e-02 1.06516082e-02\n", " 1.47911831e-02 -1.12833089e-02 -1.06516072e-02 -1.47911830e-02\n", " 2.46727294e-03 -2.63269039e-10 2.12920387e-11]\n", " [ 3.62021265e-11 -2.20627127e-02 -6.61690618e-03 -4.86485419e-12\n", " 3.87414930e-06 -7.46717101e-04 6.64824977e-04 -1.84750271e-02\n", " -5.53928405e-03 -6.64823699e-04 -1.84750267e-02 -5.53928397e-03\n", " -2.63269039e-10 2.99742684e-01 1.01775207e-01]\n", " [-5.46656826e-11 -9.41894828e-03 -4.46017458e-03 2.14361038e-11\n", " -1.11023668e-03 -2.14861643e-03 3.15373514e-03 1.40635538e-02\n", " 5.49673857e-03 -3.15373388e-03 1.40635536e-02 5.49673857e-03\n", " 2.12920387e-11 1.01775207e-01 7.62490469e-02]]\n" ] } ], "source": [ "print(r.get_hessian(mass_weighted=True))" ] }, { "cell_type": "code", "execution_count": null, "id": "f9b2a0ce-619d-4ec1-aff8-fa0a3c12a7eb", "metadata": {}, "outputs": [], "source": [] } ], "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 }