{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Transition state\n",
"\n",
"Once we have a suitable candidate for transition state we can optimize the structure for a transition state. As explained before the transition state will be characterized by a vanishing gradient and one negative Hessian \n",
"eigenvalue. Therefore, in essence, we are exploring the PES looking for a maximum.
\n",
"
\n",
"To ilustrate the concepts we will use a simple example in which we will perform the Intrinsic Reaction Coordinate (IRC) method. So, we will start with a transition state candidate and optimize it to transition state. Then we will just minimize the energy in the backward path and the forward path to obtain the reactant and the product as illustrated in the following figure:
\n",
"```{figure} ../../img/pes/irc.png\n",
":scale: 50%\n",
"```\n",
"\n",
"## IRC method\n",
"\n",
"### Importing modules"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```\n",
"import veloxchem as vlx\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"import py3Dmol as p3d "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Visualization of the molecule\n",
"First we create a funtion to visualize xyz coordinates and another to compare the geometries"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"#Function to plot geometries\n",
"def drawXYZGeom(geom):\n",
" view = p3d.view(width=400, height=400)\n",
" view.addModel(geom, \"xyz\")\n",
" view.setStyle({'stick':{}})\n",
" view.zoomTo()\n",
" return(view.show())\n",
"## Function to compare geometries\n",
"def compXYZGeom(init,final):\n",
" view = p3d.view(linked=True, viewergrid=(1,2),width=400, height=400)\n",
" view.addModel(init, \"xyz\", viewer = (0,0))\n",
" view.addModel(final, \"xyz\", viewer = (0,1))\n",
" view.setStyle({'stick':{}})\n",
" view.zoomTo()\n",
" return(view.show())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Then we just introduce the xyz coordinates as a string and we can plot the structure"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"application/3dmoljs_load.v0": "
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n",
" jupyter labextension install jupyterlab_3dmol