CCL:G: SCF convergence failure with AUG-cc-pVDZ basis in Gaussian 09



 Sent to CCL by: =?iso-8859-1?Q?Hugo_Alejandro_Jim=E9nez_V=E1zquez?=
 [hjimenez**woodward.encb.ipn.mx]
 
The use of "NoVarAcc" and "NoIncFock" was suggested by G W Trucks from Gaussian Inc after I asked for help because I had serious convergence problems with the aug-CC-pVTZ basis set. He actually sent me an extensive account of recommendations for dealing with these problems. I am including his message below as it might be useful to others. In the past "Tight" was not the default SCF option for single-point calculations. Even though it seems to be the default now, I always include it for all my single point calculations.
 
Concerning the comment by Douglas of not being able to use the calendar basis sets in previous revisions of Gaussian, I can tell you that you can do it by hand. You can "print" the full aug-CC-pVDZ or aug-CC-pVTZ basis sets and remove the diffuse functions you do not want by hand. I made calculations in this way with G09 Rev B.01 at the MP2/maug-CC-pVTZ level of theory, using the description of the basis set given in JCTC 2009, 5 1197 as a guide for the functions that had to be removed. Once I removed the diffuse functions I did not want, the modified basis set was read in by Gaussian with GEN. I know, it is a lot of work, but it works because you have to do it for each atom. Now I have Rev D.01, so I do not have to worry very much for this. By the way. I did not have any convergence problems with the maug-CC-pVTZ basis set.
 Hugo
 -----------------------------------------------------------------
 Dr. Hugo A. Jimenez Vazquez,
 
Before answering your specific questions below, many problems with SCF convergence and PCM are a result of a poor structure. We highly recommend optimizing the gas state prior to introducing PCM. If you have not done that, it is my first suggestion.
 
SCF convergence issues are not tied to a given basis set; rather, they are a symptom of occupying the proper orbitals to obtain the single determinant that provides the lowest energy for a particular state (as required by the SCF procedure). Larger basis sets have more orbitals so this becomes a harder a small basis set to find the correct state then use the
 result as a guess for the larger basis.
 problem. Diffuse basis sets have a number of orbitals which
 are poor candidates for occupation as well. It is often best to use
 
It is also important to make sure you have the lowest solution for a given state. In order to test if you have the
 lowest single determinant, you can run a calculation with:
 stable=opt
 
That option will determine if the determinant is a local minimum; otherwise, it will re-optimize the wavefunction.
 
Even with a good starting guess at a particular geometry, if the initial structure is poor and changes drastically then one can expect the occupancy (order of the occupied orbitals) will also change. This means that the converged wavefunction for a previous step may provide a poor guess for the next step resulting in SCF convergence issues. Again,
 it emphasizes the need for a good starting structure.
 
Assuming you checked the geometry, here are a few general guidelines to follow in cases of SCF convergence difficulties:
 
1) "SCF=NoVarAcc". This one requests the use of full integral accuracy from the first SCF cycle. The default is to use lower accuracy in the first few cycles in interest of speed and then switch to full accuracy as the SCF approaches convergence. In some cases, the initial lower integral accuracy is not good enough and the SCF procedure might do a lot of useless iterations. This option never hurts, it would make the first few cycles a little slower but the overall time may be lower if it takes fewer cycles to get close to convergence, so it is definitely the first thing to try.
 
2) Increase integral accuracy. The default thresholds are set for an integral accuracy of 10^-10. In some cases when using very diffuse functions, one might need to use tighter thresholds since there will be very small quantities being computed. The integral accuracy is controlled with "Integral=(Acc2E=N)" in G09 or by "IOp(5/87=N)" in G03. The default is N=10. One may try increasing the accuracy by one or two orders of magnitude (i.e. N=11 or N=12).
 
3) Tighten the grid for numerical integration in DFT (This does not apply to non-DFT jobs such as HF, MP2, etc.). The default ("Fine") grid for numerical integration is adequate for most purposes but in some cases the small numerical noise might make difficult SCF convergence and the SCF procedure takes too many iterations when it is close to convergence. If the problem is with large oscillations in early SCF cycles, this is likely not going to help. One can tighten the grid with "Integral=(Grid=XXXXX)", where XXXXX is the value of the integration grid (see the documentation of the "Integral" keyword for more details). In most cases, tightening the grid to the "Ultrafine" grid is sufficient.
 
4) "SCF=NoIncFock". Turning off the incremental Fock formation can help in cases with very diffuse functions. This increases the computational cost of the SCF calculation as it requests the recomputation of the full Fock matrix at each SCF cycle, instead of only doing an incremental Fock formation (default). There is an increase in the cost of the whole SCF procedure since the full Fock matrix is formed at every SCF cycle, but such increase in cost with respect to the default SCF procedure is lower than doing QC SCF.
 
5) "SCF=Fermi". This one does a combination of things including Fermi broadening, damping and level shifting, deciding dynamically the most suitable strategy. It can be helpful in cases with oscillations in early cycles of the SCF procedure, but I only recommend it in such cases and when the other options above do not make a difference on the early oscillations.
 
