CCSD iterations does not converge


Clicked A Few Times
Dear NWChem Developers:

I am trying to do a CCSD(T) optimization on HBr+ using aug-cc-pv5z on H and pp-aug-cc-pv5z on Br. The problem I am having is CCSD iteration does not converge even at 500 steps. The differences in the energy between SCF iteration is actually increasing instead of decreasing. The related output is below,

CCSD iterations
-----------------------------------------------------------------
Iter Residuum Correlation Cpu Wall V2*C2
-----------------------------------------------------------------
1 0.3947204386567 -0.5986246846772 39.4 39.9 14.9
2 0.0777144398021 -0.5668211536264 39.3 39.8 15.0
3 0.1507226170554 -0.5778189847214 39.4 39.9 14.9
4 0.2654166565068 -0.5768900976901 39.5 40.0 15.0
5 0.9146529333630 -0.5776076230098 39.4 40.0 15.1
MICROCYCLE DIIS UPDATE: 5 5
6 0.0442335406897 -0.5726599439331 39.5 40.0 15.0
7 0.0728365126228 -0.5769226318288 39.4 39.9 15.0
8 0.2686042645653 -0.5771582128763 39.4 39.9 15.0
9 0.6598562875828 -0.5774425649866 39.4 39.9 15.0
10 2.8417269601096 -0.5775023587506 39.5 40.0 15.0
MICROCYCLE DIIS UPDATE: 10 5
11 0.0206737603309 -0.5764805831965 39.4 39.9 15.0
12 0.0367361772656 -0.5769149561010 39.3 39.8 15.0
13 0.0858697482857 -0.5773548026063 39.4 39.9 15.0
14 0.2587281370144 -0.5774284785070 39.4 39.9 15.0
... ...
... ...
... ...

The input file for this calculation is,

start name
echo
charge 1

memory stack 4600 mb heap 4100 mb global 14500 mb

geometry noautosym
H -0.17832631 0.97840869 -0.98242772
Br 0.00496505 -0.04724133 -0.02735323
end

BASIS
H library aug-cc-pv5z
Br library aug-cc-pv5z-pp
END

ECP
Br nelec 10
Br ul
2 1.0000000 0.0000000
Br S
2 70.0242570 49.9628340
2 31.1784120 370.0142050
2 7.1565930 10.2414390
Br P
2 46.7734710 99.1122440
2 46.1841200 198.2530460
2 21.7138580 28.2617400
2 20.9417920 56.6233660
Br D
2 50.6988390 -18.6058530
2 50.6447640 -27.9232800
2 15.4475090 -0.3796930
2 15.5002590 -0.7805830
2 2.8003910 0.0359680
2 1.0774800 0.0943970
Br F
2 14.4656060 -1.0912690
2 21.2340650 -2.8876910
END

SCF
DOUBLET
END

tce
FREEZE atomic
thresh 1e-6
maxiter 500
scf
ccsd(t)
end

task tce optimize

I also tried the same calculation with smaller basis (aug-cc-pvqz) and it works fine. Is this a problem related to bad wave functions due to different basis set?

Thanks in advance and best regards,

SR

Clicked A Few Times
Any one can provide any idea related to the unconvergence will be greatly appreciated.

Thanks

SR

Forum Vet
This is most likely an issue with not having the levelshift kick in. I've seen this before with large basis sets. You can try "lshift 0.2", but you should double check in the output (look for DIIS level shift) to see if it actually gets set. In some older versions we have had some issues with it not being set properly. If it doesn't get set, you may try to compile the latest development version, or next week the new release.

Bert

Clicked A Few Times
Dear Bert,

     Thank you for your reply. I have tried the options you suggested but the problem still exist. I am using NWChem 6.1.1 (which should be the latest one). Here is the information for the DIIS lshift,

         Correlation Information
