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:
parent
9839dcdf9e
commit
2d491050cc
@ -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
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
|
|
@ -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")
|
||||||
|
Loading…
Reference in New Issue
Block a user