6) "SCF=XQC". Turns on the QC SCF procedure after the maximum number of regular SCF cycles have been done without convergence (if the SCF is converged in fewer cycles with the regular SCF procedure, then the QC step is skipped). The maximum number of regular SCF cycles by default is 128, and this can be controlled by "SCF=(MaxConventionalCyc=N)". The QC procedure is much slower than the regular SCF procedure but it is very robust and almost guaranteed to converge to an SCF solution. It also has higher chance to converge to the nearest SCF solution (which could be an unstable solution) than the regular SCF procedure, so it is strongly recommended to check for instabilities. The "SCF=XQC" option thus provides a fall-back solution when the regular SCF procedure fails to converge.
 
As you see, the issue with SCF=XQC is that it will usually converge; however, it may well not be the desired one or the lowest. In the case of a compound method (like CBS), you have to worry about check the lowest solution is found in each step of the calculation. Often (and again not always), Gaussian will not change states with various methods except in cases where the potential energy surface differs significantly between the methods. Plotting the orbitals, checking the value of S**2 are recommended.
 
If you continue to have problems, please send us a copy of your input (change .com to .gjf to avoid SPAM filters) and log files.
 Best regards,
 Gary W. Trucks, Ph.D.
 Gaussian, Inc.
 -----------------------------------------------------------------
 
-----Mensaje original-----
 From: Susi Lehtola susi.lehtola(_)alumni.helsinki.fi
 
 Sent: Thursday, November 07, 2013 12:16 PM
 
To: Jiménez-Vázquez, Hugo Alejandro Subject: CCL:G: SCF convergence failure with AUG-cc-pVDZ basis in Gaussian 09
 Sent to CCL by: Susi Lehtola [susi.lehtola- -alumni.helsinki.fi]
 On Thu, 07 Nov 2013 11:23:56 -0400
 "Douglas B. Staple dstaple..dal.ca" <owner-chemistry_._ccl.net>
 wrote:
 
 3) K. Peterson suggested removing the diffuse s function for each atom.
 
 Kirk's suggestion would have probably solved the problem (as your
 calculations converged fine with the non-augmented basis sets), but
 removing *all* the diffuse s functions is a rather drastic procedure.
 
 4) H. A. J. Vazquez suggested SCF(NoVarAcc,NoIncFock,TIGHT)
 5) V. Chaban suggested decreasing SCF requirements, e.g. SCF=Conver=7
 I should say right away that the calculation converged fine with
 SCF(NoVarAcc,NoIncFock,Tight). To me, this is a bit of black magic. From
 reading the Gaussian 09 manual, I thought that NoIncFock and Tight were
 the defaults, but deleting them causes convergence to fail. So I'm not
 sure yet which of these keywords are necessary for convergence or why.
 Nevertheless, thank you very much for getting my calculation to converge!
 
 
 From what I gather from the Gaussian manual, SCF=Tight is the default,
 
 and so are VarAcc and IncFock. Because VarAcc only affects the initial
 steps of the SCF cycle, it shouldn't be a problem.
 I believe the problems were caused by IncFock, which here refers to
 incremental formation of the Coulomb matrix. Since this is linear in
 the density matrix
 J(uv) = sum_{rs} (uv|rs) P(rs)
 you don't have to recompute all contributions every cycle, but just
 calculate the contribution from the last cycle
 dJ(uv) = sum_{rs} (uv|rs) dP(rs)
 Although this can speed up the calculation, it also can lead to creep
 of numerical errors: although the change in density can be small for a
 couple of iteration, the small changes can accumulate into something
 that is large.
 Also, it occurred to me that you are not using density fitting (a.k.a.
 RI-J). If you use pure DFT functionals (e.g. PBEPBE and BP86), enabling
 density fitting usually speeds up the calculation quite a bit. Also,
 AFAIK incremental formation is not usually performed in RI-J, since the
 integrals are much faster to compute anyway, so you might not need the
 NoIncFock keyword. To do RI-J just change
  #P PBEPBE/aug-cc-pVDZ
 to
  #P PBEPBE/aug-cc-pVDZ/Auto
 which will use an automatically generated fitting basis set.
 
 Reducing the number of diffuse functions as suggested by S. Lehtola and
 K. Peterson seems like a very logical and good idea. Unfortunately the
 version of Gaussian 09 I have (Revision C.01) doesn't have the calendar
 basis functions, and I honestly don't know how to reduce the number of
 diffuse functions in AUG-cc-pVDZ any other way.  I'm looking into
 getting access to g09 Rev. D, which has the calendar basis sets.
 
 You can always define the basis set to use by hand. Unfortunately the
 calendar basis sets aren't currently available at the Basis Set
 Exchange..
 --
 ---------------------------------------------------------------
 Mr. Susi Lehtola, PhD             Postdoctoral researcher
 susi.lehtola_._alumni.helsinki.fi   Department of Applied Physics
 http://www.helsinki.fi/~jzlehtol  Aalto University
                                  Finland
 ---------------------------------------------------------------
 Susi Lehtola, FT                  Tutkijatohtori
 susi.lehtola_._alumni.helsinki.fi   Fysiikan laitos
 http://www.helsinki.fi/~jzlehtol  Aalto-yliopisto
 ---------------------------------------------------------------http://www.ccl.net/cgi-bin/ccl/send_ccl_messagehttp-:-//www.ccl.net/chemistry/sub_unsub.shtmlhttp-:-//www.ccl.net/spammers.txt