-----------------------
Calculation type : Coupled-cluster singles & doubles w/ perturbation
Perturbative correction : (T)
Max iterations : 500
Residual threshold : 0.10D-05
T(0) DIIS level shift : 0.20D+00
L(0) DIIS level shift : 0.00D+00
T(1) DIIS level shift : 0.00D+00
L(1) DIIS level shift : 0.00D+00
T(R) DIIS level shift : 0.00D+00
T(I) DIIS level shift : 0.00D+00
CC-T/L Amplitude update : 5-th order DIIS
I/O scheme : Global Array Library
L-threshold : 0.10D-05
EOM-threshold : 0.10D-05
no EOMCCSD initial starts read in
TCE RESTART OPTIONS
READ_INT: F
WRITE_INT: F
READ_TA: F
WRITE_TA: F
READ_XA: F
WRITE_XA: F
READ_IN3: F
WRITE_IN3: F

     Does it mean the lshift has been set correctly? If so, is there more options that I can try other than wait for the new release?

     Thank you for your help.

SR

Gets Around
"T(0) DIIS level shift : 0.20D+00" indicates you set the level shift for the CCSD amplitude solver properly.

I find that CCSD does not always converge with diffuse basis sets. This is due to unfortunate realities of numerical linear algebra. I wish I could give you a better answer than this.

Clicked A Few Times
Quote:Jhammond Jun 7th 12:12 am
"T(0) DIIS level shift : 0.20D+00" indicates you set the level shift for the CCSD amplitude solver properly.

I find that CCSD does not always converge with diffuse basis sets. This is due to unfortunate realities of numerical linear algebra. I wish I could give you a better answer than this.



Another thing I noticed is, at each DIIS step, the energy decreases a little bit (very small, maybe 10-9 Hartree). So will it make sense if I make the maxiter in SCF really large and use DIIS to decrease the residuum?

Thank you very much

SR

Gets Around
(T) is non-iterative so the notion of convergence does not make sense.

I do not understand your reference to SCF maxiter here. Are you trying to converge the SCF or the CCSD iterations?

Clicked A Few Times
Quote:Jhammond Jul 5th 12:19 pm
(T) is non-iterative so the notion of convergence does not make sense.

I do not understand your reference to SCF maxiter here. Are you trying to converge the SCF or the CCSD iterations?


Sorry for the confusion. I could not get the CCSD iterations converged. and the iteration shows:
CCSD iterations
-----------------------------------------------------------------
Iter Residuum Correlation Cpu Wall V2*C2
-----------------------------------------------------------------
1 0.2812658734394 -0.8785464064858 18.1 18.2 3.6
2 0.0584455131307 -0.8571460720421 18.1 18.3 3.6
3 0.0209806546166 -0.8753694879529 18.1 18.3 3.6
MICROCYCLE DIIS UPDATE: 3 3
4 0.0166793076886 -0.8734726702560 18.2 18.3 3.6
5 0.0083406835212 -0.8746841048019 18.1 18.2 3.6
6 0.0059823765765 -0.8753932654371 18.1 18.3 3.6
MICROCYCLE DIIS UPDATE: 6 3
7 0.0038436749801 -0.8753658591552 18.2 18.3 3.6
8 0.0023507946302 -0.8754945849824 18.2 18.3 3.6
9 0.0026921558151 -0.8755120058603 18.1 18.3 3.6
MICROCYCLE DIIS UPDATE: 9 3
10 0.0007721100098 -0.8755301279887 18.1 18.2 3.6
11 0.0004624364451 -0.8755675802626 18.1 18.3 3.6
12 0.0003001233903 -0.8756056447170 18.1 18.3 3.6
MICROCYCLE DIIS UPDATE: 12 3
13 0.0002219979231 -0.8756046827711 18.1 18.2 3.6
14 0.0001616913834 -0.8756076242349 18.1 18.3 3.6
15 0.0001907546745 -0.8756081246472 18.1 18.3 3.6
MICROCYCLE DIIS UPDATE: 15 3
16 0.0000524149708 -0.8756088035823 18.1 18.2 3.6
17 0.0000324385020 -0.8756111110847 18.2 18.4 3.6
18 0.0000217372284 -0.8756130071232 18.2 18.3 3.6
MICROCYCLE DIIS UPDATE: 18 3
19 0.0000181808334 -0.8756137082857 18.1 18.3 3.6
20 0.0000161295062 -0.8756130007051 18.1 18.3 3.6
21 0.0000180666516 -0.8756130492805 18.2 18.3 3.6
MICROCYCLE DIIS UPDATE: 21 3
22 0.0000102414047 -0.8756127871295 18.1 18.2 3.6
23 0.0000094218153 -0.8756131898605 18.1 18.3 3.6
24 0.0000091600093 -0.8756132274086 18.1 18.2 3.6
MICROCYCLE DIIS UPDATE: 24 3
25 0.0000090653553 -0.8756133875916 18.0 18.2 3.6
26 0.0000089921356 -0.8756132080443 18.2 18.3 3.6
27 0.0000089970307 -0.8756132302744 18.1 18.3 3.6
MICROCYCLE DIIS UPDATE: 27 3
28 0.0000088270014 -0.8756130798797 18.1 18.2 3.6
29 0.0000087531072 -0.8756132543603 18.0 18.2 3.5
30 0.0000087151982 -0.8756132315666 18.1 18.3 3.6

