{ "cells": [ { "cell_type": "markdown", "id": "3a23c1f8", "metadata": {}, "source": [ "# Base1 lesson (H2 molecule)\n", "\n", "
\n", "

First (basic) lesson with Abinit and AbiPy

\n", "

The H2 molecule

\n", "
\n", "

This lesson aims at showing how to get the following physical properties:

\n", "\n", " \n", "
\n", "\n", "This tutorial is a complement to the standard [ABINIT tutorial on H$_2$](https://docs.abinit.org/tutorial/base1).\n", "Here, powerful flow and visualisation procedures\n", "will be demonstrated. Still, some basic understanding of the stand-alone working of ABINIT is a prerequisite.\n", "Also, in order to fully benefit from this AbiPy tutorial, other more basic AbiPy tutorials should have been followed,\n", "as suggested in the [introduction page](../intro).\n", "\n", "There are three methodologies to compute the optimal distance between the two Hydrogen atoms.\n", "One could:\n", "\n", " * compute the **total energy** for different values of the interatomic distance, make a fit through\n", " the different points, and determine the minimum of the fitting function;\n", " * compute the **forces** for different values of the interatomic distance, make a fit through\n", " the different values, and determine the zero of the fitting function;\n", " * use an automatic algorithm for minimizing the energy (or finding the zero of forces).\n", "\n", "In this AbiPy notebook, we will be focusing on the first approach.\n", "More specifically we will build an `Flow` to compute the energy and the forces in the $H_2$ molecule\n", "for different values of the interatomic distance.\n", "This exercise will allow us to learn how to generate multiple input files using AbiPy and\n", "how to analyze multiple ground-state calculations with the AbiPy robots.\n", "\n", "```{include} ../snippets/plotly_matplotlib_note.md\n", "```\n", "\n", "## Our first AbiPy function" ] }, { "cell_type": "code", "execution_count": 1, "id": "e60351c9", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\") # Ignore warnings\n", "\n", "from abipy import abilab\n", "abilab.enable_notebook() # This line tells AbiPy we are running inside a notebook\n", "\n", "# This line configures matplotlib to show figures embedded in the notebook.\n", "# Replace `inline` with `notebook` in classic notebook\n", "%matplotlib inline\n", "\n", "# Option available in jupyterlab. See https://github.com/matplotlib/jupyter-matplotlib\n", "#%matplotlib widget" ] }, { "cell_type": "markdown", "id": "c82de381", "metadata": {}, "source": [ "We need a function that generates an input file for a GS calculations for the $H_2$ molecule in a big box.\n", "Ideally a function that receives the distance `x`, the cutoff energy `ecut` and the size of the big box\n", "in input so that we can customize the output and generate multiple input objects easily.\n", "\n", "Fortunately we already have such a function in the `lesson_base1.py` module.\n", "Let's import it and look at the code:" ] }, { "cell_type": "code", "execution_count": 2, "id": "a6f71770", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def gs_input(x=0.7, ecut=10, acell=(10, 10, 10)):\n",
       "    """\n",
       "    This function builds an AbinitInput object to compute the total energy\n",
       "    of the H2 molecule in a big box.\n",
       "\n",
       "    Args:\n",
       "        x: Position of the first Hydrogen along the x-axis in Cartesian coordinates.\n",
       "           The second Hydrogen is located at [-x, 0, 0]\n",
       "        ecut: Cutoff energy in Ha.\n",
       "        acell: Lengths of the primitive vectors (in Bohr)\n",
       "\n",
       "    Returns:\n",
       "        AbinitInput object.\n",
       "    """\n",
       "    # Build structure from dictionary with input variables.\n",
       "    structure = abilab.Structure.from_abivars(\n",
       "        ntypat=1,                           # There is only one type of atom.\n",
       "        znucl=1,                            # Atomic numbers of the type(s) of atom.\n",
       "        natom=2,                            # There are two atoms.\n",
       "        typat=(1, 1),                       # They both are of type 1, that is, Hydrogen.\n",
       "        xcart=[-x, 0.0, 0.0,                # Cartesian coordinates of atom 1, in Bohr.\n",
       "               +x, 0.0, 0.0],               # second atom.\n",
       "        acell=acell,                        # Lengths of the primitive vectors (in Bohr).\n",
       "        rprim=[1, 0, 0, 0, 1, 0, 0, 0, 1]   # Orthogonal primitive vectors (default).\n",
       "    )\n",
       "\n",
       "    # Build AbinitInput from structure and pseudo(s) taken from AbiPy package.\n",
       "    inp = abilab.AbinitInput(structure=structure, pseudos=abidata.pseudos("01h.pspgth"))\n",
       "\n",
       "    # Set value of other variables.\n",
       "    inp.set_vars(\n",
       "        ecut=ecut,\n",
       "        nband=1,\n",
       "        diemac=2.0,\n",
       "        toldfe=1e-6,\n",
       "        prtwf=-1,\n",
       "        iomode=3\n",
       "    )\n",
       "\n",
       "    # Define k-point sampling.\n",
       "    inp.set_kmesh(ngkpt=(1, 1, 1), shiftk=(0, 0, 0))\n",
       "\n",
       "    return inp\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from lesson_base1 import gs_input\n", "abilab.print_source(gs_input)" ] }, { "cell_type": "markdown", "id": "948cf46a", "metadata": {}, "source": [ "If the function is called without arguments, the default values (specified in the prototype) are used.\n", "Let's try:" ] }, { "cell_type": "code", "execution_count": 3, "id": "df133c5a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The value of ecut is: 10\n" ] } ], "source": [ "gsinp = gs_input()\n", "print(\"The value of ecut is:\", gsinp[\"ecut\"])" ] }, { "cell_type": "markdown", "id": "9d23e90a", "metadata": {}, "source": [ "The `AbinitInput` is a dict-like object whose usage is documented in this [notebook](../abinit_input).\n", "Inside jupyter, we can get the HTML representation of the input with:" ] }, { "cell_type": "code", "execution_count": 4, "id": "29bc8fb4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "##############################################
#### SECTION: basic
##############################################
ecut 10
nband 1
toldfe 1e-06
ngkpt 1 1 1
kptopt 1
nshiftk 1
shiftk 0 0 0
##############################################
#### SECTION: dev
##############################################
iomode 3
##############################################
#### SECTION: files
##############################################
prtwf -1
indata_prefix indata/in
tmpdata_prefix tmpdata/tmp
outdata_prefix outdata/out
pseudos /usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/abipy/data/pseudos/01h.pspgth
##############################################
#### SECTION: gstate
##############################################
diemac 2.0
##############################################
#### STRUCTURE
##############################################
natom 2
ntypat 1
typat 1 1
znucl 1
xred
-0.0700000000 0.0000000000 0.0000000000
0.0700000000 0.0000000000 0.0000000000
acell 1.0 1.0 1.0
rprim
10.0000000000 0.0000000000 0.0000000000
0.0000000000 10.0000000000 0.0000000000
0.0000000000 0.0000000000 10.0000000000\n", "
" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gsinp" ] }, { "cell_type": "markdown", "id": "0e22f006", "metadata": {}, "source": [ "The input object can be converted into a string.\n", "More importantly, an `AbinitInput` *has* an AbiPy structure (see [Structure notebook](../structure)),\n", "a list of pseudopotential objects and provides several methods\n", "to facilitate the specification of input variables." ] }, { "cell_type": "code", "execution_count": 5, "id": "ea02567c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Full Formula (H2)\n", "Reduced Formula: H2\n", "abc : 5.291772 5.291772 5.291772\n", "angles: 90.000000 90.000000 90.000000\n", "pbc : True True True\n", "Sites (2)\n", " # SP a b c\n", "--- ---- ----- --- ---\n", " 0 H -0.07 0 0\n", " 1 H 0.07 0 0\n", "The big box volume is: 148.18471147216275\n" ] } ], "source": [ "print(gsinp.structure)\n", "print(\"The big box volume is:\", gsinp.structure.volume)" ] }, { "cell_type": "code", "execution_count": 6, "id": "f6bcb887", "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'Arrow3D' object has no attribute 'do_3d_projection'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/IPython/core/formatters.py:343\u001b[0m, in \u001b[0;36mBaseFormatter.__call__\u001b[0;34m(self, obj)\u001b[0m\n\u001b[1;32m 341\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 342\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 343\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mprinter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 344\u001b[0m \u001b[38;5;66;03m# Finally look for special method names\u001b[39;00m\n\u001b[1;32m 345\u001b[0m method \u001b[38;5;241m=\u001b[39m get_real_method(obj, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprint_method)\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/IPython/core/pylabtools.py:170\u001b[0m, in \u001b[0;36mprint_figure\u001b[0;34m(fig, fmt, bbox_inches, base64, **kwargs)\u001b[0m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbackend_bases\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m FigureCanvasBase\n\u001b[1;32m 168\u001b[0m FigureCanvasBase(fig)\n\u001b[0;32m--> 170\u001b[0m \u001b[43mfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcanvas\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mprint_figure\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbytes_io\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkw\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 171\u001b[0m data \u001b[38;5;241m=\u001b[39m bytes_io\u001b[38;5;241m.\u001b[39mgetvalue()\n\u001b[1;32m 172\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fmt \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124msvg\u001b[39m\u001b[38;5;124m'\u001b[39m:\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/matplotlib/backend_bases.py:2175\u001b[0m, in \u001b[0;36mFigureCanvasBase.print_figure\u001b[0;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)\u001b[0m\n\u001b[1;32m 2172\u001b[0m \u001b[38;5;66;03m# we do this instead of `self.figure.draw_without_rendering`\u001b[39;00m\n\u001b[1;32m 2173\u001b[0m \u001b[38;5;66;03m# so that we can inject the orientation\u001b[39;00m\n\u001b[1;32m 2174\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(renderer, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_draw_disabled\u001b[39m\u001b[38;5;124m\"\u001b[39m, nullcontext)():\n\u001b[0;32m-> 2175\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfigure\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2176\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m bbox_inches:\n\u001b[1;32m 2177\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m bbox_inches \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtight\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/matplotlib/artist.py:95\u001b[0m, in \u001b[0;36m_finalize_rasterization..draw_wrapper\u001b[0;34m(artist, renderer, *args, **kwargs)\u001b[0m\n\u001b[1;32m 93\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(draw)\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdraw_wrapper\u001b[39m(artist, renderer, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m---> 95\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 96\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m renderer\u001b[38;5;241m.\u001b[39m_rasterizing:\n\u001b[1;32m 97\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstop_rasterizing()\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/matplotlib/artist.py:72\u001b[0m, in \u001b[0;36mallow_rasterization..draw_wrapper\u001b[0;34m(artist, renderer)\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 70\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstart_filter()\n\u001b[0;32m---> 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/matplotlib/figure.py:3162\u001b[0m, in \u001b[0;36mFigure.draw\u001b[0;34m(self, renderer)\u001b[0m\n\u001b[1;32m 3159\u001b[0m \u001b[38;5;66;03m# ValueError can occur when resizing a window.\u001b[39;00m\n\u001b[1;32m 3161\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpatch\u001b[38;5;241m.\u001b[39mdraw(renderer)\n\u001b[0;32m-> 3162\u001b[0m \u001b[43mmimage\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_draw_list_compositing_images\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3163\u001b[0m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43martists\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msuppressComposite\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3165\u001b[0m renderer\u001b[38;5;241m.\u001b[39mclose_group(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mfigure\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 3166\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/matplotlib/image.py:132\u001b[0m, in \u001b[0;36m_draw_list_compositing_images\u001b[0;34m(renderer, parent, artists, suppress_composite)\u001b[0m\n\u001b[1;32m 130\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m not_composite \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m has_images:\n\u001b[1;32m 131\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m artists:\n\u001b[0;32m--> 132\u001b[0m \u001b[43ma\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 134\u001b[0m \u001b[38;5;66;03m# Composite any adjacent images together\u001b[39;00m\n\u001b[1;32m 135\u001b[0m image_group \u001b[38;5;241m=\u001b[39m []\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/matplotlib/artist.py:72\u001b[0m, in \u001b[0;36mallow_rasterization..draw_wrapper\u001b[0;34m(artist, renderer)\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 70\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstart_filter()\n\u001b[0;32m---> 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/mpl_toolkits/mplot3d/axes3d.py:441\u001b[0m, in \u001b[0;36mAxes3D.draw\u001b[0;34m(self, renderer)\u001b[0m\n\u001b[1;32m 437\u001b[0m zorder_offset \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmax\u001b[39m(axis\u001b[38;5;241m.\u001b[39mget_zorder()\n\u001b[1;32m 438\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_axis_map\u001b[38;5;241m.\u001b[39mvalues()) \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 439\u001b[0m collection_zorder \u001b[38;5;241m=\u001b[39m patch_zorder \u001b[38;5;241m=\u001b[39m zorder_offset\n\u001b[0;32m--> 441\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m artist \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28;43msorted\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcollections_and_patches\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 442\u001b[0m \u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43martist\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43martist\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdo_3d_projection\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 443\u001b[0m \u001b[43m \u001b[49m\u001b[43mreverse\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m:\n\u001b[1;32m 444\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(artist, mcoll\u001b[38;5;241m.\u001b[39mCollection):\n\u001b[1;32m 445\u001b[0m artist\u001b[38;5;241m.\u001b[39mzorder \u001b[38;5;241m=\u001b[39m collection_zorder\n", "File \u001b[0;32m/usr/share/miniconda/envs/abipy/lib/python3.12/site-packages/mpl_toolkits/mplot3d/axes3d.py:442\u001b[0m, in \u001b[0;36mAxes3D.draw..\u001b[0;34m(artist)\u001b[0m\n\u001b[1;32m 437\u001b[0m zorder_offset \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmax\u001b[39m(axis\u001b[38;5;241m.\u001b[39mget_zorder()\n\u001b[1;32m 438\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_axis_map\u001b[38;5;241m.\u001b[39mvalues()) \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 439\u001b[0m collection_zorder \u001b[38;5;241m=\u001b[39m patch_zorder \u001b[38;5;241m=\u001b[39m zorder_offset\n\u001b[1;32m 441\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m artist \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28msorted\u001b[39m(collections_and_patches,\n\u001b[0;32m--> 442\u001b[0m key\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mlambda\u001b[39;00m artist: \u001b[43martist\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdo_3d_projection\u001b[49m(),\n\u001b[1;32m 443\u001b[0m reverse\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[1;32m 444\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(artist, mcoll\u001b[38;5;241m.\u001b[39mCollection):\n\u001b[1;32m 445\u001b[0m artist\u001b[38;5;241m.\u001b[39mzorder \u001b[38;5;241m=\u001b[39m collection_zorder\n", "\u001b[0;31mAttributeError\u001b[0m: 'Arrow3D' object has no attribute 'do_3d_projection'" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gsinp.structure.plot();" ] }, { "cell_type": "markdown", "id": "aa1f79d3", "metadata": {}, "source": [ "Let's print some info about our pseudopotentials:" ] }, { "cell_type": "code", "execution_count": 7, "id": "a5ec1891", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " summary: Goedecker-Teter-Hutter Wed May 8 14:27:44 EDT 1996\n", " number of valence electrons: 1.0\n", " maximum angular momentum: s\n", " angular momentum for local part: s\n", " XC correlation: LDA_XC_TETER93\n", " supports spin-orbit: False\n", " radius for non-linear core correction: 0.0\n", " hint for low accuracy: ecut: 0.0, pawecutdg: 0.0\n", " hint for normal accuracy: ecut: 0.0, pawecutdg: 0.0\n", " hint for high accuracy: ecut: 0.0, pawecutdg: 0.0\n" ] } ], "source": [ "print(gsinp.pseudos[0])" ] }, { "cell_type": "markdown", "id": "a6bf63d8", "metadata": {}, "source": [ "## Computation of the interatomic distance" ] }, { "cell_type": "markdown", "id": "aac50806", "metadata": {}, "source": [ "At this point, we can use `gs_input` to generate an [Abinit Flow](../flows)\n", "to compute the total energy and the forces of H-H with different interatomic distances.\n", "We have already prepared such a function in `build_flow`, let's have a look at the code:" ] }, { "cell_type": "code", "execution_count": 8, "id": "09ce0b7a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def build_flow(options):\n",
       "    """\n",
       "    Generate a flow to compute the total energy and forces for the H2 molecule in a big box\n",
       "    as a function of the interatomic distance.\n",
       "\n",
       "    Args:\n",
       "        options: Command line options.\n",
       "\n",
       "    Return:\n",
       "        Flow object.\n",
       "    """\n",
       "    inputs = [gs_input(x=x) for x in np.linspace(0.5, 1.025, 21)]\n",
       "\n",
       "    workdir = options.workdir if (options and options.workdir) else "flow_h2"\n",
       "\n",
       "    return flowtk.Flow.from_inputs(workdir, inputs)\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from lesson_base1 import build_flow\n", "abilab.print_source(build_flow)" ] }, { "cell_type": "markdown", "id": "4ccf4b3b", "metadata": {}, "source": [ "Note that we are working at fixed {{ecut}} and {{acell}}, only the H-H distance is modified.\n", "Let's call the function to build our flow:" ] }, { "cell_type": "code", "execution_count": 9, "id": "8814c1a6", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "flow\n", "\n", "Flow, node_id=0, workdir=flow_h2\n", "\n", "clusterw0\n", "\n", "Work (w0)\n", "\n", "\n", "\n", "w0_t0\n", "\n", "w0_t0\n", "ScfTask\n", "\n", "\n", "\n", "w0_t1\n", "\n", "w0_t1\n", "ScfTask\n", "\n", "\n", "\n", "w0_t2\n", "\n", "w0_t2\n", "ScfTask\n", "\n", "\n", "\n", "w0_t3\n", "\n", "w0_t3\n", "ScfTask\n", "\n", "\n", "\n", "w0_t4\n", "\n", "w0_t4\n", "ScfTask\n", "\n", "\n", "\n", "w0_t5\n", "\n", "w0_t5\n", "ScfTask\n", "\n", "\n", "\n", "w0_t6\n", "\n", "w0_t6\n", "ScfTask\n", "\n", "\n", "\n", "w0_t7\n", "\n", "w0_t7\n", "ScfTask\n", "\n", "\n", "\n", "w0_t8\n", "\n", "w0_t8\n", "ScfTask\n", "\n", "\n", "\n", "w0_t9\n", "\n", "w0_t9\n", "ScfTask\n", "\n", "\n", "\n", "w0_t10\n", "\n", "w0_t10\n", "ScfTask\n", "\n", "\n", "\n", "w0_t11\n", "\n", "w0_t11\n", "ScfTask\n", "\n", "\n", "\n", "w0_t12\n", "\n", "w0_t12\n", "ScfTask\n", "\n", "\n", "\n", "w0_t13\n", "\n", "w0_t13\n", "ScfTask\n", "\n", "\n", "\n", "w0_t14\n", "\n", "w0_t14\n", "ScfTask\n", "\n", "\n", "\n", "w0_t15\n", "\n", "w0_t15\n", "ScfTask\n", "\n", "\n", "\n", "w0_t16\n", "\n", "w0_t16\n", "ScfTask\n", "\n", "\n", "\n", "w0_t17\n", "\n", "w0_t17\n", "ScfTask\n", "\n", "\n", "\n", "w0_t18\n", "\n", "w0_t18\n", "ScfTask\n", "\n", "\n", "\n", "w0_t19\n", "\n", "w0_t19\n", "ScfTask\n", "\n", "\n", "\n", "w0_t20\n", "\n", "w0_t20\n", "ScfTask\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "flow = build_flow(options=None)\n", "flow.get_graphviz()" ] }, { "cell_type": "markdown", "id": "86f9c1ca", "metadata": {}, "source": [ "Ok, so far so good.\n", "With just three lines of codes and our `gs_input` function, we managed\n", "to construct an AbiPy flow for the $H_2$ molecule.\n", "Let's write some python code to check that we really obtained what we had in mind:" ] }, { "cell_type": "code", "execution_count": 10, "id": "0555fb9c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ecuts:\n", " [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]\n", "vols:\n", " ['148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2', '148.2']\n", "h-h [Ang]:\n", " ['0.529', '0.557', '0.585', '0.613', '0.640', '0.668', '0.696', '0.724', '0.751', '0.779', '0.807', '0.835', '0.863', '0.890', '0.918', '0.946', '0.974', '1.001', '1.029', '1.057', '1.085']\n" ] } ], "source": [ "inputs = [task.input for task in flow.iflat_tasks()]\n", "\n", "print(\"ecuts:\\n\", [inp[\"ecut\"] for inp in inputs])\n", "\n", "print(\"vols:\\n\", [\"%.1f\" % inp.structure.volume for inp in inputs])\n", "\n", "def hh_dist(structure):\n", " return np.linalg.norm(structure.cart_coords[1] - structure.cart_coords[0])\n", "\n", "from pprint import pprint\n", "print(\"h-h [Ang]:\\n\", [\"%.3f\" % hh_dist(inp.structure) for inp in inputs])" ] }, { "cell_type": "markdown", "id": "aab5276e", "metadata": {}, "source": [ "At this point, we could run the flow in the notebook by just calling:\n", "\n", " flow.make_scheduler().start()\n", "\n", "or, alternatively, execute the `lesson_base1.py` script to build\n", "the directory with the flow and then use:\n", "\n", " abirun.py flow_h2 scheduler\n", "\n", "inside the terminal.\n", "\n", "Let's assume the flow has been already executed and let's focus on the analysis of the final results." ] }, { "cell_type": "markdown", "id": "33e00957", "metadata": {}, "source": [ "## Analyzing the main output file\n", "\n", "First of all, it is always a good idea to check whether the SCF cycle is converged.\n", "Obviously one could open the main output file, find the SCF iterations and look for warnings but\n", "there is a much faster (and better) way to do that with AbiPy:" ] }, { "cell_type": "code", "execution_count": 11, "id": "6535d022", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ndtset: 1, completed: True\n", "Full Formula (H2)\n", "Reduced Formula: H2\n", "abc : 5.291772 5.291772 5.291772\n", "angles: 90.000000 90.000000 90.000000\n", "pbc : True True True\n", "Sites (2)\n", " # SP a b c\n", "--- ---- ----- --- ---\n", " 0 H -0.05 0 0\n", " 1 H 0.05 0 0\n", "\n", "Abinit Spacegroup: spgid: 123, num_spatial_symmetries: 16, has_timerev: True, symmorphic: False\n", "\n", "========================= Dimensions of calculation =========================\n", " intxc ionmov iscf lmnmax lnmax mgfft mpssoang mqgrid natom \\\n", "dataset \n", "1 0 0 7 1 1 30 1 3001 2 \n", "\n", " nloc_mem nspden nspinor nsppol nsym n1xccc ntypat occopt \\\n", "dataset \n", "1 1 1 1 1 16 0 1 1 \n", "\n", " xclevel mband mffmem mkmem mpw nfft nkpt mem_per_proc_mb \\\n", "dataset \n", "1 1 1 1 1 752 27000 1 7.796 \n", "\n", " wfk_size_mb denpot_size_mb spg_symbol spg_number \\\n", "dataset \n", "1 0.013 0.208 P4/mmm 123 \n", "\n", " bravais \n", "dataset \n", "1 Bravais tP (primitive tetrag.) \n", " \n", "\n" ] } ], "source": [ "abo = abilab.abiopen(\"flow_h2/w0/t0/run.abo\")\n", "print(abo)" ] }, { "cell_type": "markdown", "id": "d56b9d87", "metadata": {}, "source": [ "To get the list of Warnings/Comments/Errors:" ] }, { "cell_type": "code", "execution_count": 12, "id": "a75f86c0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Events found in /home/runner/work/abipy_book/abipy_book/abipy_book/base1/flow_h2/w0/t0/run.abo\n", "\n", "num_errors: 0, num_warnings: 0, num_comments: 0, completed: False\n", "\n" ] } ], "source": [ "print(abo.events)" ] }, { "cell_type": "markdown", "id": "168161d2", "metadata": {}, "source": [ "To plot the SCF cycle, use:" ] }, { "cell_type": "code", "execution_count": 13, "id": "19977650", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Loading all matplotlib figures before showing them. It may take some time...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "All figures in memory, elapsed time: 0.353 s\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "abo.plot();" ] }, { "cell_type": "markdown", "id": "afbc30cc", "metadata": {}, "source": [ "Since this is not a structural relaxation, the initial and final structures must be equal:" ] }, { "cell_type": "code", "execution_count": 14, "id": "82ab34dd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "abo.initial_structure == abo.final_structure" ] }, { "cell_type": "markdown", "id": "399b0401", "metadata": {}, "source": [ "The basic dimensions and parameters of the run can be extracted from the output file with:" ] }, { "cell_type": "code", "execution_count": 15, "id": "225e98ff", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(OrderedDict([(1,\n", " OrderedDict([('intxc', 0),\n", " ('ionmov', 0),\n", " ('iscf', 7),\n", " ('lmnmax', 1),\n", " ('lnmax', 1),\n", " ('mgfft', 30),\n", " ('mpssoang', 1),\n", " ('mqgrid', 3001),\n", " ('natom', 2),\n", " ('nloc_mem', 1),\n", " ('nspden', 1),\n", " ('nspinor', 1),\n", " ('nsppol', 1),\n", " ('nsym', 16),\n", " ('n1xccc', 0),\n", " ('ntypat', 1),\n", " ('occopt', 1),\n", " ('xclevel', 1),\n", " ('mband', 1),\n", " ('mffmem', 1),\n", " ('mkmem', 1),\n", " ('mpw', 752),\n", " ('nfft', 27000),\n", " ('nkpt', 1),\n", " ('mem_per_proc_mb', 7.796),\n", " ('wfk_size_mb', 0.013),\n", " ('denpot_size_mb', 0.208)]))]),\n", " OrderedDict([(1,\n", " {'spg_symbol': 'P4/mmm',\n", " 'spg_number': 123,\n", " 'bravais': 'Bravais tP (primitive tetrag.)'})]))" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "abo.get_dims_spginfo_dataset()" ] }, { "cell_type": "markdown", "id": "53b45dd7", "metadata": {}, "source": [ "Within the shell, one can use:\n", "\n", " abiview.py abo flow_h2/w0/t0/run.abo\n", "\n", "to plot the SCF cycle or\n", "\n", " abiopen.py flow_h2/w0/t0/run.abo\n", "\n", "to open the file and start the ipython terminal" ] }, { "cell_type": "markdown", "id": "a8f2a06c", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "id": "ae120c43", "metadata": {}, "source": [ "## Extracting results from the GSR files\n", "\n", "The ground-state results are saved in the `GSR.nc` files whose API is extensively\n", "discussed in the [GSR notebook](../gsr).\n", "\n", "Let's have a look at the results produced by the first task:" ] }, { "cell_type": "code", "execution_count": 16, "id": "6ad9ab17", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "================================= File Info =================================\n", "Name: out_GSR.nc\n", "Directory: /home/runner/work/abipy_book/abipy_book/abipy_book/base1/flow_h2/w0/t0/outdata\n", "Size: 8.20 kB\n", "Access Time: Sun Oct 27 17:40:59 2024\n", "Modification Time: Sun Oct 27 17:38:46 2024\n", "Change Time: Sun Oct 27 17:38:46 2024\n", "\n", "================================= Structure =================================\n", "Full Formula (H2)\n", "Reduced Formula: H2\n", "abc : 5.291772 5.291772 5.291772\n", "angles: 90.000000 90.000000 90.000000\n", "pbc : True True True\n", "Sites (2)\n", " # SP a b c cartesian_forces\n", "--- ---- ----- --- --- --------------------------------------------------\n", " 0 H -0.05 0 0 [-19.54779681 -0. -0. ] eV ang^-1\n", " 1 H 0.05 0 0 [19.54779681 -0. -0. ] eV ang^-1\n", "\n", "Abinit Spacegroup: spgid: 123, num_spatial_symmetries: 16, has_timerev: True, symmorphic: False\n", "\n", "Stress tensor (Cartesian coordinates in GPa):\n", "[[-10.75762969 0. 0. ]\n", " [ 0. 1.60903288 0. ]\n", " [ 0. 0. 1.60903288]]\n", "\n", "Pressure: 2.513 (GPa)\n", "Energy: -28.21337450 (eV)\n", "\n", "============================== Electronic Bands ==============================\n", "Number of electrons: 2.0, Fermi level: -11.082 (eV)\n", "nsppol: 1, nkpt: 1, mband: 1, nspinor: 1, nspden: 1\n", "smearing scheme: none (occopt 1), tsmear_eV: 0.272, tsmear Kelvin: 3157.7\n", "Bandwidth: 0.000 (eV)\n", "Valence maximum located at kpt index 0:\n", " spin: 0, kpt: $\\Gamma$ [+0.000, +0.000, +0.000], band: 0, eig: -11.082, occ: 2.000\n", "TIP: Use `--verbose` to print k-point coordinates with more digits\n" ] } ], "source": [ "with abilab.abiopen(\"flow_h2/w0/t0/outdata/out_GSR.nc\") as gsr:\n", " print(gsr)" ] }, { "cell_type": "markdown", "id": "146acaeb", "metadata": {}, "source": [ "As we can see from the previous output, the `GSR` file contains information about\n", "the crystalline structure, forces, stresses as well as the KS band structure.\n", "In the jargon of object-oriented programming, one says that a `GSRFile` *has* a `Structure` object:\n", "\n", " gsr.structure\n", "\n", "and it *has* an `ElectronBands` object:\n", "\n", " gsr.ebands\n", "\n", "This means that if you learn how to use the methods provided by `structure` and `ebands`, then you can\n", "easily get these objects from the `GSR` file and use this API to post-process the results.\n", "This is a general philosophy of AbiPy: every netcdf file object returned by `abiopen` contains\n", "other objects (the structure is always available, while the presence of other objects depend of the particular file).\n", "Remember this point because we will use it a lot in the other lessons.\n", "\n", "```{note}\n", "To learn about the different methods provided by `structure` and `ebands`, you may want to\n", "consult the API documentation\n", "\n", "- {{Structure}}\n", "- {{pymatgen_Structure}}\n", "- {{ElectronBands}}\n", "```" ] }, { "cell_type": "markdown", "id": "509724de", "metadata": {}, "source": [ "Ok, now we know how to open and extract information from one `GSR` file.\n", "In this tutorial, however, we need to analyze multiple `GSR` files!\n", "If you are familiar with python, it should not be difficult to write a `for loop` that\n", "iterates over a list of GSR files, extracts the total energy with the corresponding volume and creates two\n", "lists that can be used to plot $E(d)$ with d the H-H distance.\n", "This kind of operations are, however, very common and AbiPy provides a high-level interface (`robots`) to\n", "operate on multiple files and post-process the data.\n", "\n", "In the simplest case, one can use the `from_dir` method to tell the `Robot` to\n", "find all files of a particular type located within a directory tree,\n", "and store all the data in memory:" ] }, { "cell_type": "code", "execution_count": 17, "id": "53894eeb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "
  1. w0/t13/outdata/out_GSR.nc
  2. \n", "
  3. w0/t1/outdata/out_GSR.nc
  4. \n", "
  5. w0/t5/outdata/out_GSR.nc
  6. \n", "
  7. w0/t20/outdata/out_GSR.nc
  8. \n", "
  9. w0/t9/outdata/out_GSR.nc
  10. \n", "
  11. w0/t14/outdata/out_GSR.nc
  12. \n", "
  13. w0/t10/outdata/out_GSR.nc
  14. \n", "
  15. w0/t6/outdata/out_GSR.nc
  16. \n", "
  17. w0/t4/outdata/out_GSR.nc
  18. \n", "
  19. w0/t2/outdata/out_GSR.nc
  20. \n", "
  21. w0/t12/outdata/out_GSR.nc
  22. \n", "
  23. w0/t18/outdata/out_GSR.nc
  24. \n", "
  25. w0/t16/outdata/out_GSR.nc
  26. \n", "
  27. w0/t0/outdata/out_GSR.nc
  28. \n", "
  29. w0/t19/outdata/out_GSR.nc
  30. \n", "
  31. w0/t8/outdata/out_GSR.nc
  32. \n", "
  33. w0/t11/outdata/out_GSR.nc
  34. \n", "
  35. w0/t3/outdata/out_GSR.nc
  36. \n", "
  37. w0/t15/outdata/out_GSR.nc
  38. \n", "
  39. w0/t17/outdata/out_GSR.nc
  40. \n", "
  41. w0/t7/outdata/out_GSR.nc
  42. \n", "
" ], "text/plain": [ "Label Relpath\n", "------------------------- ---------------------------------\n", "w0/t13/outdata/out_GSR.nc flow_h2/w0/t13/outdata/out_GSR.nc\n", "w0/t1/outdata/out_GSR.nc flow_h2/w0/t1/outdata/out_GSR.nc\n", "w0/t5/outdata/out_GSR.nc flow_h2/w0/t5/outdata/out_GSR.nc\n", "w0/t20/outdata/out_GSR.nc flow_h2/w0/t20/outdata/out_GSR.nc\n", "w0/t9/outdata/out_GSR.nc flow_h2/w0/t9/outdata/out_GSR.nc\n", "w0/t14/outdata/out_GSR.nc flow_h2/w0/t14/outdata/out_GSR.nc\n", "w0/t10/outdata/out_GSR.nc flow_h2/w0/t10/outdata/out_GSR.nc\n", "w0/t6/outdata/out_GSR.nc flow_h2/w0/t6/outdata/out_GSR.nc\n", "w0/t4/outdata/out_GSR.nc flow_h2/w0/t4/outdata/out_GSR.nc\n", "w0/t2/outdata/out_GSR.nc flow_h2/w0/t2/outdata/out_GSR.nc\n", "w0/t12/outdata/out_GSR.nc flow_h2/w0/t12/outdata/out_GSR.nc\n", "w0/t18/outdata/out_GSR.nc flow_h2/w0/t18/outdata/out_GSR.nc\n", "w0/t16/outdata/out_GSR.nc flow_h2/w0/t16/outdata/out_GSR.nc\n", "w0/t0/outdata/out_GSR.nc flow_h2/w0/t0/outdata/out_GSR.nc\n", "w0/t19/outdata/out_GSR.nc flow_h2/w0/t19/outdata/out_GSR.nc\n", "w0/t8/outdata/out_GSR.nc flow_h2/w0/t8/outdata/out_GSR.nc\n", "w0/t11/outdata/out_GSR.nc flow_h2/w0/t11/outdata/out_GSR.nc\n", "w0/t3/outdata/out_GSR.nc flow_h2/w0/t3/outdata/out_GSR.nc\n", "w0/t15/outdata/out_GSR.nc flow_h2/w0/t15/outdata/out_GSR.nc\n", "w0/t17/outdata/out_GSR.nc flow_h2/w0/t17/outdata/out_GSR.nc\n", "w0/t7/outdata/out_GSR.nc flow_h2/w0/t7/outdata/out_GSR.nc" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "robot = abilab.GsrRobot.from_dir(\"flow_h2\")\n", "robot" ] }, { "cell_type": "markdown", "id": "8d14641d", "metadata": {}, "source": [ "Once we have constructed the robot, we can start to invoke methods to extract/post-process the results.\n", "For instance, we can construct a pandas Dataframe with:" ] }, { "cell_type": "code", "execution_count": 18, "id": "14d11b17", "metadata": {}, "outputs": [], "source": [ "table = robot.get_dataframe()" ] }, { "cell_type": "markdown", "id": "f967248d", "metadata": {}, "source": [ "The table contains several columns:" ] }, { "cell_type": "code", "execution_count": 19, "id": "d30ab20e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['formula', 'natom', 'alpha', 'beta', 'gamma', 'a', 'b', 'c', 'volume',\n", " 'abispg_num', 'spglib_symb', 'spglib_num', 'spglib_lattice_type',\n", " 'energy', 'energy_per_atom', 'pressure', 'max_force', 'ecut',\n", " 'pawecutdg', 'tsmear', 'nkpt', 'nsppol', 'nspinor', 'nspden'],\n", " dtype='object')" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table.keys()" ] }, { "cell_type": "markdown", "id": "d8b22f16", "metadata": {}, "source": [ "Inside the notebook, we can visualize the table with:" ] }, { "cell_type": "code", "execution_count": 20, "id": "12325bda", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
formulanatomalphabetagammaabcvolumeabispg_num...energy_per_atompressuremax_forceecutpawecutdgtsmearnkptnsppolnspinornspden
w0/t13/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-15.007564-1.6505211.65294210.0-1.00.011111
w0/t1/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.3488411.96023915.45758510.0-1.00.011111
w0/t5/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.8897570.2492955.34604110.0-1.00.011111
w0/t20/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.741056-2.4539283.52044910.0-1.00.011111
w0/t9/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-15.041404-0.8870780.68105410.0-1.00.011111
w0/t14/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.981811-1.7994292.04548910.0-1.00.011111
w0/t10/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-15.045641-1.1068920.05019810.0-1.00.011111
w0/t6/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.953205-0.0791343.83729010.0-1.00.011111
w0/t4/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.8031960.6129937.17641510.0-1.00.011111
w0/t2/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.5396361.46327812.12593210.0-1.00.011111
w0/t12/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-15.027449-1.4866431.19865710.0-1.00.011111
w0/t18/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.834181-2.2736183.16434610.0-1.00.011111
w0/t16/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.915720-2.0581692.68274210.0-1.00.011111
w0/t0/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.1066872.51318819.54779710.0-1.00.011111
w0/t19/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.788854-2.3677143.35683710.0-1.00.011111
w0/t8/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-15.026087-0.6442701.54981810.0-1.00.011111
w0/t11/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-15.040523-1.3060640.66985710.0-1.00.011111
w0/t3/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.6885441.0161149.40475110.0-1.00.011111
w0/t15/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.950974-1.9347732.38623210.0-1.00.011111
w0/t17/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.876621-2.1707342.94071410.0-1.00.011111
w0/t7/outdata/out_GSR.ncH2290.090.090.05.2917725.2917725.291772148.184711123...-14.997564-0.3759082.58848010.0-1.00.011111
\n", "

21 rows × 24 columns

\n", "
" ], "text/plain": [ " formula natom alpha beta gamma a \\\n", "w0/t13/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t1/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t5/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t20/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t9/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t14/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t10/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t6/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t4/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t2/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t12/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t18/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t16/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t0/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t19/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t8/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t11/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t3/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t15/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t17/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "w0/t7/outdata/out_GSR.nc H2 2 90.0 90.0 90.0 5.291772 \n", "\n", " b c volume abispg_num ... \\\n", "w0/t13/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t1/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t5/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t20/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t9/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t14/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t10/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t6/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t4/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t2/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t12/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t18/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t16/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t0/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t19/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t8/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t11/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t3/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t15/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t17/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "w0/t7/outdata/out_GSR.nc 5.291772 5.291772 148.184711 123 ... \n", "\n", " energy_per_atom pressure max_force ecut \\\n", "w0/t13/outdata/out_GSR.nc -15.007564 -1.650521 1.652942 10.0 \n", "w0/t1/outdata/out_GSR.nc -14.348841 1.960239 15.457585 10.0 \n", "w0/t5/outdata/out_GSR.nc -14.889757 0.249295 5.346041 10.0 \n", "w0/t20/outdata/out_GSR.nc -14.741056 -2.453928 3.520449 10.0 \n", "w0/t9/outdata/out_GSR.nc -15.041404 -0.887078 0.681054 10.0 \n", "w0/t14/outdata/out_GSR.nc -14.981811 -1.799429 2.045489 10.0 \n", "w0/t10/outdata/out_GSR.nc -15.045641 -1.106892 0.050198 10.0 \n", "w0/t6/outdata/out_GSR.nc -14.953205 -0.079134 3.837290 10.0 \n", "w0/t4/outdata/out_GSR.nc -14.803196 0.612993 7.176415 10.0 \n", "w0/t2/outdata/out_GSR.nc -14.539636 1.463278 12.125932 10.0 \n", "w0/t12/outdata/out_GSR.nc -15.027449 -1.486643 1.198657 10.0 \n", "w0/t18/outdata/out_GSR.nc -14.834181 -2.273618 3.164346 10.0 \n", "w0/t16/outdata/out_GSR.nc -14.915720 -2.058169 2.682742 10.0 \n", "w0/t0/outdata/out_GSR.nc -14.106687 2.513188 19.547797 10.0 \n", "w0/t19/outdata/out_GSR.nc -14.788854 -2.367714 3.356837 10.0 \n", "w0/t8/outdata/out_GSR.nc -15.026087 -0.644270 1.549818 10.0 \n", "w0/t11/outdata/out_GSR.nc -15.040523 -1.306064 0.669857 10.0 \n", "w0/t3/outdata/out_GSR.nc -14.688544 1.016114 9.404751 10.0 \n", "w0/t15/outdata/out_GSR.nc -14.950974 -1.934773 2.386232 10.0 \n", "w0/t17/outdata/out_GSR.nc -14.876621 -2.170734 2.940714 10.0 \n", "w0/t7/outdata/out_GSR.nc -14.997564 -0.375908 2.588480 10.0 \n", "\n", " pawecutdg tsmear nkpt nsppol nspinor nspden \n", "w0/t13/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t1/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t5/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t20/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t9/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t14/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t10/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t6/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t4/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t2/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t12/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t18/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t16/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t0/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t19/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t8/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t11/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t3/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t15/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t17/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "w0/t7/outdata/out_GSR.nc -1.0 0.01 1 1 1 1 \n", "\n", "[21 rows x 24 columns]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table" ] }, { "cell_type": "markdown", "id": "138e2ee3", "metadata": {}, "source": [ "Great! We managed to get a nice table with lot of useful results with just 3 lines of code and the robot!\n", "There are however two problems:\n", "\n", " - The rows of the table are not ordered by increasing H-H distance (files are sorted alphabetically)\n", "\n", " - Our dataframe contains the energy of the different configurations but we would like to plot the energy\n", " as a function of the H-H distance\n", "\n", "Well, robots can do a lot of hard work but they are a little bit stupid so\n", "we have to tell them what to do with the data.\n", "More specifically we need a way to tell the robot that, for each `GSR` file, it should get the crystalline\n", "structure, compute the distance between the first and the second atom and insert the result\n", "in our table in a given column.\n", "This kind of tasks are usually executed with `callbacks` i.e. functions that are passed in input\n", "and **automatically executed** by the framework at runtime.\n", "\n", "\"\"\n", "\n", "Let's look at the documentation of `robot.get_dataframe`:" ] }, { "cell_type": "code", "execution_count": 21, "id": "887d1d27", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
    def get_dataframe(self, with_geo=True, abspath=False, with_paths=True, funcs=None, **kwargs) -> pd.DataFrame:\n",
       "        """\n",
       "        Return a |pandas-DataFrame| with the most important GS results and the filenames as index.\n",
       "\n",
       "        Args:\n",
       "            with_geo: True if structure info should be added to the dataframe\n",
       "            abspath: True if paths in the index should be absolute. Default: Relative to getcwd().\n",
       "            with_paths: False if filepaths should not be added\n",
       "\n",
       "        kwargs:\n",
       "            attrs:\n",
       "                List of additional attributes of the |GsrFile| to add to the DataFrame.\n",
       "            funcs: Function or list of functions to execute to add more data to the DataFrame.\n",
       "                Each function receives a |GsrFile| object and returns a tuple (key, value)\n",
       "                where key is a string with the name of column and value is the value to be inserted.\n",
       "        """\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "abilab.print_doc(robot.get_dataframe)" ] }, { "cell_type": "markdown", "id": "0fcad2a9", "metadata": {}, "source": [ "It seems complicated but the actual implementation of the callback is just three lines of code:" ] }, { "cell_type": "code", "execution_count": 22, "id": "8fab077a", "metadata": { "code_folding": [], "run_control": { "marked": true }, "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "def hh_dist(gsr):\n", " \"\"\"\n", " This callback receives a GSR file and computes the H-H distance.\n", " The robot will call this function to compute the H-H distance,\n", " and return a (key, value) tuple that will be inserted in the pandas DataFrame.\n", " \"\"\"\n", " cart_coords = gsr.structure.cart_coords\n", " d = np.linalg.norm(cart_coords[1] - cart_coords[0])\n", " return \"hh_dist\", d\n", "\n", "with abilab.GsrRobot.from_dir(\"flow_h2\") as robot:\n", " table = robot.get_dataframe(funcs=hh_dist)\n", " table = table.sort_values(by=\"hh_dist\")" ] }, { "cell_type": "markdown", "id": "67590cd4", "metadata": {}, "source": [ "As expected, now the table contains a new column with `hh_dist` in Angstrom:" ] }, { "cell_type": "code", "execution_count": 23, "id": "7845f7c7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"hh_dist\" in table" ] }, { "cell_type": "markdown", "id": "b37c6152", "metadata": {}, "source": [ "Let's print the two columns with the H-H distance and the total energy:" ] }, { "cell_type": "code", "execution_count": 24, "id": "dcacc4fb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
hh_distenergy
w0/t0/outdata/out_GSR.nc0.529177-28.213374
w0/t1/outdata/out_GSR.nc0.556959-28.697681
w0/t2/outdata/out_GSR.nc0.584741-29.079272
w0/t3/outdata/out_GSR.nc0.612523-29.377087
w0/t4/outdata/out_GSR.nc0.640304-29.606393
w0/t5/outdata/out_GSR.nc0.668086-29.779514
w0/t6/outdata/out_GSR.nc0.695868-29.906409
w0/t7/outdata/out_GSR.nc0.723650-29.995127
w0/t8/outdata/out_GSR.nc0.751432-30.052174
w0/t9/outdata/out_GSR.nc0.779213-30.082807
w0/t10/outdata/out_GSR.nc0.806995-30.091282
w0/t11/outdata/out_GSR.nc0.834777-30.081045
w0/t12/outdata/out_GSR.nc0.862559-30.054898
w0/t13/outdata/out_GSR.nc0.890341-30.015128
w0/t14/outdata/out_GSR.nc0.918122-29.963621
w0/t15/outdata/out_GSR.nc0.945904-29.901949
w0/t16/outdata/out_GSR.nc0.973686-29.831440
w0/t17/outdata/out_GSR.nc1.001468-29.753241
w0/t18/outdata/out_GSR.nc1.029250-29.668361
w0/t19/outdata/out_GSR.nc1.057031-29.577707
w0/t20/outdata/out_GSR.nc1.084813-29.482112
\n", "
" ], "text/plain": [ " hh_dist energy\n", "w0/t0/outdata/out_GSR.nc 0.529177 -28.213374\n", "w0/t1/outdata/out_GSR.nc 0.556959 -28.697681\n", "w0/t2/outdata/out_GSR.nc 0.584741 -29.079272\n", "w0/t3/outdata/out_GSR.nc 0.612523 -29.377087\n", "w0/t4/outdata/out_GSR.nc 0.640304 -29.606393\n", "w0/t5/outdata/out_GSR.nc 0.668086 -29.779514\n", "w0/t6/outdata/out_GSR.nc 0.695868 -29.906409\n", "w0/t7/outdata/out_GSR.nc 0.723650 -29.995127\n", "w0/t8/outdata/out_GSR.nc 0.751432 -30.052174\n", "w0/t9/outdata/out_GSR.nc 0.779213 -30.082807\n", "w0/t10/outdata/out_GSR.nc 0.806995 -30.091282\n", "w0/t11/outdata/out_GSR.nc 0.834777 -30.081045\n", "w0/t12/outdata/out_GSR.nc 0.862559 -30.054898\n", "w0/t13/outdata/out_GSR.nc 0.890341 -30.015128\n", "w0/t14/outdata/out_GSR.nc 0.918122 -29.963621\n", "w0/t15/outdata/out_GSR.nc 0.945904 -29.901949\n", "w0/t16/outdata/out_GSR.nc 0.973686 -29.831440\n", "w0/t17/outdata/out_GSR.nc 1.001468 -29.753241\n", "w0/t18/outdata/out_GSR.nc 1.029250 -29.668361\n", "w0/t19/outdata/out_GSR.nc 1.057031 -29.577707\n", "w0/t20/outdata/out_GSR.nc 1.084813 -29.482112" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table[[\"hh_dist\", \"energy\"]]" ] }, { "cell_type": "markdown", "id": "250312bc", "metadata": {}, "source": [ "Note that the energy in our `DataFrame` is given in eV to facilitate the integration\n", "with `pymatgen` that uses eV for energies and Angstrom for lengths.\n", "Let's add another column to our table with energies in Hartree:" ] }, { "cell_type": "code", "execution_count": 25, "id": "b4d143c0", "metadata": {}, "outputs": [], "source": [ "table[\"energy_Ha\"] = table[\"energy\"] * abilab.units.eV_to_Ha" ] }, { "cell_type": "markdown", "id": "00d3dfb5", "metadata": {}, "source": [ "and use the `plot` method of pandas `DataFrames` to plot `energy_Ha` vs `hh_dist`" ] }, { "cell_type": "code", "execution_count": 26, "id": "ea8c7ca6", "metadata": {}, "outputs": [ { "data": { "image/png": "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ICKyC6bOOusua9+x4bgdIsfFEEREdsNagcJaAesqjtshckwMQURkV6wVKHjHhoiuxxBERC6Dd2yI6FocGE1EREQuiSGIiIiIXBJDEBEREbkkhiAiIiJySQxBRERE5JIYgoiIiMglMQQRERGRS2IIIiIiIpfEEEREREQuSRBFUbR1EfZIFEXo9WyanpJKJdDp9LYuw6GxDc3HNjQf29B8bEPLMKUdJRIBgmD6VjgMQUREROSS2B1GRERELokhiIiIiFwSQxARERG5JIYgIiIickkMQUREROSSGIKIiIjIJTEEERERkUtiCCIiIiKXxBBERERELokhiIiIiFwSQxARERG5JIYgIiIickkMQUREROSSGIKoW86ePYvf/va3GDlyJCZNmoTXXnsNzc3NJl176dIlvPDCCxg/fjxuvvlm3HHHHfjqq6+sXLH96UkbZmVlQaVSdfhn5syZvVS5/ejp57C6uhorV67ElClTMHLkSMyaNQubN2/uhYrtT0/bUKPR4M9//jPGjRuHESNG4Ne//jVOnTrVCxXbn+LiYqxcuRJ33303YmJiMGvWLJOuE0URb7/9NqZMmYKbb74ZDzzwAI4ePWrdYu1UT9vw448/xhNPPIHx48dDpVIhLS2tR68v69FV5JJqa2uxYMECDBkyBOvXr8elS5fw6quvorGxEStXruz02oqKCjzwwAMICwvDyy+/DB8fH5w+fdrkAOUsetqGw4cPx//+9z+jY3V1dXjssceQmJho7bLtijmfw6effhqFhYV45plnEBISgvT0dKxatQpSqRT3339/L70D2zOnDZ955hnk5OTg+eefR2BgIN577z0sWLAAX375JUJCQnrpHdiH06dP44cffsCIESOg1+shiqJJ173zzjtYt24dnnvuOahUKnz88cd45JFH8OWXXyI0NNTKVduXnrbhl19+CQC45ZZb8MUXX/S8AJHIRBs3bhRHjhwpVldXG47997//FaOjo8Xy8vJOr33uuefEBx54QGxtbbVylfbNnDa83pYtW8SoqCjx2LFjFq7SvvW0DSsqKsSoqChxy5YtRsfnz58vPvzww9Yq1y71tA2PHDkiRkVFid9++63hWENDgzhhwgTx5ZdftmbJdkmn0xn+/cILL4h33nlnl9c0NjaKo0aNEv/5z38ajjU1NYlTp04VX3zxRWuUadd60obXXldaWipG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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "table.plot(x=\"hh_dist\", y=\"energy_Ha\", style=\"-o\");" ] }, { "cell_type": "markdown", "id": "f51fda97", "metadata": {}, "source": [ "At this point, it should be clear that to plot the maximum of the forces as a function of the H-H distance\n", "we just need:" ] }, { "cell_type": "code", "execution_count": 27, "id": "731c1a27", "metadata": {}, "outputs": [ { "data": { "image/png": "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82059tBy7KHl2EPrYB8tZ6utD7gyEBERETk8BhoiIiJyeAw0RERE5PAYaIiIiMjhMdAQERGRw2OgISIiIofHQENEREQOzyXWodFquVGdJSQSMXeVtRB7aDn20HLsoXWwj5YzpodisQgikfHbmbhEoCEiIiLnxkdORERE5PAYaIiIiMjhMdAQERGRw2OgISIiIofHQENEREQOj4GGiIiIHB4DDRERETk8BhoiIiJyeAw0RERE5PAYaIiIiMjhMdAQERGRw2OgISIiIofHQENEREQOj4HGhV26dAmPPPIIUlNTMXLkSLz77rtobm426tqSkhK88MILGDZsGFJSUjBx4kRs2rTJxhXbH3N6ePjwYSQkJNzwz2233dZNldsPcz+HVVVVeOWVVzBmzBikpqZiypQp2LBhQzdUbH/M7aFKpcLLL7+MoUOHYsCAAXjooYdw/vz5bqjY/hQUFOCVV17BtGnTkJSUhClTphh1nVarxcqVKzFmzBikpKTgvvvuw8mTJ21brJ0yt4fr1q3D3LlzMWzYMCQkJGD79u1mvb/UrKvI4dXU1GDmzJmIiorC0qVLUVJSgrfffhuNjY145ZVXDF5bWlqK++67D9HR0fjrX/8KHx8f5ObmGh2GnIW5PezXrx++/PJLvWO1tbWYM2cORo0aZeuy7Yoln8Onn34aeXl5ePbZZ9GzZ0/s3bsXixcvhkQiwb333ttNfwPhWdLDZ599FmfOnMHzzz+PwMBAfPrpp5g5cya+//579OzZs5v+BvYhNzcXe/bswYABA6DRaKDVao26btWqVViyZAmee+45JCQkYN26dXj00Ufx/fffIyIiwsZV2xdze/j9998DAEaPHo3vvvvO/AK05JJWrFihTU1N1VZVVemOffHFF9rExETt9evXDV773HPPae+77z5ta2urjau0b5b08Pe+/vprbXx8vPbUqVNWrtK+mdvD0tJSbXx8vPbrr7/WO/7AAw9oH374YVuVa5fM7eGJEye08fHx2h9//FF3rL6+Xjt8+HDtX//6V1uWbJfUarXuf7/wwgvayZMnd3lNY2OjduDAgdr33ntPd6ypqUl7yy23aF999VVblGnXzOnhb68rLCzUxsfHa7dt22bW+/ORk4vau3cvhg8fDn9/f92xiRMnQqPRYP/+/Z1eV1tbi23btmHGjBmQSCTdUKn9MreHN7JlyxZE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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "table.plot(x=\"hh_dist\", y=\"max_force\", style=\"-o\");" ] }, { "cell_type": "markdown", "id": "7f201afd", "metadata": {}, "source": [ "Want to plot the two quantities on the same figure?" ] }, { "cell_type": "code", "execution_count": 28, "id": "b1c06a2f", "metadata": {}, "outputs": [ { "data": { "image/png": "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ERF5JYYgIiIi8koMQUREROSVGIKIiIjIKzEEERERkVdiCCIiIiKvxBBEREREXokhiIiIiLwSQxARERF5JYYgIiIi8koMQUREROSVGIKIiIjIKzEEERERkVdiCCIiIiKvxBBEREREXokhiIiIiLwSQxARERF5JYYgIiIi8koMQUREROSVGIKIiIjIKzEEERERkVdiCCIiIiKvxBBEREREXokhiIiIiLwSQxARERF5JbcNQatWrcLf//53DBkyBN26dcO4cePwv//9D4qi1Frv22+/xU033YTOnTtj7NixWLdunYsqJiIiIk8iKJemCjdx1113oU2bNrjhhhtgMBiwefNmfPjhh5gyZQoeeeQRAMDKlSvx+OOP429/+xv69euHtLQ0LF26FF988QW6devm0PMrigJZdsvWeARRFNg/B7GHjmMPHcceOo49dI769FEUBQiCUO/HdNsQVFxcjJCQkFrLnn32WaSlpWH79u0QRRE33XQTOnXqhDfffNO+zsSJExEYGIjFixc79PySJKO4uNKhx/BWarUIg8EfJSWVsFplV5fjkdhDx7GHjmMPHcceOkd9+xgS4g+Vqv4Hudz2cNilAQgAOnTogIqKClRVVSEnJwfHjx/HqFGjaq0zevRobNmyBWazublKJSIiIg+kdnUBDbFjxw5ERkYiICAAO3bsAADEx8fXWicxMREWiwU5OTlITEx06PnUarfNiG7tfApvSBqn2thDx7GHjmMPHcceOkdT9dFjQtAff/yBtLQ0PP300wCAsrIyAIBer6+13vnb5+9vLFEUYDD4O/QY3k6v17m6BI/HHjqOPXQce+g49tA5nN1HjwhBeXl5mDFjBvr27YsHHnigWZ5TlhUYjVXN8lwtjUolQq/XwWg0QZJ4DLwx2EPHsYeOYw8dxx46R337qNfrGrS3yO1DkNFoxEMPPYTg4GAsXLgQomh7cUFBQQCA8vJyhIeH11r/4vsd4exBbHJ1OaS8o1DHdoMgtvxdo5IkcyCgg9hDx7GHjmMPHcceOoez++jWIai6uhqTJ09GeXk5vvnmGwQGBtrvS0hIAABkZWXZfz5/W6PRICYmptnrvRbzzuWwZPwMTeeb4Nv/bleXQ0TkEWRZhiRZXV1Go8iygOpqFczmGkiSW56M7RFkWYQk+Tr9cd02BFmtVkyfPh1ZWVn44osvEBkZWev+mJgY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8YfDiIiIiBqDIYiIiIi8EkMQEREReSWGICIiIvJKDEFERETklRiCiIiIyCsxBBEREZFXYggiIiIir8QQRERERF6JIYiIiIi8EkMQEREReSWGICIiIvJKDEFERETklRiCqEGOHTuGP/3pT+jWrRsGDhyI119/HWazuV7b5ufn4+mnn0a/fv3QpUsXjBo1CsuXL2/iit1PY3q4bds2pKSkXPZr5MiRzVS5+2js+7CkpARz5szB9ddfj27dumHMmDH46quvmqFi99PYHpaXl+PZZ59F37590bVrV9x///04ePBgM1Tsfk6cOIE5c+Zg3LhxSE1NxZgxY+q1naIo+OCDD3D99dejS5cuuOuuu7B79+6mLdZNNbaHX3zxBSZPnox+/fohJSUF6enpjXp+daO2Iq9UVlaGBx98EHFxcVi4cCHy8/Mxb948VFdXY86cOVfdtqCgAHfddRfi4+Px0ksvISAgAEePHq13gGopGtvDjh074ptvvqm1rKKiAg899BCGDBnS1GW7FUfeh48++iiysrLw2GOPISoqCuvXr8fzzz8PlUqFCRMmNNMrcD1HevjYY48hIyMDTz75JMLCwvDJJ5/gwQcfxA8//ICoqKhmegXu4ejRo/jtt9/QtWtXyLIMRVHqtd3ixYuxYMECPPHEE0hJScEXX3yBP//5z/jhhx8QExPTxFW7l8b28IcffgAAXHfddfj+++8bX4BCVE+LFi1SunXrppSUlNiXff3110qHDh2UvLy8q277xBNPKHfddZditVqbuEr35kgPL7V06VIlOTlZ2bNnj5OrdG+N7WFBQYGSnJysLF26tNbye++9V3nggQeaqly31Nge7tq1S0lOTlbWrFljX1ZVVaX0799feemll5qyZLckSZL956efflq5+eabr7lNdXW10qNHD+XNN9+0L6upqVGGDh2qPPfcc01RpltrTA8v3i4nJ0dJTk5WVq1a1ajn5+Ewqrf169ejf//+CA4Oti8bNWoUZFnGpk2brrhdRUUFVq1ahXvuuQcqlaoZKnVfje3h5fz444+Ii4tDly5dnFyle2tsD61WKwAgMDCw1vKAgIB6//XZUjS2hwcOHIAgCBg4cKB9mU6nQ69evbBu3bqmLNktiWLDf4Xu3LkTFRUVGDVqlH2ZVqvFiBEjsH79emeW5xEa00NHtqvzOE55FPIKWVlZSEhIqLVMr9cjPDwcWVlZV9xu//79sFgsUKvVuO+++9CxY0cMHDgQ//znP2GxWJq6bLfS2B5e6uzZs9i6dWu9j5+3JI3tYVRUFAYNGoRFixYhMzMTFRUVSEtLw6ZNm3Dvvfc2ddlupbE9NJvNEEWxzh8zGo0Gubm5qK6ubpJ6W5Lz/b20/4mJiTh9+jR72MwYgqjejEYj9Hp9neVBQUEoKyu74nZnz54FAMyePRudOnXCRx99hAcffBCffvopFixY0GT1uqPG9vBSaWlpkCTJK0OQIz1cuHAhwsLCcPPNN6Nnz5544oknMGvWLNx0001NVa5bamwP27ZtC0mScODAAfsyWZaRkZEBRVFgNBqbpN6WxGg0QqvVwsfHp9ZyvV4PRVEa9DlAjuPAaGpysiwDAAYMGICZM2cCAPr164fKykp8/PHHmDJlCnx9fV1ZosdZsWIFOnbsiPj4eFeX4jEURcGsWbNw/PhxvPnmmwgPD8fmzZsxd+5cBAUF4eabb3Z1iW5v4MCBiI2NxXPPPYfXXnsNoaGh+OCDD5CTkwMAEATBxRUSNQz3BFG96fV6lJeX11leVlaGoKCgq24H2ILPxfr37w+z2YwTJ044t1A31tgeXuzkyZPYu3cvxo4d6+zyPEJje/jrr78iPT0dCxYswJgxY9C3b1/MmDEDt956K+bNm9eUJbudxvZQq9Vi/vz5qKqqwi233IIBAwZg8+bNePDBB6HRaGqNMaLL0+v1MJvNqKmpqbXcaDRCEIR6fw6QczAEUb0lJCTUGS9QXl6OwsLCOse3L5aUlHTVx730w6Ala2wPL7ZixQqIoojRo0c3RYlur7E9zMzMhEqlQnJycq3lHTp0QEFBAUwmU5PU644ceR926tQJ6enp+Omnn5Ceno7ly5ejuroaHTt2hEajacqyW4Tz/c3Ozq61PCsrC61bt+Ze8WbGEET1NmTIEGzevLnWcf/09HSIoljrbJFLtWnTBsnJydi8eXOt5Zs3b4avr+81Q1JL0tgeXmzlypXo06cPIiIimqpMt+bI+1CSJBw+fLjW8v379yM0NBQ6na7JanY3jr4PBUFAXFwc4uPjUVJSgrS0NIwfP74pS24xevTogYCAAKxatcq+zGKxYPXq1V4355c74JggqreJEyfi888/x5QpUzB58mTk5+fj9ddfx8SJExEZGWlf78EHH8Tp06fx888/25fNmDEDDz/8MF555RVcf/312LdvHz7++GNMmjQJfn5+rng5LuFIDwHbKcrnZ/r1Vo3t4ZAhQ9C6dWtMmzYNU6ZMQUREBDZu3IjvvvsOU6dOddXLcQlH3ofvv/8+2rZti9DQUGRnZ+Pf//43OnXqhNtvv90VL8WlTCYTfvvtNwBAbm4uKioq7DMX9+nTByEhIXV66OPjg8mTJ2PhwoUICQlBcnIyvvrqK5SWlmLSpEkuey2u0pgeAsC+ffuQm5uL4uJiAMCePXsAACEhIejTp0+9n58hiOotKCgIn376KV566SVMmTIF/v7+uPPOOzFjxoxa68myDEmSai0bNmwY3nrrLbz33nv46quvEBERgalTp+Kvf/1rc74El3Okh4DtUJhWq/W6s5ku1tgeBgQE4JNPPsH8+fPxxhtvoLy8HNHR0Zg5cybuu+++5n4ZLuXI+9BoNOK1115DUVERIiIiMHbsWDz88MNOm7fFkxQVFeHRRx+ttez87c8++wx9+/a9bA8feughKIqCjz/+GMXFxejQoQM++ugjr5stGmh8D7/44gt899139tsff/wxAFtw+vzzz+v9/ILibbOEEREREYFjgoiIiMhLMQQRERGRV2IIIiIiIq/EEEREREReiSGIiIiIvBJDEBEREXklhiAiIiLySgxBRERE5JUYgojIpRYuXIiUlBT79PdXkpKSghdffLHJ6jh16hRSUlKwbNmyOrURUcvEEERE5ET5+flYuHAhDh486OpSiOgaGIKIiK7g73//O/bu3dugbQoKCvDOO+8wBBF5AF5AlYjoCtRqNdRqfkwStVTcE0REbqG8vBwzZ85Er1690LNnT8yaNQsmk6nOer/88gvGjBmDTp064eabb8b69esb/FxGoxEzZ85Ez5490atXLzz99NMoLy+vs97lxgRt2rQJd999N3r16oXu3bvjpptuwltvvQUA2LZtG+68804AwKxZs5CSklJnnBERuQ/+iUNEbmH69OmIjo7GY489hgMHDuDbb79FSEgInnzySfs6O3bswOrVq3HPPffA398fn3/+OaZNm4Z169bBYDDU63kURcHDDz+MHTt2YOLEiUhMTMTPP/+Mp59++prbHj16FJMnT0ZKSgqmTZsGrVaLEydOYOfOnQCAxMRETJs2DQsWLMBdd92Fnj17AgB69OjRiI4QUVNjCCIit9ChQwfMnTvXfru0tBT/+9//aoWgY8eOIS0tDbGxsQCAvn37Yty4cVi5ciXuu+++ej3PmjVrsH37djz55JP4y1/+AgC4++678cADD1xz202bNsFisWDx4sUICQmpc39YWBiGDBmCBQsWoFu3bhg3bly9aiIi1+DhMCJyCxMnTqx1u1evXigtLUVFRYV92YABA+wBCADat2+PgIAA5OTk1Pt51q9fD7Vajbvvvtu+TKVS1StE6fV6ALYgJctyvZ+TiNwTQxARuYXWrVvXun0+cJSVldmXRUVF1dkuKCgIRqOx3s+Tm5uL8PBw+Pv711oeHx9/zW1Hjx6NHj16YPbs2RgwYABmzJiBtLQ0BiIiD8UQRERuQRQv/3GkKIr9Z5VKdc11mpKvry+++OILfPLJJxg3bhwOHz6MGTNm4E9/+hMkSWqWGojIeRiCiMirtGnTBoWFhaisrKy1PDs7u17bi6KI/v37Y9asWUhLS8OMGTOwdetWbNu2DQAgCILTayaipsEQREReZciQIbBarfjqq6/syyRJwn//+99rbltaWlpnWYcOHQAAZrMZAKDT6QCgQYfoiMg1eHYYEXmVYcOGoUePHnjzzTeRm5uLpKQkrF69+rLzBF3q3XffxR9//IHrrrsObdq0QVFREb788ku0atXKfjp8bGws9Ho9vv76a/j7+8PPzw9dunRBTExMU780ImoghiAi8iqiKOL999/H3LlzsXz5cgiCgGHDhmHmzJm49dZbr7rtsGHDkJubi6VLl6KkpAQGgwF9+vTB1KlTERgYCADQaDSYN28e3nrrLTz//POwWq149dVXGYKI3JCgNNeIQiIiIiI3wjFBRERE5JV4OIyIWgRJklBcXHzVdfz8/OrMD0RE3oshiIhahDNnzmD48OFXXeeRRx7B1KlTm6kiInJ3HBNERC1CTU0NduzYcdV1YmJiOECZiOwYgoiIiMgrcWA0EREReSWGICIiIvJKDEFERETklRiCiIiIyCsxBBEREZFXYggiIiIir8QQRERERF7p/wGYykrw9h0JcwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "table.plot(x=\"hh_dist\", y=[\"energy_Ha\", \"max_force\"], subplots=True);" ] }, { "cell_type": "markdown", "id": "2e3ba943", "metadata": {}, "source": [ "```{note}\n", "\n", "Your boss understands the data only if it is formatted inside a $\\LaTeX$ tabular environment?\n", "\n", " table[[\"hh_dist\", \"energy\"]].to_latex()\n", "\n", "Need to send data to Windows users?\n", "\n", " table.to_excel(\"'output.xlsx\")\n", "\n", "Want to copy the dataframe to the system clipboard so that one can easily past the data\n", "into an other applications e.g. Excel?\n", "\n", " table.to_clipboard()\n", "```\n", "\n", "## Analysis of the charge density\n", "\n", "The `DEN.nc` file stores the density in real space on the FFT mesh.\n", "A `DEN.nc` file *has* a `structure`, and an `ebands` object with the electronic eigenvalues/occupations\n", "and a `Density` object with $n(r)$ (numpy array `.datar`) and $n(G)$ (`.datag`).\n", "\n", "Let's open the file with `abiopen` and print it:" ] }, { "cell_type": "code", "execution_count": 29, "id": "835f4e06", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "================================= File Info =================================\n", "Name: out_DEN.nc\n", "Directory: /home/runner/work/abipy_book/abipy_book/abipy_book/base1/flow_h2/w0/t10/outdata\n", "Size: 217.43 kB\n", "Access Time: Sun Oct 27 17:41:02 2024\n", "Modification Time: Sun Oct 27 17:38:46 2024\n", "Change Time: Sun Oct 27 17:38:46 2024\n", "\n", "================================= Structure =================================\n", "Full Formula (H2)\n", "Reduced Formula: H2\n", "abc : 5.291772 5.291772 5.291772\n", "angles: 90.000000 90.000000 90.000000\n", "pbc : True True True\n", "Sites (2)\n", " # SP a b c\n", "--- ---- -------- --- ---\n", " 0 H -0.07625 0 0\n", " 1 H 0.07625 0 0\n", "\n", "Abinit Spacegroup: spgid: 123, num_spatial_symmetries: 16, has_timerev: True, symmorphic: False\n", "\n", "============================== Electronic Bands ==============================\n", "Number of electrons: 2.0, Fermi level: -9.658 (eV)\n", "nsppol: 1, nkpt: 1, mband: 1, nspinor: 1, nspden: 1\n", "smearing scheme: none (occopt 1), tsmear_eV: 0.272, tsmear Kelvin: 3157.7\n", "Bandwidth: 0.000 (eV)\n", "Valence maximum located at kpt index 0:\n", " spin: 0, kpt: $\\Gamma$ [+0.000, +0.000, +0.000], band: 0, eig: -9.658, occ: 2.000\n", "TIP: Use `--verbose` to print k-point coordinates with more digits\n", "XC functional: LDA_XC_TETER93\n", "================================== Density ==================================\n", "Density: nspinor: 1, nsppol: 1, nspden: 1\n", "Mesh3D: nx=30, ny=30, nz=30 \n", "Integrated electronic and magnetization densities in atomic spheres:\n", " symbol ntot rsph_ang frac_coords\n", "iatom \n", "0 H 0.134448 0.31 [-0.07625, 0.0, 0.0]\n", "1 H 0.134448 0.31 [0.07625, 0.0, 0.0]\n", "Total magnetization from unit cell integration: 0.0\n" ] } ], "source": [ "with abilab.abiopen(\"flow_h2/w0/t10/outdata/out_DEN.nc\") as denfile:\n", " print(denfile)\n", " density = denfile.density" ] }, { "cell_type": "markdown", "id": "5074ce0d", "metadata": {}, "source": [ "The simplest thing we can do now is to print $n(r)$ along a line passing through two points specified\n", "either in terms of two vectors or two integers defining the site index in our `structure`.\n", "Let's plot the density along the H-H bond by passing the index of the two atoms:" ] }, { "cell_type": "code", "execution_count": 30, "id": "cd55e341", "metadata": {}, "outputs": [ { "data": { "image/png": "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twsEAIrKWtHisIo6UHTLw6MiMbxvCGIjvKFSCWKHQ0RE1Oae/2sv5BZVwtdTvLnATKCsjJ+3C7pF+NQ/iZoJFBERtT/Bvm4I9nUTNQYO4REREREZiAkUERERkYGYQBEREREZiAkUERERkYGYQBEREREZiAkUERERkYGYQBEREREZiAkUERERkYGYQBEREREZiAkUERERkYGYQBEREREZiAkUERERkYGYQBEREREZSCIIgiB2ELZKEASo1eb/9cpkUqhUarOf11KwfdaN7bNubJ/1suW2AW3XPqlUAolEctf9mEARERERGYhDeEREREQGYgJFREREZCAmUEREREQGYgJFREREZCAmUEREREQGYgJFREREZCAmUEREREQGYgJFREREZCAmUEREREQGYgJFREREZCAmUEREREQGYgJFREREZCAmUEREREQGYgJlQVJSUvDkk08iNjYWcXFxWLRoEWpra+96nCAI+PLLLzFixAjExMRg2rRp+P3331s/YAMZ277vvvsOzz77LAYPHoyoqCjs3r27DaI1nDHty8/Px6JFi3D//fejT58+iI+Px8svv4zs7Ow2irrljL1/r7zyCsaMGYPY2FgMGDAA06dPx7Fjx9ogYsMY276GVq1ahaioKDz77LOtFKXxjG1fQkICoqKiGv1XU1PTBlG3jCn3Li8vD6+++ioGDx6MmJgYjBs3Dtu2bWvliA1jTPtOnz7d5H2LiorCvffe20aRt4yx96+4uBhvvvkmRowYgdjYWEyYMAE//PBDG0SsYddmV6I7Ki0txeOPP47Q0FB89tlnyMvLw/vvv4/q6mq8+eabdzz2q6++wpIlS/DKK68gKioK3333HZ566ils3boVISEhbdSCOzOlfVu3bgUADB8+HFu2bGmDaA1nbPsuXbqEvXv34sEHH0Tv3r1RXFyML774AlOmTMGOHTvg7e3dhq1onin3r66uDk888QRCQ0NRU1ODDRs2YMaMGVi9ejX69+/fRi24M1Pap1VQUIClS5eiQ4cOrRyt4Uxt39ixY/HUU0/pbXNwcGitcA1iStvy8/Mxbdo0hIWF4Z133oGbmxuSkpIMTpxbk7Ht69mzJ9auXau3rby8HH//+98RHx/f2mG3mCn3b86cOUhNTcXcuXMREBCAI0eO4K233oJMJsPUqVNbP3iBLMKyZcuE2NhYobi4WLftxx9/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K/H444/j5MmTePTRRzFz5kycO3cOH330kd65amtr8fTTT+P333/HI488gjfffBNTp05FZmam7nexaNEiODg46ObALFq0SO8fHQDMmTMHVVVVeOmllzBlyhQAwBtvvIElS5agR48emD9/PgYMGIDly5c3OTSZkZGBl19+GQkJCZg7dy5KS0sxc+ZMbNu2DQsXLsTEiRMxa9YsXL9+HS+++CLUanWzv8vRo0dj/vz5AIAJEyZg0aJFeO211yw23oYqKipQVFTU6L87JQwNnThxApmZmZg0aRL+9a9/Yfz48di5cydmzJihSxZGjx6NCRMmANB8sdHeU29v7xZdoyUuX74MFxcXTZd/A9oPmrvNibx8+TJ69OgBqVT/7To6OhpVVVVIS0tr9ljtl77bE6gTJ04gPDwchw8fRnx8PPr27YtBgwbhP//5T4vuz82bNwGgyWGZ+fPno1+/foiJicGjjz7a6AtbW7h8+TJCQ0P1PjiBlv3O1Wo1rl692uQ8wejoaFy/fl03L1b7heD2fXv27AmpVKq7jtjnbG2mxnL16lUolcpGxzs4OKB79+5696ul97Ytzsk5UC3g7+8Pd3f3O06GO378OOrq6vDVV181+ebbsWNHxMfHY8mSJYiNjW00f+KVV16Bk5OT7udp06ahc+fO+Pjjj5GTk4PAwEDdazU1NRg3bhyef/55AMBDDz2EBx54ABs2bNB9azl16hQ2bdqERx99FG+88Ybu2Keeekr34ZGdnY3PPvsML774ImbOnKnbZ8yYMXjggQfw/fff621vqbS0NHz33Xe6ceNx48Zh+PDh2LRpE1599dW7Hr99+3YkJibqfh/jx4/H2rVr8frrr8POTv9PNj8/Hx988IFuMu/kyZORkJCAjRs3Yvjw4QCAtWvXIjMzU9ejAgB/+9vfGk0ATklJQVZWFj799FPce++9uu0vvPCC7v/ff//9eOutt+44B6Zbt25YvHix7ucrV65g8+bNmDJlCt59910Amm+T3t7eWLlyJU6dOoXBgwfr/f5+/PFH3UTpLl264Omnn8a//vUv7Nq1S/e34OHhgTfffBO//vorBg0a1Gwsbm5uWLhwIXr06NFkzJYUb0O3J3oNubi43PX4hx9+GE899ZTettjYWMydOxdnz55F//790a1bN/To0QM7duzAqFGjEBwcfNfzGqqgoAAdOnSARCLR2+7j4wNA8zd8t+ObmrPj6+urO76pFcEqlQq7du1CTEwMOnfurPdaRkYGZDIZ5s+fr/sCsmfPHnzxxRdQqVR4+eWXm42npKQE69evR//+/XUxAIC9vT3Gjh2L+Ph4eHl5ISUlBStWrMD06dPx448/okePHndspzkVFBTofr8NteR3XlJSgtra2rse7+bmhoKCAshkMnTo0EFvPwcHB3h6euquI/Y5W5upsRQUFACA3t9Tw+PPnj2rt29L7m1bnJM9UC3k4uLS5Mx9Le3k0/3797f4G3ZDDZOnyspKFBUVoU+fPhAEoclhj4ceekjv5379+ukNO+zZswcSiUTvw19L+0a+d+9eqNVqjBs3Tu8bfseOHdG5c2e9oS1DdOnSRe8N39vbG2FhYS1ajXHlyhVcu3ZN1ysAAPfddx+Ki4ub7AF0cXHRSwocHBwQHR2td62jR4/Cz88PiYmJum2Ojo6YOnWq3rm0/7iPHTuGqqqqFrS0aX/729/0ftb2hj355JN627Uf7g17ywDN76/hKrPevXsDAAYPHqyXSGu3m7rixlLjff755/HNN980+m/o0KEtOr7hv6mamhoUFRXpYrh9BVtrqq6ubnKhhaOjo+51Y47XbqupqWnyuJMnT+LmzZuNep8AzXtMaWkpZs2ahTlz5mDs2LFYvHgxhg0bdseVx2q1Gq+88opuVWBDffv2xZIlSzB58mQkJiZixowZWLduHSQSiV6Cbgi1Wt1kD2RdXV2j7XV1dbrjTPmda3+fdzpeu091dTXs7e2bPI+jo6PuOmKf0xC1tbWNfrdqtRpVVVWNtmuZGou2Tc0d3/B+tfTetsU52QPVQpWVlY2+ETQ0fvx4rF+/Hm+88QYWL16MIUOGYPTo0bj33nsbdb03JScnB0uWLMGBAwdQWlqq99rtb2aOjo6Nerk8PDz0jrt+/Tp8fX3h6enZ7DXT09MhCILe3IqGbu/taamAgIBG226Prznbtm2Di4sLQkJCkJGRAUDT3qCgIGzfvh0jRozQ29/f37/RN3sPDw9cvXpV93N2djY6derUaL/bVwaFhITgySefxDfffIPt27ejf//+SEhIwF/+8he4u7vfNXat23sxsrOzIZVKG13Px8cHcrkc2dnZettv//1pr+3v76+3XZvwGTvUaunxRkZG4p577mm0veFcxDspKSnB559/jp07d6KwsFDvNe2cNnPSfjvVcnd3h5OTE5ycnJocdtR+oDRM9JrS3PHabdo3+dtt374dMpkM48ePb/KclZWVel9UAM0w79GjR3H58mXd9IKG3nnnHRw9ehQffPCB3qrk5nTu3BmJiYnYs2cPVCoVZDLZXY9pKCcnR++LT0NDhgzR+3n16tW6nk1Tfufa3+edjtfu4+TkpJe43b6v9jpin9MQO3bs0A37N7RixQqsWLFCb5v2fdbUWLRtau74hverpfe2Lc7JBKoFcnNzUVZWdseluE5OTvjuu+9w+vRpHDp0CEePHsXOnTuxdu1arFy58o5vHCqVCk8++aRuPk94eDhcXFyQl5eHefPmNerRMvRNqDlqtRoSiQRfffVVk+dsyTBJU4yNTxAE/PTTT6isrGzyTb+oqAgVFRVwdXU1+VrNmTdvHh544AHs378fx48fx7vvvovly5dj3bp1jRKC5jT3RnF7Atec5trU3PamJv8awtribakXX3wR586dw9NPP43u3bvDxcUFarUazzzzTKvEcHvP2MKFCzFp0iT4+Pjg9OnTEARB73d6pyGGhnx8fBolZ8CtYYWmjq+ursbevXsxZMgQdOzYsdHrvr6+SE9Pb/Sa9otZU192Pv/8c3z//fd4+eWXW1z/CtAk0nV1daiqqjJ4OMnHxwfffPON3rYVK1agoKBAt3hDq2FC5+Pjg7y8vEbna8nv3NPTEw4ODk3+zm8/3sfHByqVCoWFhXpfsGtra1FSUqLbT+xzGmLo0KGNfuf/7//9P8TFxTV7302N5U5DqwUFBXrHtvTetsU5mUC1wNatWwE0foO8nVQqxZAhQzBkyBDMnz8fy5YtwyeffILTp0/jnnvuafYD6dq1a0hPT9ebywPAoKJvt+vUqROOHTuGkpKSZnuhOnXqBEEQEBwcjLCwMKOvZS6//PILcnNzMXv27EYTbrVDBvv27TOo/g4ABAUFITk5udEH2PXr15vcX7sS67nnntMVTPvhhx+MrkUVFBQEtVqNjIwMvXbdvHkTCoWi0SonsVlbvE0pLS3FyZMnMWvWLL1h7PT09Eb7tjRRvJvbP3S6dOkCAOjevTvWr1+PlJQU3TYAusUcd6sJ161bN5w9exZqtVqvN/vChQtwdnZu8t/ugQMHUFFR0eTwHaCZkJyeno68vDyEhITotms/GG7v4f7uu+/w2Wef4fHHHze4/l1WVhYcHR2N+kLm6OjYqBdy27ZtqK2tbbJ3Uqtbt244ffo0ysvL9ZK2lvzOpVIpIiMjcfHixUavXbhwASEhIbpzas9z8eJF3ZxL7c9qtVqX1Il9TkP4+vo2SnYcHR0REhLS7O/c1FgiIyNhZ2eHixcv6n15rq2txeXLlzFu3Djdtpbe27Y4J+dA3cXJkyfx3//+F8HBwfjLX/7S7H4lJSWNtml/6druPmdnZwCNhzC0b4oNvxULgoDVq1cbHfeYMWMgCAI+//zzRq9przNmzBjIZDJ8/vnnjb6RC4Kgt9y7LWiH75555hnce++9ev9NnToVoaGhza7Gu5OhQ4ciLy8P+/fv122rqanBunXr9PZraul1ZGQkpFKpXveui4uLQcNm2jfBb7/9Vm+79gO34ZukJbC2eJvSXO/X7W0Cbv27NHVY75577tH7T/shlJiYCHt7e3z//fe6fQVBwI8//gg/Pz+9+WP5+flISUnRG8K59957cfPmTezZs0e3raioCLt378bIkSObnLuxfft2ODs7Y/To0U3Gqv1A2bBhg26bWq3Gpk2b4OnpqbdyaefOnXj33XcxceLEJod2GsZ0uytXruDAgQOIi4tr0VQGc7n33nuhUqn0VibX1tZi06ZN6N27t96wc05OTqOnHYwdOxZ//PGH3grC1NRUnDp1Sm+ByeDBg+Hp6YkffvhB7/gffvgBzs7OelMOxDxnWzAklpSUFOTk5Oh+dnd3x5AhQ7Bt2za9KStbt25FZWWl3vEtvbdtcU72QDVw5MgRpKamQqVS4ebNmzh9+jSOHz+OwMBAfPHFF3ccw126dCnOnDmD4cOHIygoCIWFhfj+++/h7++Pfv36AdD0+Mjlcvz4449wdXWFi4sLYmJiEB4ejk6dOuGDDz5AXl4e3Nzc8PPPP5s0t2Xw4MG4//77sWbNGmRkZGDYsGFQq9U4e/YsBg0ahEceeQSdOnXCiy++iMWLFyM7OxujRo2Cq6srsrKysG/fPkydOhVPP/200TEYora2Fnv27ME999zT7O85ISEBq1evbtS1fTfTpk3D//73P7z88st47LHH4OPjg+3bt+uuo+2BOHXqFN5++23ce++9CA0NhUqlwtatWyGTyTB27Fjd+Xr27ImTJ0/im2++ga+vL4KDg3WTk5vSrVs3PPDAA1i7di0UCgUGDBiAP/74A5s3b8aoUaP0VrRZAmuLtylubm4YMGAAvv76a9TV1cHPzw/Hjx9vsr5Tz549AWiqhY8fPx729vYYOXKk0UPYt/P398djjz2GFStWQKlUIjo6Gvv27cOZM2fw0Ucf6SV7H3/8MTZv3oz9+/fr5qaNHTsWsbGxmD9/PpKTk+Hl5YUffvgBKpUKs2bNanS9kpISHD16FGPGjNEb7m4oMTERQ4YMwfLly1FcXIyoqCjs378fZ8+exdtvv61Lyi5cuIB//vOf8PT01H1wNNS3b19dD9aLL74IJycn9OnTBx06dEBycjLWrVsHJycnvPLKK3rHffbZZ/j888/15i2ZU+/evXHvvffi448/RmFhITp37ozNmzcjOzsb7733nt6+r776Kn755Re9eZMPP/ww1q9fj2effRZPPfUU7OzssGrVKnTo0EFvZaeTkxNmz56Nt99+G7Nnz8awYcNw5swZ3dMTGvb+i3lOQFM37/Z2mpMhsYwfPx4DBw7UezzNSy+9hL/97W949NFHMXXqVOTm5uoWjcTHx+v2M+TetvY5mUA1sGTJEgCa5bienp6IjIzEa6+9hkmTJt21KzQhIQHZ2dnYuHEjiouL4eXlhYEDB2LWrFm6SbX29vZ4//338fHHH+Ott96CUqnUzZNYtmyZbr6No6MjRo8ejenTpxs8XNXQwoULERUVhQ0bNmDRokVwd3dHr1699L7xzpgxA6GhoVi1ahWWLl0KQPOGHxcXpyu42BYOHToEhUKhK/rYlJEjR2LlypX46aef8Nhjj7X43K6urvj222/x7rvvYvXq1XBxccFf//pX9OnTB7NmzdIlUlFRURg6dCgOHjyIvLw8ODs7IyoqCl999RViY2N155s3bx7efPNN/Oc//0F1dTUeeOCBOyZQAPDuu+8iODgYmzdvxr59+9CxY0c8++yzTa6StATWFm9TFi9ejHfeeQfff/89BEFAXFwcvvrqKwwbNkxvv5iYGMyZMwc//vgjjh49CrVajf3795stgQI0ZUo8PDywdu1a3eNXPvzww2aH2BqSyWT48ssvsWjRIqxZswY1NTWIjo7GwoULER4e3mj/3bt3o66urtEE8YYkEgmWLl2K//znP9i1axc2bdqEsLAwfPjhh3o97cnJyboVb02VlVi4cKEugRo1ahS2b9+OVatWoby8HF5eXhg9ejReeOGFRmUUKisrIZFImpyfZS6LFi3Cf/7zH2zbtg2lpaWIiorCsmXLmpwcfzs3NzesWbMGCxYswBdffAG1Wo1BgwZh/vz5jYY3p0+fDnt7e6xcuRIHDhxAQEAA5s+fj8cff9yizllRUdHkUn1zMSSWpvTs2RPffPMNPvroIyxcuBCurq6YPHky5s6d22jflt7b1j6nRGirGZ1EFmbVqlVYuHAhjhw5Aj8/P7HDISuRkJCA2NhYvPHGG3BycjJrotVeTJ48GYGBgbovrdS6ysvLMWjQILz22muYPn262OHYDM6Bonbh9rovNTU1WLt2LUJDQ5k8kcF++uknDBkypFE1e7q78vJyXLlyRfcYGWp9Z86cgZ+fn+5JA2Qe7IGiduGZZ55BYGAgunXrhvLycmzbtg1JSUn46KOPWjSMQqR19uxZXX0Yf3//JofRiMj2MYGidmHVqlXYsGEDsrOzoVKp0KVLFzzzzDNN1psiIiK6GyZQRERERAbiHCgiIiIiAzGBIiIiIjIQEygiIiIiAzGBIiIiIjIQEygiIiIiAzGBIiIiIjIQEygiIiIiAzGBIiIiIjIQEygiIiIiA/1/jF+fKD03chgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "density.plot_line(0, 1);" ] }, { "cell_type": "markdown", "id": "187a158c", "metadata": {}, "source": [ "Great! If we have a netcdf file and AbiPy, we don't need to use `cut3d` to extract the data from the file\n", "and we can do simple plots with matplotlib.\n", "Unfortunately, $n(r)$ is a 3D object and the notebook is not the most suitable tool to visualize this kind of dataset.\n", "Fortunately there are several graphical applications to visualize 3D fields in crystalline environments\n", "and AbiPy provides tools to export the data from netcdf to the text format supported by the external graphical tool.\n", "\n", "For example, one can use:" ] }, { "cell_type": "code", "execution_count": 31, "id": "5f2ed7a5", "metadata": {}, "outputs": [], "source": [ "#density.visualize(\"vesta\")" ] }, { "cell_type": "markdown", "id": "0e39079c", "metadata": {}, "source": [ "to visualize density isosurfaces of our system:\n", "\n", "![](https://github.com/abinit/abipy_assets/blob/master/h2_density.png?raw=true)" ] }, { "cell_type": "markdown", "id": "d3898611", "metadata": {}, "source": [ "## Conclusions\n", "\n", "To summarize, we learned how to define python functions that can be used to generate many input files easily.\n", "We briefly discussed how to use these inputs to build a basic AbiPy flow without dependencies.\n", "More importantly, we showed that AbiPy provides several tools that can be used to inspect and analyze\n", "the results without having to pass necessarily through the creation and execution of the `Flow`.\n", "Last but not least, we discussed how to use `robots` to collect results from the output files and store\n", "them in pandas DataFrames.\n", "\n", "AbiPy users are **strongly recommended** to familiarize themself with this kind of interface before\n", "moving to more advanced features such as the flow execution that requires a good understanding of the python language.\n", "As a matter of fact, we decided to write AbiPy in python not for efficiency reasons (actually python\n", "is usually slower that Fortran/C) but because there are tons of libraries for scientific applications\n", "(numpy, scipy, pandas, matplotlib, jupyter, etc).\n", "If you learn to use these great libraries for your work you can really boost your productivity and save a lot of time." ] }, { "cell_type": "markdown", "id": "7cfe274c", "metadata": {}, "source": [ "A logical next lesson would be the the tutorial about the\n", "[ground-state properties of silicon](../base3/lesson_base3)" ] } ], "metadata": { "jupytext": { "text_representation": { "extension": ".md", "format_name": "myst", "format_version": 0.13, "jupytext_version": "1.10.3" } }, "kernelspec": { "display_name": "Python 3", "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.12.2" }, "source_map": [ 12, 56, 71, 80, 83, 88, 91, 96, 98, 105, 110, 112, 116, 118, 122, 128, 131, 136, 139, 146, 158, 173, 181, 184, 188, 190, 194, 196, 200, 202, 206, 208, 220, 235, 244, 247, 274, 288, 291, 296, 298, 302, 304, 308, 310, 332, 334, 338, 359, 363, 365, 369, 371, 377, 379, 383, 385, 390, 392, 396, 398, 424, 428, 434, 436, 446, 448, 454, 472 ] }, "nbformat": 4, "nbformat_minor": 5 }