{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basics of BigDFT: first runs and managing different calculations, N2 molecule as example\n", "\n", "With this lesson you will have to deal with some of the outputs of BigDFT code, such as to learn how to manipulate basic DFT objects from a python script.\n", "BigDFT can be also run in \"traditional\" way, i.e. with input and output files. \n", "We will here employ python commands to show how the I/O files of BigDFT can be handled\n", "by simple scripting techniques. \n", "\n", "First you need to have the correct environment variables: the script \"bigdftvars.sh\" from the install/bin directory of bigdft has to be sourced (\"source bigdftvars.sh\") before doing this tutorial and load the module python *BigDFT*. See [this page](http://bigdft.org/Wiki/index.php?title=Prepare_the_environment) for more information." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from BigDFT import Calculators as calc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The main executable of the BigDFT suite is *bigdft*.\n", "\n", "## Atomic position file: 'posinp.xyz'\n", "\n", "A simple file with the position of atoms is enough to run bigdft performing a single-point calculation (calculating the ground state energy of the system). \n", "Consider for example the N2 molecule, given by the posinp.xyz file:\n", "
\n",
    "2 angstroem\n",
    "free\n",
    "N 0. 0. 0.\n",
    "N 0. 0. 1.11499
\n", "Copy it into the current directory." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initialize a Calculator with OMP_NUM_THREADS=2 and command /local/binaries/gfortran-fpe-1.8/install/bin/bigdft\n", "Creating the yaml input file \"input.yaml\"\n", "Executing command: /local/binaries/gfortran-fpe-1.8/install/bin/bigdft\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "study = calc.SystemCalculator() #Create a calculator\n", "study.run() #run the code" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `run()` method of the `BigDFT.Calculators.SystemCalculator` class shows in the standard output which is the \n", "command that is invoked.\n", "Then, an instance of the `Logfile` class is returned.\n", "Such class can be used (we will see after) to extract the information about the electronic structure of the system.\n", "\n", "In the disk, after that the run is performed, different files are created:\n", "* [input_minimal.yaml](./input_minimal) which contains the minimal set of input variables to perform the run;\n", "* [log.yaml](./log.yaml) which contains the log of the run with all calculated quantities;\n", "* [time.yaml](./time.yaml) and [forces_posinp.xyz](./forces_posinp.xyz) which we will see later.\n", "\n", "For its I/O, `bigdft` uses the [yaml](http://www.yaml.org/spec) format. \n", "If you look at the [input_minimal.yaml](./input_minimal) file, you can see:\n", "
\n",
    "  #---------------------------------------------------------------------- Minimal input file\n",
    "  #This file indicates the minimal set of input variables which has to be given to perform \n",
    "  #the run. The code would produce the same output if this file is used as input.\n",
    " posinp:\n",
    "   units: angstroem\n",
    "   positions:\n",
    "   - N: [0.0, 0.0, 0.0]\n",
    "   - N: [0.0, 0.0, 1.114989995956421]\n",
    "   properties:\n",
    "     format: xyz\n",
    "     source: posinp.xyz
\n", "\n", "In this case, only the atomic positions are indicated using a yaml format.\n", "\n", "In the log file [log.yaml](./log.yaml), BigDFT automatically displays all the input parameters used for the calculations. \n", "\n", "The parameters which were not explicitly given are set to a default value, except the atomic positions of course, which have to be given. As we did not specified input files here, our run is a single-point LDA calculation, without spin-polarisation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using a naming scheme for Input/Output files" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To specify non-default input parameters to the code, we should create a yaml file with a naming prefix. By default, this prefix is *input* (or *posinp.xyz* for atomic input positions). One can choose the naming prefix by providing an argument to bigdft command line.\n", "\n", "However, there is a one-to-one correspondence between a yaml file and a python dictionary. For this reason\n", "we will create the input parameters of this runs from dictionaries. See the useful [yaml online parser](http://yaml-online-parser.appspot.com/) page to understand the correspondence.\n", "\n", "Imagine for example that you are interested in visualizing the wavefunctions output of the calculation. To do that, you should enter the suitable parameters in the .yaml file. \n", "Create a new calculation set by using, for instance, the `LDA` prefix.\n", "Instead of creating a yaml input file *LDA.yaml* by hand, we create a dictionary which will be serialized into yaml by our *SystemCalculator* class." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "inp = {}\n", "inp['dft'] = { 'ixc': 'LDA' }\n", "inp['output'] = { 'orbitals': 'binary' } #this is the parameter that output the orbitals on the disk" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This shows the one-to-one correspondence between the keys of the input file and the ones of the python dictionary.\n", "However, it might be uneasy, especially for beginners, to understand what is the function of each `key -> value`\n", "mapping, and even more importantly, to figure out how to adjust basic parameters like the grid spacing, the XC approximation and so on.\n", "\n", "In order to simplify the procedure, we have prepared the `BigDFT.InputAction` module, which is a collection of functions acting python dictionary equipped with basic methods and actions. For exemple, the above operations might be implmemented by calling methods of this module:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from BigDFT import InputActions as A\n", "inp={}\n", "A.set_xc(inp,'LDA')\n", "A.write_orbitals_on_disk(inp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The wavefunctions will be present at the end of calculation, by indicating the value of the key *orbitals* in the output dictionary." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating the yaml input file \"./LDA.yaml\"\n", "Executing command: /local/binaries/gfortran-fpe-1.8/install/bin/bigdft -n LDA\n" ] } ], "source": [ "#Run the code with the LDA prefix, using a python dictionary (dico) and the file 'posinp.xyz' for the atomic positions.\n", "lda = study.run(name=\"LDA\",input=inp,posinp='posinp.xyz')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can retrieve important informations on the run. See the examples below:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "-19.883483725688038" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lda.energy #this value is in Ha" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[[-1.031892602676,\n", " -0.4970106443181,\n", " -0.4307276296665,\n", " -0.430727289646,\n", " -0.3812107719151]]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lda.evals[0].tolist() # the eigenvalues in Ha ([0] stands for the first K-point, here meaningless)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lda.get_dos().plot() #the density of states" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When using a naming scheme, the output files are placed in a directory called **data-LDA**. In our LDA example, the wavefunctions of the system can thus be found in the **data-LDA** directory:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "time-LDA.yaml\t\t\t wavefunction-k001-NR.bin.b000004\r\n", "wavefunction-k001-NR.bin.b000001 wavefunction-k001-NR.bin.b000005\r\n", "wavefunction-k001-NR.bin.b000002 wavefunction-rhoij.bin\r\n", "wavefunction-k001-NR.bin.b000003\r\n" ] } ], "source": [ "!ls data-LDA" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here 001 means the first K-point (meaningless in this case), N stands for non spin-polarized, R for real part and the remaining number is the orbital ID. Post-processing of these files is done in the another tutorial.\n", "\n", "In the same spirit, another calculation can be done with different parameters. Imagine we want to perform a Hartree-Fock calculation. In BigDFT, this can be done by putting the `ixc` input variable to `HF`. So, we use the same dictionary changing only the *dft* key.\n", "We add also a *posinp* key to indicate what atomic positions file we use (this was done when we indicate posinp='posinp.xyz' into the *run* method)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating the yaml input file \"./HF.yaml\"\n", "Executing command: /local/binaries/gfortran-fpe-1.8/install/bin/bigdft -n HF\n", "ERROR: some problem occured during the execution of the command, check the 'debug/' directory and the logfile\n", "The error occured is BIGDFT_INPUT_FILE_ERROR\n", "Additional Info: The pseudopotential parameter file \"psppar.N\" is lacking, and no registered pseudo found for \"N\"\n" ] } ], "source": [ "A.set_xc(inp,'HF')\n", "A.set_atomic_positions(inp,'posinp.xyz')\n", "hf = study.run(name=\"HF\",input=inp) #Run the code with the name scheme HF" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This time, an error will occur, as we can see above. The same error is specified at the end of the file [log-HF.yaml](./log-HF.yaml)\n", "and also in [debug/bigdft-err-0.yaml](./debug/bigdft-err-0.yaml):\n", "
\n",
    " Additional Info:\n",
    "   The pseudopotential parameter file \"psppar.N\" is lacking, and no registered pseudo found \n",
    "   for \"N\"
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is because the pseudopotential is assigned by default in the code only for LDA and PBE XC approximations. You can find here the pseudopotential which is taken by default in the LDA run. Put it in a psppar.N file, and run the calculation.\n", "Another alternative is to specify the internal PSP that might be used, taking from the default database of BigDFT. This can be done as follows:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating the yaml input file \"./HF.yaml\"\n", "Executing command: /local/binaries/gfortran-fpe-1.8/install/bin/bigdft -n HF\n" ] } ], "source": [ "inp['psppar.N']={'Pseudopotential XC': 1} #here 1 stands for LDA as per the XC codes\n", "hf = study.run(name=\"HF\",input=inp) #Run the code with the name scheme HF" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When possible, care should be taken in choosing a pseudopotential which has been generated with the same XC approximation used. Unfortunately, at present HGH data are only available for semilocal functionals. For example, the same exercise as follows could have been done with Hybrid XC functionals, like for example PBE0 (ixc=-406). See the XC codes for a list of the supported XC functionals. Data of the calculations can be analysed." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating the yaml input file \"./PBE0.yaml\"\n", "Executing command: /local/binaries/gfortran-fpe-1.8/install/bin/bigdft -n PBE0\n" ] } ], "source": [ "A.set_xc(inp,'PBE0')\n", "pbe0 = study.run(name=\"PBE0\",input=inp) #Run the code with the name scheme PBE0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The variables *lda*, *hf*, and *pbe0* contains all information about the calculation. This is a class Logfile which simplify considerably the extraction of parameters of the associated output file *log-LDA.yaml*. If we simply type:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "- Atom types:\n", " - N\n", "- Cell: Free BC\n", "- Convergence criterion on forces: 0.0\n", "- Max val of Forces: 0.05670554140672\n", "- Energy: -19.883483725688038\n", "- Symmetry group: disabled\n", "- fermi_level: -0.3812107719151\n", "- Number of Atoms: 2\n", "- Convergence criterion on Wfn. Residue: 0.0001\n", "- No. of KS orbitals:\n", " - 5\n", "\n" ] } ], "source": [ "from futile.Utils import write\n", "write(lda)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we display some information about the LDA calculation. For instance, we can extract the eigenvalues of the Hamiltonian *i.e.* the DOS (Density of States):" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[[-1.031892602676,\n", " -0.4970106443181,\n", " -0.4307276296665,\n", " -0.430727289646,\n", " -0.3812107719151]]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lda.evals[0].tolist()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*lda.log* is the python dictionary associated to the full output file. \n", "The [tutorial](./Logfiles-Basic.ipynb) explains the basic methods. The following exercise (and its [solution](./Tutorial-N2-solution.ipynb)) gives some clues about it." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "- Atom types:\n", " - N\n", "- Cell: Free BC\n", "- Convergence criterion on forces: 0.0\n", "- Max val of Forces: 0.1001956813857\n", "- Energy: -19.968681994148028\n", "- Symmetry group: disabled\n", "- fermi_level: -0.4502961029675\n", "- Number of Atoms: 2\n", "- Convergence criterion on Wfn. Residue: 0.0001\n", "- No. of KS orbitals:\n", " - 5\n", "\n" ] } ], "source": [ "write(pbe0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "

Exercise

\n", "\n", "Compare the values of the HOMO and HOMO-1 eigenvalues for the LDA and the HF run.\n", "Change the values of the hgrid and crmult to find the converged values.\n", "Note that, both in the LDA and in the HF calculation, a norm-conserving PSP is used.\n", "The results can be compared to all-electron calculations, done with different basis sets, from references (units are eV) \n", "(1) S. Hamel et al. J. Electron Spectrospcopy and Related Phenomena 123 (2002) 345-363 and (2) P. Politzer, F. Abu-Awwad, Theor. Chem. Acc. (1998), 99, 83-87:\n", "\n", "\n", " \n", " \n", " \n", " \n", "
LDA(1) HF(1) HF(2) (Exp.)
g 10.36 17.25 17.31 (15.60)
u 11.84 16.71 17.02 (16.98)
u 13.41 21.25 21.08 (18.78)
\n", " \n", "The results depends, of course, on the precision chosen for the calculation, and of the presence of the pseudopotential.\n", "As it is well-known, the pseudopotential appoximation is however much less severe than the approximation induced by typical XC functionals. We might see that, even in the HF case, the presence of a LDA-based pseudopotential (of rather good quality) does not alter so much the results. Here you can find the values from BigDFT calculation using a very good precision (*hgrid=0.3*, *crmult=7.0*). \n", "Note that 1 ha=27.21138386 eV.\n", " \n", "\n", " \n", " \n", " \n", " \n", "
LDA HF
g 10.40 17.32
u 11.75 16.62
u 13.52 21.30
\n", "\n", "How much do these values differ from the calculation with default parameters? Do they converge to a given value?\n", "What is the *correlation* for the N2 molecule in (PSP) LDA?\n", "\n", "See here the [solution](./Tutorial-N2-solution.ipynb)." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 2 }