A summary of the convergence difficulty



Thanks to all the kind help here.Now my calculation converges.adding Vshift and increase the SCF cycle works.The following is a summary of the comments I get from all the friends here.Again,thanks!
 Aug 26
 
I am calculating a system consists of 3 gold atoms and 1 sulfer atom.(originally,there should be more carbon and hydrgon to follow,but since I can not even get convergence on this simple system,I didn't go further.)I am using a LANL2DZ basis set for 3 gold atoms and 6-31G(d) for sulfer atoms.(I have tried adding SCF(MaxCyc=200),still doesn't work)However,the job terminates with the following error:(I am using Gaussian98RevA.11.2)Anyone has any idea what is wrong?help me out,please!
 .......
 <S**2> of initial guess= 0.7500
 Requested convergence on RMS density matrix=1.00D-08 within  64 cycles.
 Requested convergence on MAX density matrix=1.00D-06.
 Virtual orbitals will be shifted by   0.200 hartree.
 Defaulting to unpruned grid for atomic number  79.
 Restarting incremental Fock formation.
 Restarting incremental Fock formation.
 Restarting incremental Fock formation.
 >>>>>>>>>> Convergence criterion not met.
 SCF Done:  E(UB+HF-LYP) =  -804.520113362     A.U. after   65 cycles
             Convg  =    0.8395D-06             -V/T =  2.5258
             S**2   =   0.7554
 Annihilation of the first spin contaminant:
 S**2 before annihilation     0.7554,   after     0.7500
 Convergence failure -- run terminated.
 
Error termination via Lnk1e in /afs/ir.stanford.edu/class/chemeng444a/programs/gaussian/sun4x_58/g98/l502.exe.
 Job cpu time:  0 days  0 hours 27 minutes 37.1 seconds.
 Here is my input file.
 #gfinput iop(6/7=3)
 # b3lyp/gen opt(modredundant,maxcycle=200) Pseudo=Read
 Title Card Required
 0  2
 Au
 Au                 1        2.884000
 Au                 1        2.884331    2       60.003801
 
