6. Solving SCF non-convergence problems¶
Many sobEDA users asked me how to solve SCF non-convergence problems in Gaussian calculations, which are often encountered in the sobEDA analysis. The ways to tackle this problem have been comprehensively described in my blog article http://sobereva.com/61
You can try most methods in the article. For example:
-
You can try to add
SCF(novaracc,noincfock,conver=6,maxcyc=250)in thetemplate.gjf. -
You can try to use another reasonable computational level instead.
-
In rare cases,
int=superfinemay also be useful.
Avoid Incompatible Keywords
Note that scf=QC or scf=XQC should not be used, because output information of quadratic convergence code is incompatible with sobEDA.sh.
Keywords altering wavefunction guessing, such as guess=AM1, should also be avoided.
When SCF non-convergence is encountered at a specific computational level, it is often very useful to perform the calculation using another level (a different DFT functional or basis set). If the convergence is fortunately met, then read its converged wavefunction as initial guess for the computational level you actually want to use. Because now a much better initial guess is employed than default, SCF convergence should be much easier.
This scheme is also feasible for the fragment calculations in the sobEDA analysis. For example, if you want to perform sobEDA analysis at BHandHLYP/6-311+G(2d,p) level, but unfortunately find SCF cannot get converged during calculations of one or more fragments, while tests show that (or you believe that) convergence can be easily reached at ωB97XD/6-311+G(2d,p) level, what you should do is:
-
Prepare all files for a common sobEDA (or sobEDAw) analysis:
The current computational level intemplate.gjfis BHandHLYP/6-311+G(2d,p). -
Run
genfraggjf.shscript:
Run thegenfraggjf.shscript in the sobEDA tutorial package, which will generate .gjf files for all fragments, namelyfragment1.gjf,fragment2.gjf, etc.
Manually replace theBHandHLYPkeyword in them withwB97XD. Run them manually by Gaussian, and you will obtain .chk files containing converged fragment wavefunctions, namelyfragment1_old.chk,fragment2_old.chk, etc.
(Notice that theiCPsettings ingenfraggjf.shand that insobEDA.shmust be exactly the same.) -
Set
iguessreadinsobEDA.shto 1, then run this script:
In this case, during fragment calculations in sobEDA or sobEDAw analysis,guess=readkeyword will be automatically added to all fragment .gjf files, and%oldchk=fragment1_old.chkwill be automatically added tofragment1.gjf, similarly for other fragments.
Hence, fragment calculations with BHandHLYP will read the converged wavefunctions with ωB97XD as initial guesses, and usually the SCF convergence can easily be reached.
Promolecular and Final State Calculations
Note that it is in principle impossible to read manually prepared converged wavefunctions as initial guesses for promolecular calculation and final state calculation.