mirror of
https://github.com/triqs/dft_tools
synced 2024-12-26 22:33:48 +01:00
Updated documentation of the hk converter
This commit is contained in:
parent
d419f1a37d
commit
c4b4620b36
@ -188,8 +188,8 @@ A general H(k)
|
|||||||
In addition to the more complicated Wien2k converter,
|
In addition to the more complicated Wien2k converter,
|
||||||
:program:`DFTTools` contains also a light converter. It takes only
|
:program:`DFTTools` contains also a light converter. It takes only
|
||||||
one inputfile, and creates the necessary hdf outputfile for
|
one inputfile, and creates the necessary hdf outputfile for
|
||||||
the DMFT calculation. The header of this input file has to have the
|
the DMFT calculation. The header of this input file has a defined
|
||||||
following format:
|
format, an example is the following:
|
||||||
|
|
||||||
.. literalinclude:: images_scripts/case.hk
|
.. literalinclude:: images_scripts/case.hk
|
||||||
|
|
||||||
@ -197,10 +197,64 @@ The lines of this header define
|
|||||||
|
|
||||||
#. Number of :math:`\mathbf{k}`-points used in the calculation
|
#. Number of :math:`\mathbf{k}`-points used in the calculation
|
||||||
#. Electron density for setting the chemical potential
|
#. Electron density for setting the chemical potential
|
||||||
#. Number of correlated atoms in the unit cell
|
#. Number of total atomic shells in the hamiltonian matrix. In short,
|
||||||
#. The next line contains four numbers: index of the atom, index
|
this gives the number of lines described in the following. IN the
|
||||||
of the correlated shell, :math:`l` quantum number, dimension
|
example file give above this number is 2.
|
||||||
of this shell. Repeat this line for each correlated atom.
|
#. The next line(s) contain four numbers each: index of the atom, index
|
||||||
|
of the equivalent shell, :math:`l` quantum number, dimension
|
||||||
|
of this shell. Repeat this line for each atomic shell, the number
|
||||||
|
of the shells is given in the previous line.
|
||||||
|
|
||||||
|
In the example input file given above, we have two inequivalent
|
||||||
|
atomic shells, one on atom number 1 with a full d-shell (dimension 5),
|
||||||
|
and one on atom number 2 with one p-shell (dimension 3).
|
||||||
|
|
||||||
|
Other examples for these lines are:
|
||||||
|
|
||||||
|
#. Full d-shell in a material with only one correlated atom in the
|
||||||
|
unit cell (e.g. SrVO3). One line is sufficient and the numbers
|
||||||
|
are `1 1 2 5`.
|
||||||
|
#. Full d-shell in a material with two equivalent atoms in the unit
|
||||||
|
cell (e.g. FeSe): You need two lines, one for each equivalent
|
||||||
|
atom. First line is `1 1 2 5`, and the second line is
|
||||||
|
`2 1 2 5`. The only difference is the first number, which tells on
|
||||||
|
which atom the shell is located. The second number is the
|
||||||
|
same in both lines, meaning that both atoms are equivalent.
|
||||||
|
#. t2g orbitals on two non-equivalent atoms in the unit cell: Two
|
||||||
|
lines again. First line is `1 1 2 3`, second line `2 2 2 3`. The
|
||||||
|
difference to the case above is that now also the second number
|
||||||
|
differs. Therefore, the two shells are treated independently in
|
||||||
|
the calculation.
|
||||||
|
#. d-p Hamiltonian in a system with two equivalent atoms each in
|
||||||
|
the unit cell (e.g. FeSe has two Fe and two Se in the unit
|
||||||
|
cell). You need for lines. First line `1 1 2 5`, second
|
||||||
|
line
|
||||||
|
`2 1 2 5`. These two lines specify Fe as in the case above. For the p
|
||||||
|
orbitals you need line three as `3 2 1 3` and line four
|
||||||
|
as `4 2 1 3`. We have 4 atoms, since the first number runs from 1 to 4,
|
||||||
|
but only two inequivalent atoms, since the second number runs
|
||||||
|
only form 1 to 2.
|
||||||
|
|
||||||
|
Note that the total dimension of the hamiltonian matrices that are
|
||||||
|
read in is the sum of all shell dimensions that you specified. For
|
||||||
|
example number 4 given above we have a dimension of 5+5+3+3=16. It is important
|
||||||
|
that the order of the shells that you give here must be the same as
|
||||||
|
the order of the orbitals in the hamiltonian matrix. In the last
|
||||||
|
example case above the code assumes that matrix index 1 to 5
|
||||||
|
belongs to the first d shell, 6 to 10 to the second, 11 to 13 to
|
||||||
|
the first p shell, and 14 to 16 the second p shell.
|
||||||
|
|
||||||
|
#. Number of correlated shells in the hamiltonian matrix, in the same
|
||||||
|
spirit as line 3.
|
||||||
|
|
||||||
|
#. The next line(s) contain six numbers: index of the atom, index
|
||||||
|
of the equivalent shell, :math:`l` quantum number, dimension
|
||||||
|
of the correlated shells, a spin-orbit parameter, and another
|
||||||
|
parameter defining interactions. Note that the latter two
|
||||||
|
parameters are not used at the moment in the code, and only kept
|
||||||
|
for compatibility reasons. In our example file we use only the
|
||||||
|
d-shell as correlated, that is why we have only one line here.
|
||||||
|
|
||||||
#. The last line contains several numbers: the number of irreducible
|
#. The last line contains several numbers: the number of irreducible
|
||||||
representations, and then the dimensions of the irreps. One
|
representations, and then the dimensions of the irreps. One
|
||||||
possibility is as the example above, another one would be 2
|
possibility is as the example above, another one would be 2
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
64 ! number of k-points
|
64 ! number of k-points
|
||||||
1.0 ! Electron density
|
1.0 ! Electron density
|
||||||
1 ! number of correlated atoms
|
2 ! number of total atomic shells
|
||||||
1 1 2 5 ! iatom, isort, l, dimension
|
1 1 2 5 ! iatom, isort, l, dimension
|
||||||
1 5 ! # of ireps, dimension of irep
|
2 2 1 3 ! iatom, isort, l, dimension
|
||||||
|
1 ! number of correlated shells
|
||||||
|
1 1 2 5 0 0 ! iatom, isort, l, dimension, SO, irep
|
||||||
|
1 5 ! # of ireps, dimension of irep
|
||||||
|
@ -121,7 +121,7 @@ class HkConverter(ConverterTools):
|
|||||||
# corresponds to index R in formulas
|
# corresponds to index R in formulas
|
||||||
# now read the information about the shells (atom, sort, l, dim, SO
|
# now read the information about the shells (atom, sort, l, dim, SO
|
||||||
# flag, irep):
|
# flag, irep):
|
||||||
corr_shell_entries = ['atom', 'sort', 'l', 'dim', 'SO', 'irep']
|
corr_shell_entries = ['atom', 'sort', 'l', 'dim','SO','irep']
|
||||||
corr_shells = [{name: int(val) for name, val in zip(
|
corr_shells = [{name: int(val) for name, val in zip(
|
||||||
corr_shell_entries, R)} for icrsh in range(n_corr_shells)]
|
corr_shell_entries, R)} for icrsh in range(n_corr_shells)]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user