3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-22 12:23:41 +01:00

small changes in doc

This commit is contained in:
Leonid Pourovskii 2014-03-31 19:17:05 +02:00
parent 243c40899e
commit 17ab0227d1
4 changed files with 15 additions and 14 deletions

View File

@ -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::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -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

View File

@ -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