convergence speed

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
woffermans
Posts: 41
Joined: Fri Jun 01, 2018 8:22 am
Contact:

convergence speed

Post by woffermans » Tue Oct 02, 2018 9:23 am

Dear ABINIT friends,

Since a couple of months I'm using ABINIT to model chemical reactions on metal slabs.

In general ABINIT works well and the calculations succeed.

However in most, if not all, calculations the convergence of total energy is quite slow.
I tend to build up the accuracy of my calculations. At the end of this sequence, the convergence speed becomes a real bottleneck.

So the question arises how can I mitigate the decreased convergence speed.

Any help is welcome!

I have included an input and output file.
Attachments
pd.in
Input file
(971 Bytes) Downloaded 228 times
pd.out
Output
(76.05 KiB) Downloaded 192 times

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: convergence speed

Post by ebousquet » Tue Oct 09, 2018 5:43 pm

Dear Willem,
The convergence is not so so bad in view of the system. To improve it you can start to see if reducing a bit the diemix flag improve a bit the situation?
Best wishes,
Eric

woffermans
Posts: 41
Joined: Fri Jun 01, 2018 8:22 am
Contact:

Re: convergence speed

Post by woffermans » Thu Oct 11, 2018 10:58 am

Dear Eric,

Thank you for the response. I really appreciate it.

In the meantime, I have already changed occopt from 3 to 7.

I'm not quite sure, but I have the impression that this already increased the convergence speed.

In a benchmark calculation, I measured a reduction of almost half of the number of electronic cycles without an unacceptable change in total energy.

I hope the following is clear:

$ diff pd.in pd.2.in
8c8
< occopt 3
---
> occopt 7

$ grep -c ETOT pd.out
105
$ grep -c ETOT pd.2.out
65

$ grep ETOT pd.out | tail -n1 | awk '{print $3}'
-644.05762653655
$ grep ETOT pd.2.out | tail -n1 | awk '{print $3}'
-644.05744968876

$ grep wall pd.out | tail -n1 | awk '{print $10}'
3277.6
$ grep wall pd.2.out | tail -n1 | awk '{print $10}'
2141.8

2141.8/3277.6 = 0.65 is almost equal to:
65/105 = 0.61

I have included both input en output files.
Attachments
pd.in
Input File 1
(977 Bytes) Downloaded 205 times
pd.out
Output File 1
(71.25 KiB) Downloaded 218 times
pd.2.in
Input File 2
(977 Bytes) Downloaded 250 times
pd.2.out
Output File 2
(68.85 KiB) Downloaded 198 times

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: convergence speed

Post by ebousquet » Wed Oct 17, 2018 8:53 am

Dear Willem,
I'm not familiar with metals but changing the occopt is already an improvement!
Be careful as well that you need to check how your calculation converges with the smearing, I mean not only the speed of convergence but also the physical result.
As I mentioned, changing the mixing parameters (diemix and diemixmag if magnetic) could also enhance the convergence in term of number of steps. Two other variables might also help you, nline and nnsclo, these variables help to have better wavefunctions on each SCF and so might help to go to the minimum faster.
Best wishes,
Eric

Locked