....... many steps .........

MICROCYCLE DIIS UPDATE: 489 3
490 0.0000047553429 -0.8756132433250 18.3 18.4 3.6
491 0.0000047422879 -0.8756132433638 18.1 18.2 3.6
492 0.0000047414338 -0.8756132434023 18.1 18.2 3.6
MICROCYCLE DIIS UPDATE: 492 3
493 0.0000047551186 -0.8756132433254 18.1 18.3 3.6
494 0.0000047415363 -0.8756132433643 18.0 18.2 3.6
495 0.0000047327345 -0.8756132434027 18.0 18.2 3.6
MICROCYCLE DIIS UPDATE: 495 3
496 0.0000047547753 -0.8756132433264 18.1 18.3 3.6
497 0.0000047417231 -0.8756132433652 18.1 18.3 3.6
498 0.0000047409030 -0.8756132434037 18.1 18.3 3.6
MICROCYCLE DIIS UPDATE: 498 3
499 0.0000047545510 -0.8756132433268 18.2 18.3 3.6
500 0.0000047409687 -0.8756132433657 18.0 18.2 3.6
------------------------------------------------------------------------
ccsd_energy_loc: maxiter exceeded 501
------------------------------------------------------------------------
------------------------------------------------------------------------

As you can see, the converge tendency is okay but it just moves really slow. In your last reply, were you trying to say increase maxiter won't help in this case? (I have tried lshift as Bert suggested and it did not work either).

Thanks again

SR

Gets Around
Please post your input file and I'll try to figure it out. This may be a pathological case though.

Do you think that 5e-6 is to sloppy of convergence for this problem btw?

Clicked A Few Times
Quote:Jhammond Jul 5th 12:49 pm
Please post your input file and I'll try to figure it out. This may be a pathological case though.

Do you think that 5e-6 is to sloppy of convergence for this problem btw?


Sorry that was a wrong click, my internet browser is really stupid...
Please delete the previous post and I will paste my input in a better way..

Thanks

SR

Clicked A Few Times
Quote:Jhammond Jul 5th 12:49 pm
Please post your input file and I'll try to figure it out. This may be a pathological case though.

Do you think that 5e-6 is to sloppy of convergence for this problem btw?


Thank you for your reply, please see below for my input deck,

start name
charge 1
memory stack 3600 mb heap 600 mb global 7800 mb
geometry noautosym
O 0.60987066 3.21010816 0.00000498
C -0.06992897 2.29911529 0.00000003
O -0.83251927 1.35696645 -0.00000100
H -0.43462609 0.30974447 0.00001390
Br 0.08216442 -1.44068130 -0.00000054
end
BASIS
...
end
ECP
...
end
SCF
DOUBLET
END
tce
FREEZE atomic
thresh 4e-6
maxiter 1000
diis 3
scf
ccsd(t)
end
task tce optimize

I did not include basis set and ecp in my input because it is very long. The basis I used is cc-pvtz for O, C and H and pp-cc-pvtz for Br.

I don't think 5e-6 is bad for this case (i have set it to be 4-e6 to match some other cases) but I am just wondering if there is some ways to make the converge a bit more efficient or changing the convergence criteria is the only way.

Thank you very much for your kind help

SR

Forum Vet
CCSD convergence level
So, your correlation energy is converged to at least 7 digits. I don't think you need that many for CBS fitting. Just as a reference, convergence to 0.0001 Hartree is less than 0.1 kcal/mol. Your convergence gives you a convergence error of at most 0.0001 kcal/mol. Hence, don't think you need that high a level of convergence.

Bert


Forum >> NWChem's corner >> General Topics