3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-21 20:03: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>`.
Here we will only describe the basic steps.
Let us take the compound SrVO3, a commonly used
example for DFT+DMFT calculations. The input file for
:program:`dmftproj` looks like
In the following, we use SrVO3 as an example to explain the
input file :file:`case.indmftpr` for :program:`dmftproj`.
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
multiplicity (to be in accordance with the Wien2k *struct* file) and
the maximum orbital quantum number :math:`l_{max}`. In our case our
struct file contains the atoms in the order Sr, V, O.
Next we have to
specify for each of the inequivalent sites, whether we want to treat
their orbitals as correlated or not. This information is given by the
following 3 to 5 lines:
Next we have to specify for each of the inequivalent sites, whether
we want to treat their orbitals as correlated or not. This information
is given by the following 3 to 5 lines:
#. We specify which basis set is used (complex or cubic
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
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`
@ -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`.
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
called the same, for instance
:file:`SrVO3.*`, so you would give `filename = "SrVO3"`. The constructor opens
an hdf5 archive, named :file:`case.h5`, where all the data is
example, the :program:`Wien2k` naming convention is that all files have the
same name, but different extensions, :file:`case.*`. The constructor opens
an hdf5 archive, named :file:`case.h5`, where all relevant data will be
stored. For other parameters of the constructor please visit the
: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`.
In this step, the files :file:`case.ctqmcout` and
:file:`case.symqmc`
have to be present in the working directory.
:file:`case.symqmc` have to be present in the working directory.
After this step, all the necessary information for the DMFT loop is
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

@ -12,4 +12,4 @@ cubic ! choice of angular harmonics
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
-0.11 0.14

View File

@ -35,20 +35,24 @@ This is setting up a non-magnetic calculation, using the LDA and 5000 k-points i
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
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
Then :program:`dmftproj` is executed in its default mode (i.e. without spin-polarization or spin-orbit included) ::
Then :program:`dmftproj` is executed in its default mode (i.e. without spin-polarization or spin-orbit included) ::
dmftproj
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 *
Converter = Wien2kConverter(filename = "SrVO3")