# A CCSD(T) geometry optimization in Gaussian09 is deviating too far from the minimum. How do I deal with it?

I am doing a CCSD(T) geometry optimization on a series of molecules. One of the geometry optimizations took about 2 weeks even though an analogous molecule with the same number of basis functions took less then 2 days to converge to a minimum. After 30 iterations, the calculation aborted with the 'error' message about exceeding the maximum number of iterations. I checked energies at different geometry optimization steps and noticed that the optimization had taken the molecule further from the minimal energy value so far. Furthermore, the bondlengths are more reasonable for the optimization step corresponding to the minimal energy value so far: the molecule should be symmetric (and it is at the 4th optimization step) but it's becoming a bit too asymmetric as the optimization progresses. Also, the energy seems to only change by a miniscule amount in the last iterations. I used the optimized geometry obtained from a CCSD calculation as the initial guess. My route section: #p opt=z-matrix freq=noraman rccsd(t)/genecp maxdisk=15950MB

A mixed aug-cc-pVTZ-PP/aug-cc-pVTZ basis set was used in both CCSD and CCSD(T) calculatons.

Now, I'm not sure that simply increasing the number of iterations will help... Any advice would be greatly appreciated!

Update: I tried setting MaxStep to 5. It appeared to help at first because I reached a point where 3 out of 4 convergence criteria were satisfied. Even the remaining criterion was very close to the threshold value. The first calculation (with N=30) only produced some points with 2 satisfied convergence criteria. But then the calculation with MaxStep=5 started deviating as well. So I used this point with 3 satisfied convergence criteria as the initial guess for the next calculation (setting Maxstep to 1). A similar thing happened here. Here are the respective output fragments:

MaxStep=5

Maximum Force 0.000117 0.000450 YES
RMS Force 0.000060 0.000300 YES
Maximum Displacement 0.001992 0.001800 NO
RMS Displacement 0.001109 0.001200 YES


MaxStep=1

Maximum Force 0.000116 0.000450 YES
RMS Force 0.000060 0.000300 YES
Maximum Displacement 0.001911 0.001800 NO
RMS Displacement 0.001007 0.001200 YES


• What molecule is it? The (T) part is known to fail for some systems. Commented Jun 30, 2020 at 17:29
• If you think that fourth step was close to the actual minimum, you could try restarting from there and decreasing the max step size for the optimization, as the default could potentially escape a shallow/narrow minimum. opt=(MaxStep=N) sets the max step to N*.01 Bohr and the default is N=30.
– Tyberius
Commented Jun 30, 2020 at 17:55
• @Tyberius I tried setting maxstep to 5. It appeared to help at first because I reached a point where 3 out of 4 convergence criteria were satisfied. Even the remaining criterion was very close to the threshold value. The first calculation (with N=30) only produced some points with 2 satisfied convergence criteria. But then the calculation with MaxStep=5 started deviating as well. So I used this point with 3 satisfied convergence criteria as the initial guess for the next calculation with Maxstep=1. A similar thing happened here. I've attached respective output fragments in another comment. Commented Jul 11, 2020 at 20:54
• With the maxstep=1, the notrustupdate might help. Depending on the property you are interested in getting from this geometry (for example, reaction energies), it may already be converged enough. Frequencies it would be worth being cautious, but even this close to convergence might be sufficient.
– Tyberius
Commented Jul 11, 2020 at 21:04
• Hopefully it will help. When you do maxstep=1 with the default settings, it will get updated to be larger for the next step: chemistry.stackexchange.com/q/136381/41556
– Tyberius
Commented Jul 11, 2020 at 21:35

I'm always using CFOUR for CCSD(T) calculations, so bear with me. With CFOUR you can actually specify the irrep occupations, and works very well for the optimizations. But, there is one big snag. You need to master Z-matrices.

Now back to your question. If you know it should be symmetric, why not simply impose symmetry?

• Good point. Molpro, MRCC, OpenMOLCAS and other codes allow this too. Commented Aug 1, 2020 at 13:19

Not a full answer to your particular problem, but a summary of the methods suggested for dealing with the headline issue of a diverging geometry optimization.

• Step size: if you are drifting away from what you believe to be a minimum, decreasing the size of each optimization step can help you avoid jumping out of a small well around the minimum.

• Guess: if you want to do a high level geometry optimization, always start from a structure obtained by a reliable lower level method. Getting the search into the approximate region of the minimum can save a lot of computational time even for less tricky optimizations.

• Validity (method): make sure the method you are using gives reasonable energy for the system you are studying. If converging a single point energy at the CCSD(T) level is challenging or is producing unreasonable results, the forces and thus the optimization are likely to be unreliable as well.

• Validity (computation): even if your overall level of theory is fine, your results can still be skewed if you aren't converging the energy tightly enough. Properties require tighter convergence than what is needed to get an accurate energy. The noise in a loosely converged energy can cause an optimization to bounce around erratically.

• Tighter convergence and (it applicable) tighter grid for the scf should always be the first point of entry. If your energies are fuzzy, your derived properties will, and your calculation will oscillate. Commented Jul 29, 2020 at 8:10