mirror of
https://github.com/triqs/dft_tools
synced 2024-12-02 10:38:31 +01:00
first version of the SrVO3 tutorial / Wien2k version
This commit is contained in:
parent
9cf4521fec
commit
10018c6aa6
15
doc/tutorials/images_scripts/SrVO3.indmftpr
Normal file
15
doc/tutorials/images_scripts/SrVO3.indmftpr
Normal file
@ -0,0 +1,15 @@
|
||||
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
|
25
doc/tutorials/images_scripts/SrVO3.struct
Normal file
25
doc/tutorials/images_scripts/SrVO3.struct
Normal file
@ -0,0 +1,25 @@
|
||||
SrVO3
|
||||
P LATTICE,NONEQUIV.ATOMS: 3221_Pm-3m
|
||||
MODE OF CALC=RELA unit=bohr
|
||||
7.261300 7.261300 7.261300 90.000000 90.000000 90.000000
|
||||
ATOM 1: X=0.00000000 Y=0.00000000 Z=0.00000000
|
||||
MULT= 1 ISPLIT= 2
|
||||
Sr NPT= 781 R0=0.00001000 RMT= 2.50000 Z: 38.0
|
||||
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
|
||||
0.0000000 1.0000000 0.0000000
|
||||
0.0000000 0.0000000 1.0000000
|
||||
ATOM 2: X=0.50000000 Y=0.50000000 Z=0.50000000
|
||||
MULT= 1 ISPLIT= 2
|
||||
V NPT= 781 R0=0.00005000 RMT= 1.91 Z: 23.0
|
||||
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
|
||||
0.0000000 1.0000000 0.0000000
|
||||
0.0000000 0.0000000 1.0000000
|
||||
ATOM -3: X=0.00000000 Y=0.50000000 Z=0.50000000
|
||||
MULT= 3 ISPLIT=-2
|
||||
-3: X=0.50000000 Y=0.00000000 Z=0.50000000
|
||||
-3: X=0.50000000 Y=0.50000000 Z=0.00000000
|
||||
O NPT= 781 R0=0.00010000 RMT= 1.70 Z: 8.0
|
||||
LOCAL ROT MATRIX: 0.0000000 0.0000000 1.0000000
|
||||
0.0000000 1.0000000 0.0000000
|
||||
-1.0000000 0.0000000 0.0000000
|
||||
0 NUMBER OF SYMMETRY OPERATIONS
|
@ -14,18 +14,67 @@ rotational-invariant Slater interaction Hamiltonian (:download:`dft_dmft_cthyb_s
|
||||
<images_scripts/dft_dmft_cthyb_slater.py>`). The user has to adapt these
|
||||
scripts to his own needs. How to execute your script is described :ref:`here<runpy>`.
|
||||
|
||||
The conversion will now be discussed in detail for the Wien2k and VASP packlages. For more details we refer to the :ref:`documentation <conversion>`.
|
||||
TODO: At the end of this section we also provide hdf5 archives for this example, including data as function of DMFT iterations.
|
||||
|
||||
The conversion will now be discussed in detail for the Wien2k and VASP packages. For more details we refer to the :ref:`documentation <conversion>`.
|
||||
|
||||
|
||||
Wien2k setup and conversion
|
||||
===========================
|
||||
Wien2k
|
||||
======
|
||||
|
||||
TODO
|
||||
DFT setup
|
||||
---------
|
||||
|
||||
VASP setup and conversion
|
||||
=========================
|
||||
First, we do a DFT calculation, using the Wien2k package. As main input file we have to provide the so-called struct file :file:`SrVO3.struct`. We use the following:
|
||||
|
||||
.. literalinclude:: images_scripts/SrVO3.struct
|
||||
|
||||
Instead of going through the whole initialisation process, we can use ::
|
||||
|
||||
init -b -vxc 5 -numk 5000
|
||||
|
||||
This is setting up a non-magnetic calculation, using the LDA and 5000 k-points in the full Brillouin zone. As usual, we start the DFT self consistent cycle by the Wien2k script ::
|
||||
|
||||
run
|
||||
|
||||
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`:
|
||||
|
||||
.. literalinclude:: images_scripts/SrVO3.indmftpr
|
||||
|
||||
To prepare the input data for :program:`dmftproj` we 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) ::
|
||||
|
||||
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::
|
||||
|
||||
from triqs_dft_tools.converters.wien2k_converter import *
|
||||
Converter = Wien2kConverter(filename = "SrVO3")
|
||||
|
||||
After initializing the interface module, we can now convert the input
|
||||
text files to the hdf5 archive by::
|
||||
|
||||
Converter.convert_dft_input()
|
||||
|
||||
This reads all the data, and stores everything that is necessary for the DMFT calculation in the file :file:`SrVO3.h5`.
|
||||
|
||||
|
||||
VASP
|
||||
====
|
||||
|
||||
DFT setup
|
||||
---------
|
||||
|
||||
Wannier orbitals
|
||||
----------------
|
||||
|
||||
TODO
|
||||
|
||||
The DMFT calculation
|
||||
====================
|
||||
@ -237,3 +286,9 @@ of the self energy and to stop (:emphasis:`fit_max_n`) before the noise fully ta
|
||||
If it is difficult to find a reasonable fit in this region you should increase
|
||||
your statistics (number of measurements). Keep in mind that :emphasis:`fit_min_n`
|
||||
and :emphasis:`fit_max_n` also depend on :math:`\beta`.
|
||||
|
||||
Data for benchmark / comparison
|
||||
-------------------------------
|
||||
|
||||
TODO: We should provide two h5 files, one fore Wien2k and one for VASP, with selfs for, say, 15 DMFT iterations. Then people can check what they are doing.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user