3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-22 12:23:41 +01:00

[doc] Make doc around .indmftpr clear (issue #122)

This commit is contained in:
Manuel 2019-08-26 13:16:44 -04:00
parent 9839dcdf9e
commit 2d491050cc
4 changed files with 21 additions and 37 deletions

View File

@ -26,21 +26,20 @@ The orbital construction itself is done by the Fortran program
:download:`TutorialDmftproj.pdf <images_scripts/TutorialDmftproj.pdf>`. :download:`TutorialDmftproj.pdf <images_scripts/TutorialDmftproj.pdf>`.
Here we will only describe the basic steps. Here we will only describe the basic steps.
Let us take the compound SrVO3, a commonly used In the following, we use SrVO3 as an example to explain the
example for DFT+DMFT calculations. The input file for input file :file:`case.indmftpr` for :program:`dmftproj`.
:program:`dmftproj` looks like A full tutorial on SrVO3 is available in the :ref:`SrVO3 tutorial <SrVO3>`.
.. literalinclude:: images_scripts/SrVO3.indmftpr .. literalinclude:: ../tutorials/images_scripts/SrVO3.indmftpr
The first three lines give the number of inequivalent sites, their The first three lines give the number of inequivalent sites, their
multiplicity (to be in accordance with the Wien2k *struct* file) and multiplicity (to be in accordance with the Wien2k *struct* file) and
the maximum orbital quantum number :math:`l_{max}`. In our case our the maximum orbital quantum number :math:`l_{max}`. In our case our
struct file contains the atoms in the order Sr, V, O. struct file contains the atoms in the order Sr, V, O.
Next we have to Next we have to specify for each of the inequivalent sites, whether
specify for each of the inequivalent sites, whether we want to treat we want to treat their orbitals as correlated or not. This information
their orbitals as correlated or not. This information is given by the is given by the following 3 to 5 lines:
following 3 to 5 lines:
#. We specify which basis set is used (complex or cubic #. We specify which basis set is used (complex or cubic
harmonics). harmonics).
@ -73,7 +72,7 @@ The last line gives the energy window, relative to the Fermi energy,
that is used for the projective Wannier functions. Note that, in that is used for the projective Wannier functions. Note that, in
accordance with Wien2k, we give energies in Rydberg units! accordance with Wien2k, we give energies in Rydberg units!
After setting up this input file, you run: After setting up the :file:`case.indmftpr` input file, you run:
`dmftproj` `dmftproj`
@ -102,10 +101,9 @@ use the python module :class:`Wien2kConverter <dft.converters.wien2k_converter.W
The only necessary parameter to this construction is the parameter `filename`. The only necessary parameter to this construction is the parameter `filename`.
It has to be the root of the files produces by dmftproj. For our It has to be the root of the files produces by dmftproj. For our
example, the :program:`Wien2k` naming convention is that all files are example, the :program:`Wien2k` naming convention is that all files have the
called the same, for instance same name, but different extensions, :file:`case.*`. The constructor opens
:file:`SrVO3.*`, so you would give `filename = "SrVO3"`. The constructor opens an hdf5 archive, named :file:`case.h5`, where all relevant data will be
an hdf5 archive, named :file:`case.h5`, where all the data is
stored. For other parameters of the constructor please visit the stored. For other parameters of the constructor please visit the
:ref:`refconverters` section of the reference manual. :ref:`refconverters` section of the reference manual.
@ -116,8 +114,7 @@ text files to the hdf5 archive by::
This reads all the data, and stores it in the file :file:`case.h5`. This reads all the data, and stores it in the file :file:`case.h5`.
In this step, the files :file:`case.ctqmcout` and In this step, the files :file:`case.ctqmcout` and
:file:`case.symqmc` :file:`case.symqmc` have to be present in the working directory.
have to be present in the working directory.
After this step, all the necessary information for the DMFT loop is After this step, all the necessary information for the DMFT loop is
stored in the hdf5 archive, where the string variable stored in the hdf5 archive, where the string variable

View File

@ -1,17 +0,0 @@
3 ! Nsort
1 1 3 ! Mult(Nsort)
3 ! lmax
complex ! choice of angular harmonics
1 0 0 0 ! l included for each sort
0 0 0 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0)
cubic ! choice of angular harmonics
1 1 2 0 ! l included for each sort
0 0 2 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0)
01 !
0 ! SO flag
complex ! choice of angular harmonics
1 1 0 0 ! l included for each sort
0 0 0 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0)
-0.11 0.14

View File

@ -35,11 +35,14 @@ This is setting up a non-magnetic calculation, using the LDA and 5000 k-points i
Wannier orbitals Wannier orbitals
---------------- ----------------
As a next step, we calculate localised orbitals for the t2g orbitals. We use the same input file for :program:`dmftproj` as it was used in the :ref:`documentation`: As a next step, we calculate localised orbitals for the t2g orbitals with :program:`dmftproj`.
We create the following input file, :file:`SrVO3.indmftpr`
.. literalinclude:: images_scripts/SrVO3.indmftpr .. literalinclude:: images_scripts/SrVO3.indmftpr
To prepare the input data for :program:`dmftproj` we execute lapw2 with the `-almd` option :: Details on this input file and how to use :program:`dmftproj` are described :ref:`here <convWien2k>`.
To prepare the input data for :program:`dmftproj` we first execute lapw2 with the `-almd` option ::
x lapw2 -almd x lapw2 -almd
@ -48,7 +51,8 @@ Then :program:`dmftproj` is executed in its default mode (i.e. without spin-pol
dmftproj dmftproj
This program produces the necessary files for the conversion to the hdf5 file structure. This is done using This program produces the necessary files for the conversion to the hdf5 file structure. This is done using
the python module :class:`Wien2kConverter <dft.converters.wien2k_converter.Wien2kConverter>`. A simple python script that initialises the converter is:: the python module :class:`Wien2kConverter <dft.converters.wien2k_converter.Wien2kConverter>`.
A simple python script that initialises the converter is::
from triqs_dft_tools.converters.wien2k_converter import * from triqs_dft_tools.converters.wien2k_converter import *
Converter = Wien2kConverter(filename = "SrVO3") Converter = Wien2kConverter(filename = "SrVO3")