S 3 2.108711 1 46.856789 2 57.247633
 1 B
 2 B
 3 B
 * F
 Au 0
 LANL2DZ
 ****
 4 0
 6-31g(d)
 ****
 Au 0
 LANL2DZ
 Responses:
 ----------------------------------------------------------
 Uwe Richter <uwe (+ at +) fmp-berlin.de>
 well, you might get your calculation converged within the next
 hundred cycles. Sometimes it just takes a lot of iterations.
 Other programs might converge faster.
 You could also run a ROHF calculation first and use the
 resulting MOs as starting vectors via guess=read, but there
 is no waranty that this works (but it's worth trying).
 Uwe
 ----------------------------------------------------------
 wangd <wangd (+ at +) hkusua.hku.hk>
 In my opinion, first, please check if the structure is reasonable; second,
 
you may add the keyword of scfcon=5(which decrease the scf convergence) to the
 path. It should work. Good luck!
 Best wishes,
 Wang Dongqi
 -----------------------------------------------------------
 Laurence Cuffe <Laurence.Cuffe (+ at +) ucd.ie>
 
 # b3lyp/gen opt(modredundant,maxcycle=200) Pseudo=Read
 
 Try this as #b3lyp/gen opt(modredundant,maxcycle=200)
 Pseudo=Read SCF=(maxcycle=400,vshift,sleazy)
 
 
 Let this run for a few optimization cycles and then remove the
 keyword sleazy.  What this does is it allows the job to work longer
 on getting a workable SCF and also reduces the criteria for an
 acceptable SCF hence it more likely to proceed.  I'd also put in
 more of the structure-- if the structure is too chemically unrealistic
 then this can also contribute to SCF problems.
 ------------------------------------------------------------
 The Matt <thompsma (+ at +) colorado.edu>
 Mr. Shan, when I have gotten odd convergence calls like this, the first
 thing I try is SCF=QC.  This uses a quadratic converger for SCF that is
 usually more reliable.  But, it is more expensive, so the job will take
 a bit longer.  Try that and see, it usually works for me.
 Also, remember, if you have diffuse functions + DFT, it's always a good
 idea to use SCF=Tight as well.
 For a little more look at "Convergence and Stability" at
 http://www.gaussian.com/00000432.htm
 Hope this helps,
 Matt Thompson
 Hope this helps
 Laurence Cuffe
 --------------------------------------------------------------
 Ohyun Kwon <kwonohy (+ at +) auburn.edu>
 1) use looser convergence for scf at first step then read guess from
 checkpoint file.
 Use scf(conver=4,maxcyc=512) first or combine with vshift=400
 as scf(conver=4,vshift=400,maxcyc=512)
 Then you would get scf convergence, then use this guess for your new scf
 calculation.
 2) To make sure everyhing is clear, use p at # section.
 Finally, use as follows.
 # b3lyp/gen Pseudo=Read
 # scf(conver=4,vshift=400,maxcyc=512)
 .
 .
 .
 .
 --link1--
 # # b3lyp/gen opt(modredundant,maxcycle=200) Pseudo=Read
 # guess=read scf(vshift=400,maxcyc=512)
 .
 .
 --------------------------------------------------------------
 John Bushnell <bushnell (+ at +) chem.ucsb.edu>
  For difficult convergence cases, it is nice to see the SCF
 convergence cycle-by-cycle.  You can see this by putting a "p"
 following the "#" in your route section:
 # b3lyp/gen opt(modredundant,maxcycle=200) Pseudo=Read
 becomes:
 #p b3lyp/gen opt(modredundant,maxcycle=200) Pseudo=Read
  I ALWAYS do it this way.  Now you can see if the energy is
 going down each cycle, or just oscillating.  It looks as though
 your job below is almost converged, but it is hard to say
 without seeing the cycle-to-cycle output.  I would suggest
 doing a single point calculation first, with the default
 (loose) convergence criteria, then look at the orbital
 populations (I would suggest pop=nbo for this).  It is
 possible that you need to rearrange the orbitals if Gaussian
 has used a bad guess.  Use guess=(read,alter) for this.
 The easiest thing you can try is to use scf=qc (for quadratic
 convergence) which, though it can take longer, is more
 likely to finally converge.  You can also crank up the
 maxcycles some more.  Also, once you have the first, converged
 SCF wavefunction, things usually settle down.  This is another
 good reason to do a single point first.  Backup the checkpoint
 file, and now you can try moving orbital populations around
 without having to duplicate the long, slow first SCF.  Just
 starting an optimization without looking at a single point
 first is not a good idea.  Especially if you are sharing the
 cpu's. :-)
   Hope that helps - John
 ------------------------------------------------------------
 gaussian.com!csd (+ at +) gaussian.com (Cust. Service Doug)
 Dr. Shan,
   SCF convergence for systems with metals is much more challenging than
 for organics.  This is made worse for unsaturated systems where there are
 often low lying virtual orbitals which would support a number of different
 SCF solutions within a narrow energy range.  There are on going development
 efforts to improve this but in the mean time there are some comments I can
 make.
  First, whenever you encounter SCF convergence failures you need to look
 at the progress of the SCF by using #P in place of # which will print out
 the status at each iteration.  It is useful to know if the SCF is converging
 slowly, oscillating, taking large jumps etc.  Slow convergence can be
 a sign that a higher order converger like SCF=QC would be helpful.
 Oscillations can be a sign that a small HOMO/LUMO gap is causing a flip
 in the occupied orbitals and SCF=VShift=n is useful.  Large jumps can
 indicate that a poor initial guess or a change in the electronic state
 
 from the initial guess has occured and normal convergence will eventually
 
 achieved but after a larger number of cycles and a better initial guess
 would help.
  Second, whenever possible it is helpful to start with a smaller basis
 set, i.e. STO-3G, LANL1MB, etc for single points.  This is cheaper and
 so you can often generate a better initial guess which can be used with
 GUESS=READ and the larger basis set and without the more expensive options.
  In your case the SCF converges initially quite smoothly and then
 bounces around without making progress. This makes SCF=QC a likely
 approach to clean up this problem, at least at the initial point.
 You might want to look at adding IOP(5/13=1) which allows the SCF to print
 out the MO's even in the event that convergence was not reached.  This
 should only be used with single points, i.e. remove OPT.
  As to optimization constraints.  To freeze atomic coordinates you should
 turn on NoSymm.  This method of freezing structures causes problems for
 redundant internals which are being looked into but NoSymm fixes the most
 serious ones.
 _________________________________________________________________
 
MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx