The density loop

The standard way (valid for both QSGW and LDA) to close the external loop is by updating the density taking fully into account the dynamical contribution of DMFT, unlike what we have done in the previous tutorial.

Self-consistent update of the electronic density

Once you obtained a converged Sig.out.brd from the DMFT loop, you can can use lmfdmft to sum over all Matsubara’s frequencies and update the density until it is self-consistent with the impurity self-energy and the QSGW potential.

mkdir update_scdensity                                           # prepare the folder for the sc-loop
cd update_scdensity
cp ../lmfinput/*.ni  .
cp ../itN_qmcrun/Sig.out.brd  sig.inp                            # N=index of last DMFT iteration (converged)
lmfdmft ni --ldadc=71.85 -job=1 --rs=1,1 -vbxc0=1 --udrs > log   # update the density using DMFT self-energy and stop


As a result of the last command, you have an updated density file rst.ni. You can monitor the difference with respect to the previous density by

grep 'RMS DQ=' log


To achieve self-consistency you shall repeat the last lmfdmft calculation until RSM DE< 2.0e-4, or any other tolerance you may wish although it’s not easy to get better than 1.0e-4. To do that you may prefer to insert the last command in a loop like

for ((i=1; i<15 ; i++))
do
lmfdmft ni --ldadc=71.85 -job=1 --rs=1,1 -vbxc0=1 --udrs >> log
done


Restarting the QSGW loop

Now a new LDA or QSGW loop can be done keeping the density fixed. This will lead to a new xc-potential consistent with the density.

• In the case of an LDA calculation you just want to run lmf with a single iteration (use flags --rs=1,0 -vnit=1).

• In the case of a QSGW calculation you will run lmfgwsc with the additional flag --no-scrho.

At the end of either cycle (LDA or QSGW) you are back to the same situation of the first tutorial.