.. _nio_csc: DFT and projections ================================================== We will perform charge self-consitent DFT+DMFT calcluations for the charge-transfer insulator NiO. We still start from scratch and provide all necessary input files to do the calculations. VASP setup ------------------------------- We start by running a simple VASP calculation to converge the charge density initially. Use the :ref:`INCAR`, :ref:`POSCAR`, and :ref:`KPOINTS` provided and use your own :file:`POTCAR` file. Let us take a look in the :file:`INCAR`, where we have to specify local orbitals as basis for our many-body calculation. .. literalinclude:: images_scripts/INCAR `LORBIT = 14` takes care of optimizing the projectors in the energy window defined by `EMIN` and `EMAX`. We switch off all symmetries with `ISYM=-1` since symmetries are not implemented in the later DMFT scripts. Finally, we select the relevant orbitals for atom 1 (Ni, d-orbitals) and 2 (O, p-orbitals) by the two `LOCPROJ` lines. For details refer to the VASP wiki on the `LOCPROJ `_ flag. The projectors are stored in the file `LOCPROJ`. plovasp ------------------------------ Next, we postprocess the projectors, which VASP stored in the file `LOCPROJ`. We do this by invoking :program:`plovasp plo.cfg` which is configured by an input file, e.g., named :ref:`plo.cfg`. .. literalinclude:: images_scripts/plo.cfg Here, in `[General]' we set the basename and the grid for calculating the density of states. In `[Group 1]` we define a group of two shells which are orthonormalized with respect to states in an energy window from `-9` to `2` for all ions simultanously (`NORMION = False`). We define the two shells, which correspond to the Ni d states and the O p states. Only the Ni shell is treated as correlated (`CORR = True`), i.e., is supplemented with a Coulomb interaction later in the DMFT calculation. Converting to hdf5 file ------------------------------- We gather the output generated by :program:`plovasp` into a hdf5 archive which :program:`dft_tools` is able to read. We do this by running :program:`python converter.py` on the script :ref:`converter.py`: .. literalinclude:: images_scripts/converter.py Now we are all set to perform a dmft calculation. DMFT ================================================== dmft script ------------------------------ Since the python script for performing the dmft loop pretty much resembles that presented in the tutorial on :ref:`srvo3`, we will not go into detail here but simply provide the script :ref:`nio.py`. Following Kunes et al. in `PRB 75 165115 (2007) `_ we use :math:`U=8` and :math:`J=1`. Here, we use :math:`\beta=5` instead of :math:`\beta=10` to speed up the calculations. Local lattice Green's function for all projected orbitals ---------------------- We calculate the local lattice Green's function - now also for the uncorrelated orbitals, i.e., the O p states. Therefor we use :download:`NiO_local_lattice_GF.py