mirror of
https://github.com/triqs/dft_tools
synced 2024-12-22 04:13:47 +01:00
small changes in doc
This commit is contained in:
parent
243c40899e
commit
17ab0227d1
@ -142,12 +142,12 @@ where `-qdmft` flag turns on LDA+DMFT calculations with :program:`Wien2k`. We us
|
|||||||
After calculations are done we may check the value of correlational ('Hubbard') energy correction to the total energy::
|
After calculations are done we may check the value of correlational ('Hubbard') energy correction to the total energy::
|
||||||
|
|
||||||
>grep HUBBARD Ce-gamma.scf|tail -n 1
|
>grep HUBBARD Ce-gamma.scf|tail -n 1
|
||||||
HUBBARD ENERGY(included in SUM OF EIGENVALUES): -0.012875
|
HUBBARD ENERGY(included in SUM OF EIGENVALUES): -0.220501
|
||||||
|
|
||||||
and the band("kinetic") energy with DMFT correction::
|
and the band("kinetic") energy with DMFT correction::
|
||||||
|
|
||||||
>grep DMFT Ce-gamma.scf |tail -n 1
|
>grep DMFT Ce-gamma.scf |tail -n 1
|
||||||
KINETIC ENERGY with DMFT correction: -3.714346
|
KINETIC ENERGY with DMFT correction: -5.337286
|
||||||
|
|
||||||
as well as the convergence in total energy::
|
as well as the convergence in total energy::
|
||||||
|
|
||||||
|
BIN
doc/Ce_DOS.png
BIN
doc/Ce_DOS.png
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 6.3 KiB |
@ -62,8 +62,8 @@ They denerally should be reset for a given problem. Their meaning is as follows:
|
|||||||
|
|
||||||
* `use_matrix`: If `True`, the interaction matrix is calculated from Slater integrals, which are calculated from `U_interact` and
|
* `use_matrix`: If `True`, the interaction matrix is calculated from Slater integrals, which are calculated from `U_interact` and
|
||||||
`J_hund`. Otherwise, a Kanamori representation is used. Attention: We define the intraorbital interaction as
|
`J_hund`. Otherwise, a Kanamori representation is used. Attention: We define the intraorbital interaction as
|
||||||
`U_interact`, the interorbital interaction for opposite spins as `U_interact-2*J_hund`, and interorbital for equal spins as
|
`U_interact+2J_hund`, the interorbital interaction for opposite spins as `U_interact`, and interorbital for equal spins as
|
||||||
`U_interact-3*J_hund`.
|
`U_interact-J_hund`!
|
||||||
* `T`: A matrix that transforms the interaction matrix from spherical harmonics, to a symmetry adapted basis. Only effective, if
|
* `T`: A matrix that transforms the interaction matrix from spherical harmonics, to a symmetry adapted basis. Only effective, if
|
||||||
`use_matrix=True`.
|
`use_matrix=True`.
|
||||||
* `l`: Orbital quantum number. Again, only effective for Slater parametrisation.
|
* `l`: Orbital quantum number. Again, only effective for Slater parametrisation.
|
||||||
@ -80,8 +80,6 @@ They denerally should be reset for a given problem. Their meaning is as follows:
|
|||||||
Most of above parameters can be taken directly from the :class:`SumkLDA` class, without defining them by hand. We will see a specific example
|
Most of above parameters can be taken directly from the :class:`SumkLDA` class, without defining them by hand. We will see a specific example
|
||||||
at the end of this tutorial.
|
at the end of this tutorial.
|
||||||
|
|
||||||
After initialisation, several other CTQMC parameters can be set (see CTQMC doc).
|
|
||||||
|
|
||||||
|
|
||||||
.. index:: LDA+DMFT loop, one-shot calculation
|
.. index:: LDA+DMFT loop, one-shot calculation
|
||||||
|
|
||||||
@ -99,7 +97,9 @@ set up the loop over DMFT iterations and the self-consistency condition::
|
|||||||
S.G <<= SK.extract_G_loc()[0] # extract the local Green function
|
S.G <<= SK.extract_G_loc()[0] # extract the local Green function
|
||||||
S.G0 <<= inverse(S.Sigma + inverse(S.G)) # finally get G0, the input for the Solver
|
S.G0 <<= inverse(S.Sigma + inverse(S.G)) # finally get G0, the input for the Solver
|
||||||
|
|
||||||
S.Solve(U_interact = U, J_hund = J) # now solve the impurity problem
|
S.solve(U_interact,J_hund,use_spinflip=False,use_matrix=True, # now solve the impurity problem
|
||||||
|
l=2,T=None, dim_reps=None, irep=None, deg_orbs=[],n_cycles =10000,
|
||||||
|
length_cycle=200,n_warmup_cycles=1000)
|
||||||
|
|
||||||
dm = S.G.density() # density matrix of the impurity problem
|
dm = S.G.density() # density matrix of the impurity problem
|
||||||
SK.set_dc( dm, U_interact = U, J_hund = J, use_dc_formula = 0) # Set the double counting term
|
SK.set_dc( dm, U_interact = U, J_hund = J, use_dc_formula = 0) # Set the double counting term
|
||||||
|
@ -72,7 +72,7 @@ Most conveniently, it is stored as a real frequency :class:`BlockGf` object in t
|
|||||||
ar['SigmaReFreq'] = Sigma_real
|
ar['SigmaReFreq'] = Sigma_real
|
||||||
del ar
|
del ar
|
||||||
|
|
||||||
You may also store it in text files. If all blocks of your self energy are of dimension 1x1 you store them in `filename_(block)0.dat` files. Here `(block)` is a block name (`up`, `down`, or combined `ud`). In the case when you have matrix blocks, you store them in `(i)_(j).dat` files in the `filename_(block)` directory
|
You may also store it in text files. If all blocks of your self energy are of dimension 1x1 you store them in `fname_(block)0.dat` files. Here `(block)` is a block name (`up`, `down`, or combined `ud`). In the case when you have matrix blocks, you store them in `(i)_(j).dat` files (where `(i)` and `(j)` are the orbital indices) in the `fname_(block)` directory
|
||||||
|
|
||||||
|
|
||||||
This self energy is loaded and put into the :class:`SumkLDA` class by the function::
|
This self energy is loaded and put into the :class:`SumkLDA` class by the function::
|
||||||
@ -81,20 +81,21 @@ This self energy is loaded and put into the :class:`SumkLDA` class by the functi
|
|||||||
|
|
||||||
where:
|
where:
|
||||||
|
|
||||||
* `filename` is the file name of the hdf5 archive file or the `fname` pattern in text files names as described above.
|
* `filename` is the name of the hdf5 archive file or the `fname` pattern in text files names as described above.
|
||||||
* `hdf=True` the real-axis self energy will be read from the hdf5 file, `hdf=False`: from the text files
|
* `hdf=True`: the real-axis self energy will be read from the hdf5 file, `hdf=False`: from the text files
|
||||||
* `hdf_dataset` the name of dataset where the self energy is stored in the hdf5 file
|
* `hdf_dataset` the name of dataset where the self energy is stored in the hdf5 file
|
||||||
* `n_om` number of points in the real-axis mesh (used only if `hdf=False`)
|
* `n_om` number of points in the real-axis mesh (used only if `hdf=False`)
|
||||||
|
|
||||||
|
|
||||||
The chemical potential as well as the double
|
The chemical potential as well as the double
|
||||||
counting correction was already read in the initialisation process.
|
counting correction were already read in the initialisation process.
|
||||||
|
|
||||||
With this self energy, we can do now::
|
With this self energy, we can do now::
|
||||||
|
|
||||||
SK.dos_partial()
|
SK.dos_partial(broadening=broadening)
|
||||||
|
|
||||||
This produces the momentum-integrated spectral functions (density of states, DOS), also orbitally resolved.
|
This produces the momentum-integrated spectral functions (density of states, DOS), also orbitally resolved.
|
||||||
|
The variable `broadening` is an additional Lorentzian broadening that is added to the resulting spectra.
|
||||||
The output is printed into the files
|
The output is printed into the files
|
||||||
|
|
||||||
* `DOScorr(sp).dat`: The total DOS. `(sp)` stands for `up`, `down`, or combined `ud`. The latter case
|
* `DOScorr(sp).dat`: The total DOS. `(sp)` stands for `up`, `down`, or combined `ud`. The latter case
|
||||||
@ -111,7 +112,7 @@ converter routines, see :ref:`interfacetowien`. The spectral function is calcula
|
|||||||
|
|
||||||
SK.spaghettis(broadening)
|
SK.spaghettis(broadening)
|
||||||
|
|
||||||
The variable `broadening`1 is an additional Lorentzian broadening that is added to the resulting spectra. The output is
|
The output is
|
||||||
written as the 3-column files ``Akw(sp).dat``, where `(sp)` has the same meaning as above. The output format is
|
written as the 3-column files ``Akw(sp).dat``, where `(sp)` has the same meaning as above. The output format is
|
||||||
`k`, :math:`\omega`, `value`. Optional parameters are
|
`k`, :math:`\omega`, `value`. Optional parameters are
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user