mirror of
https://github.com/triqs/dft_tools
synced 2024-12-23 12:55:17 +01:00
implemented changes requested by @opeil
This commit is contained in:
parent
cf6789fd97
commit
25b76e567e
@ -399,17 +399,19 @@ Another critical point for CSC calculations is the function call of
|
|||||||
purposes, but is called every iteration. Removing the call to this function in `electron.F` in line 644 speeds up the calculation significantly in the `ICHARG=5` mode. Moreover, this prevents VASP from generating the `GAMMA` file, which should ideally only be done by the DMFT code after a successful DMFT step, and then be read by VASP.
|
purposes, but is called every iteration. Removing the call to this function in `electron.F` in line 644 speeds up the calculation significantly in the `ICHARG=5` mode. Moreover, this prevents VASP from generating the `GAMMA` file, which should ideally only be done by the DMFT code after a successful DMFT step, and then be read by VASP.
|
||||||
|
|
||||||
|
|
||||||
Furthermore, there is an bug in `fileio.F` around line 1710 where the code tries
|
Furthermore, there is a bug in `fileio.F` around line 1710 where VASP tries to
|
||||||
print out "reading the density matrix from Gamma", but this should be done only
|
print "reading the density matrix from Gamma". This should be done only by the
|
||||||
by the master node, and VASP gets stuck sometimes. So I added a `IF (IO%IU0>=0)
|
master node, and VASP gets stuck sometimes. Adding a
|
||||||
THEN ... ENDIF` statement. Also, VASP gets sometimes stuck and does not write
|
::
|
||||||
the `OSZICAR` file correctly due to a stuck buffer. I added a flush to the
|
IF (IO%IU0>=0) THEN
|
||||||
buffer to have a correctly written `OSZICAR` to extract the DFT energy. To do
|
...
|
||||||
so, one can add in `electron.F` around line 580 after
|
ENDIF
|
||||||
|
statement resolves this issue. A similar problem occurs, when VASP writes the
|
||||||
|
`OSZICAR` file and a buffer is stuck. Adding a `flush` to the buffer in
|
||||||
|
`electron.F` around line 580 after
|
||||||
::
|
::
|
||||||
CALL STOP_TIMING("G",IO%IU6,"DOS")
|
CALL STOP_TIMING("G",IO%IU6,"DOS")
|
||||||
|
|
||||||
two lines:
|
|
||||||
::
|
|
||||||
flush(17)
|
flush(17)
|
||||||
print *, ' '
|
print *, ' '
|
||||||
|
|
||||||
|
resolves this issue. Otherwise the OSZICAR file is not written properly.
|
||||||
|
@ -53,7 +53,7 @@ DMFT
|
|||||||
dmft script
|
dmft script
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
Since the python script for performing the dmft loop pretty much resembles that presented in the tutorial on :ref:`SrVO3 <srvo3>`, we will not go into detail here but simply provide the script :ref:`nio.py`. Following Kunes et al. in `PRB 75 165115 (2007) <https://journals.aps.org/prb/abstract/10.1103/PhysRevB.75.165115>`_ we use :math:`U=8` and :math:`J=1`. We se;ect :math:`\beta=5` instead of :math:`\beta=10` to ease the problem slightly. For simplicity we fix the double-counting potential to :math:`\mu_{DC}=59` eV by::
|
Since the python script for performing the dmft loop pretty much resembles that presented in the tutorial on :ref:`SrVO3 <srvo3>`, we will not go into detail here but simply provide the script :ref:`nio.py`. Following Kunes et al. in `PRB 75 165115 (2007) <https://journals.aps.org/prb/abstract/10.1103/PhysRevB.75.165115>`_ we use :math:`U=8` and :math:`J=1`. We select :math:`\beta=5` instead of :math:`\beta=10` to ease the problem slightly. For simplicity we fix the double-counting potential to :math:`\mu_{DC}=59` eV by::
|
||||||
|
|
||||||
DC_value = 59.0
|
DC_value = 59.0
|
||||||
SK.calc_dc(dm, U_interact=U, J_hund=J, orb=0, use_dc_value=DC_value)
|
SK.calc_dc(dm, U_interact=U, J_hund=J, orb=0, use_dc_value=DC_value)
|
||||||
|
Loading…
Reference in New Issue
Block a user