Firefly and PC GAMESS-related discussion club


 
Learn how to ask questions correctly  
 
 
We are NATO-free zone
 



Re^5: Delaying switching to NR method

Alex Granovsky
gran@classic.chem.msu.su


Dear Slawomir,

this seems to be very interesting testcase. It looks like a
specific combination of input options and a particular molecular
system does not work well.

I would be grateful for the input file causing these problems.

All the best,
Alex




On Mon Dec 30 '13 10:35pm, Slawomir Janicki wrote
-------------------------------------------------
>Dear Alex,

>The smallest eigenvalue is 3E-9. I am, obviously, guilty of using diffuse functions :). The basis set is QZVPD.

>It would be great if I could figure out what causes the SCF to converge 2 out of 3 times. The convergence is either excellent (four iterations) or none at all.

>The geometry optimization completes just fine when I set RSTRCT=.T.

>Slawomir

>On Mon Dec 30 '13 10:47am, Alex Granovsky wrote
>-----------------------------------------------
>>Dear Slawomir,

>>what is the condition number of the overlap matrix?

>>All the best,
>>Alex
>>
>>
>>On Sat Dec 28 '13 2:50am, Slawomir Janicki wrote
>>------------------------------------------------
>>>Dear Alex,
>>>Thank you for the explanation, the keywords work as you described them. Unfortunately, after 2-3 steps the SCF convergence goes bad regardless of how fine the geometry steps are. Is there anything else I can do to make subsequent steps work better?

>>>Here is an example of the initial SCF cycle:

>>>

                                                                                                              NONZERO    BLOCKS
 ITER EX DEM  TOTAL ENERGY      E CHANGE  DENSITY CHANGE    DIIS ERROR      VIR. SHIFT       DAMPING        INTEGRALS   SKIPPED
          * * *   INITIATING DIIS PROCEDURE   * * *
   1  0  0  -434.359186149  -434.359186149   0.000055301   0.000000004     0.000000000     1.000000000             -1 230828006
   2  1  0  -434.359186149     0.000000000   0.000069912   0.000000006     0.000000000     1.000000000             -1 230828009
   3  2  0  -434.359186149     0.000000000   0.000003143   0.000000004     0.000000000     1.000000000             -1 230828008
   4  3  0  -434.359186149     0.000000000   0.000018057   0.000000004     0.000000000     1.000000000             -1 230828006

>>>and in  NSERCH=2:
>>>

                                                                                                             NONZERO    BLOCKS
 ITER EX DEM  TOTAL ENERGY      E CHANGE  DENSITY CHANGE    DIIS ERROR      VIR. SHIFT       DAMPING        INTEGRALS   SKIPPED
          * * *   INITIATING DIIS PROCEDURE   * * *
   1  0  0  -434.359273918  -434.359273918**************   0.000676156     0.000000000     1.000000000             -1 230835077
   2  1  0  -484.570859519   -50.211585601   1.378330879  60.696937501     0.191718895     1.000000000             -1 220440880
   3  2  0  -564.905282460   -80.334422941  33.998870566 230.717968198     0.091718897     1.000000000             -1 220440880
   4  3  0  -522.005967258    42.899315201  48.043352731 132.231704842     0.091718921     1.000000000             -1 220440881
   5  4  0  -615.147126282   -93.141159024  48.912991636 284.451759398     0.091718921     1.000000000             -1 220440880
   6  5  0  -501.008175486   114.138950796  50.567582645 138.445519042     0.091718983     1.000000000             -1 220440885
   7  6  0  -514.529372285   -13.521196799  12.461155802 137.606126900     0.091719423     1.000000000             -1 220440887
   8  7  0  -367.367076079   147.162296206  35.518904269 109.518705567     0.091719467     1.000000000             -1 220440892

>>>etc.

>>>The keywords are:
>>>

 $STATPT HESS=READ $END
 $STATPT NSTEP=100 OPTTOL=1E-6 TRMIN=1E-5 TRMAX=0.001 METHOD=GDIIS $END
 $STATPT MIXED=.F. NSKIP=0 DXMAX=0.05 HSSEND=.T. $END
 $SCF DIRSCF=.T. $END
 $CONTRL MAXIT=100 $END
 $SCF FDIFF=.F. XFDIFF=.T. $END
 $SCF EXTRAP=.F. $END
 $SCF SOSCF=.F. SOGTOL=1000 $END
 $SCF DIIS=.T. ETHRSH=2500 MAXDII=10 $END
 $SCF DAMP=.T. DMPCUT=0.0 $END
 $SCF SHIFT=.T. $END
 $SCF RSTRCT=.F. $END

>>>Is setting RSTRCT=.T. the only solution?

>>>Slawomir
>>>
>>>
>>>On Wed Dec 25 '13 11:28am, Alex Granovsky wrote
>>>-----------------------------------------------
>>>>Dear Slawomir,

>>>>I'm sorry for some delay with my reply.

>>>>The present implementation of gdiis in Firefly works as follows.

>>>>The very initial steps are performed using QA method just to gather
>>>>statistics. The number of QA steps to use is controlled by the NSKIP
>>>>keyword in the $statpt group. The default is nskip=2.

>>>>After performing initial QA steps, algorithm switches to gdiis.
>>>>While working in the gdiis mode, it is still possible for algorithm
>>>>to select pure NR step if it seems to be more efficient at a given
>>>>geometry update step. This fallback to NR steps can be disabled by
>>>>setting MIXED keyword of $statpt group to .false.

>>>>Finally, if gdiis is invoked for TS searche, it executes QA procedure.  

>>>>Hope this helps.

>>>>All the best,
>>>>Alex
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>On Thu Dec 19 '13 5:20pm, Slawomir Janicki wrote
>>>>------------------------------------------------
>>>>>Hi,
>>>>>How can I delay switching from GDIIS to NR method in geometry optimization?

>>>>>When NR kicks in a large step causes SCF convergence to fail, presumably because of a bad guess. I tried to decrease DXMAX to 0.001, but there seems to be no effect on when NR starts.

>>>>>Is there a better way to delay or prevent switching to NR? Alternatively, is there a way to reduce the NR step size?

>>>>>Below is an example of the step when NR starts:

>>>>>

          MAXIMUM GRADIENT =  0.0462724    RMS GRADIENT = 0.0142135
          FORCE CONSTANT MATRIX NOT UPDATED --- TAKING FIRST STEP
          MIN SEARCH, CORRECT HESSIAN, TRYING PURE NR STEP
               NR STEP HAS LENGTH         =  92.651197
          TRIM/QA LAMBDA FOR NON-TS MODES = -84.40598785
          TRIM/QA STEP HAS LENGTH         =   0.001000
          RADIUS OF STEP TAKEN=   0.00100  CURRENT TRUST RADIUS=   0.00100
          TRANSFORMING DISPLACEMENT FROM INTERNALS TO CARTESIANS
          THE ROOT MEAN SQUARE ERROR IN ITERATION   1 IS   0.00000001
          THE ROOT MEAN SQUARE ERROR IN ITERATION   2 IS   0.00000000
          MAX PRIMITIVE INTERNAL COORDINATE DEVIATION IS   0.00000000
          INTERNAL COORDINATES SELF-INCONSISTENCY     IS   0.00000303

>>>>>Slawomir


[ Previous ] [ Next ] [ Index ]           Wed Jan 1 '14 7:54pm
[ Reply ] [ Edit ] [ Delete ]           This message read 498 times