{ "cells": [ { "cell_type": "markdown", "id": "145cb876-78c0-436e-904a-88384470b18d", "metadata": {}, "source": [ "# Potential Energy Surface of the Water Molecule" ] }, { "cell_type": "markdown", "id": "232ddb95-087e-4b67-91a4-b6c2dbe2b85b", "metadata": { "tags": [] }, "source": [ "## Overview\n", "In this notebook, we will use TenCirChem to build the potential energy surface of $\\rm{H_2O}$ molecule at UCCSD/STO-3G level of theory.\n", "Without incurring active space approximation, the system consists of 6 spatial orbitals and 8 electrons.\n", "Under Jordan-Wigner approximation, 12 qubits are required to simulate the system.\n", "\n", "We highlight how easy it is to solve chemistry problems with TenCirChem.\n", "We also highlight that the whole PES consisting of 100 points is contructed on a laptop within 1 minute." ] }, { "cell_type": "markdown", "id": "8fccfe7f-3c58-4967-9ac5-2d5d197784de", "metadata": {}, "source": [ "## Setup\n", "\n", "Build a series of PySCF `mole`s for UCCSD calculation. \n", "\n", "The bond angles range from 80° to 115° and the bond lengths range from 0.90Å to 1.15Å.\n", "10 points are sample from each DOF, resulting in totally 100 geometries." ] }, { "cell_type": "code", "execution_count": 1, "id": "d4334753-08a2-42a0-8161-abc611cacdf6", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "# TenCirChem accepts PySCF Mole as input\n", "from pyscf import M\n", "\n", "\n", "# assuming the same O-H length for the two bonds\n", "def get_h2o_m(bond_angle, bond_length):\n", " phi = bond_angle / 2\n", " r = bond_length\n", " O = [\"O\", 0, 0, 0]\n", " H1 = [\"H\", -r * np.sin(phi), r * np.cos(phi), 0]\n", " H2 = [\"H\", r * np.sin(phi), r * np.cos(phi), 0]\n", " return M(atom=[O, H1, H2])" ] }, { "cell_type": "code", "execution_count": 2, "id": "c09d3ac0-2243-4223-a251-ab4a9e17c2e3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# PES range\n", "bond_angles = np.linspace(80, 115, 10) / 180 * np.pi\n", "# in angstrom\n", "bond_lengths = np.linspace(0.90, 1.15, 10)\n", "\n", "# build molecules\n", "from itertools import product\n", "\n", "moles = []\n", "for bond_angle, bond_length in product(bond_angles, bond_lengths):\n", " moles.append(get_h2o_m(bond_angle, bond_length))\n", "len(moles)" ] }, { "cell_type": "markdown", "id": "990f6763-8e18-46c9-a45c-97816f01fc2b", "metadata": {}, "source": [ "## Calculate" ] }, { "cell_type": "markdown", "id": "0dd49ac8-3dda-4bdc-bce2-45959110519a", "metadata": {}, "source": [ "For each `mole` in `moles`, calculate UCCSD energy using the `UCCSD` class from TenCirChem." ] }, { "cell_type": "code", "execution_count": 3, "id": "73afc94a-ba4a-448a-af4f-cd93c482130b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "38.372753381729126" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import time\n", "from tencirchem import UCCSD\n", "\n", "res = []\n", "time1 = time.time()\n", "for m in moles:\n", " # skip CCSD and FCI to speedup\n", " uccsd = UCCSD(m, run_ccsd=False, run_fci=False)\n", " res.append(uccsd.kernel())\n", "time2 = time.time()\n", "time2 - time1" ] }, { "cell_type": "markdown", "id": "b0601c74-c757-428e-964b-4a61cdee0619", "metadata": {}, "source": [ "## Plot" ] }, { "cell_type": "code", "execution_count": 4, "id": "e0e71eaf-da8c-4338-8823-bcf0d9e5d2c9", "metadata": {}, "outputs": [ { "data": { "image/png": "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qvDRRx9h2LBhHvepNeS4f/YoLy/Hd999h+joaMnGrkWSkpJ49xoADh48aL3XvvTZE4ure2cP+twJx537SzjGYrHgP//5D332tIjameNS8+GHH3IGg4HbtGkTd+7cOe7FF1/kGjRowBUXF3Mcx3GjR4/m5syZY23/5Zdfch999BH33XffcUeOHOF+/etfc3FxcdzPP/8suE9vQo77N2PGDO7w4cNcYWEh98UXX3D9+/fnGjVqxN26dUvpy5OVu3fvcqdPn+ZOnz7NAeDeffdd7vTp09z333/PcRzHzZkzhxs9erS1/X//+18uJCSEmzlzJnf+/HluzZo1nL+/P7d//35rG1/57Mlx7+hzZ//ecRxnbd+tWzfuueee406fPs2dPXvWevyLL77gAgICuHfeeYc7f/489+abb3KBgYHcf/7zH0WvTQnkuH9vvfUWl5OTw3333XfcqVOnuJEjR3JBQUG8NoQ28DqRxHEct3r1aq558+acXq/nHn30Ue7LL7+0Huvbty83duxY6+vDhw9zbdu25QwGAxcREcGNHj2au3Hjhqg+vQ2p79+zzz7LRUdHc3q9nmvatCn37LPPcpcvX1bqchTjn//8JwegzlZzv8aOHcv17du3znu6dOnC6fV6Lj4+nsvMzKzTry989uS4d/S5G8txnP17Z699ixYteG127tzJtWnThtPr9Vz79u25ffv2KXNBCiPH/Zs6dar1b7ZJkybc4MGDuX//+9/KXRQhGTqO4zi53SqCIAiCIAit4VU5SQRBEARBEFJBIokgCIIgCMIOJJIIgiAIgiDsQCKJIAiCIAjCDiSSCIIgCIIg7EAiiSAIgiAIwg4kkgiCIAiCIOxAIokgCM1z8+ZN9OvXD82aNaNFRAmCkAwqJkkQhOaZPXs2zGYznnnmGTz11FP49ttvERoaqvawCILQOOQkEYREPP7445g6daoq5x43bhyGDx/u8PimTZvQoEEDxcbjipYtW2LVqlWi31dSUoLGjRvjypUrvP3h4eFo2rQpWrdujYiICAQFBfGOjxw5EitWrPBgxARB+CIkkgiCkA2pxdmiRYswbNgwtGzZkrd/+vTpWLx4MaKiopCamorAwEDe8fT0dCxatAilpaWSjYUgCO+HRBJBEJrg/v37yMjIwIQJE+ocu3jxIu7fv49XX30V+fn5dY536NABrVq1wtatW5UY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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "\n", "plt.contourf(bond_lengths, bond_angles / np.pi * 180, np.array(res).reshape(10, 10), cmap=\"Blues_r\", levels=50)\n", "plt.colorbar()\n", "plt.xlabel(\"bond length (Å)\")\n", "plt.ylabel(\"bond angle (°)\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "b98612ed-0deb-44db-95ce-7162e88c67a7", "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.7.13" } }, "nbformat": 4, "nbformat_minor": 5 }