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,

Sorry for the delayed reply.

We have very carefully checked your input file and performed
multiple numeric simulations with it. Our conclusion is that
the only reason causing such an unstable behavior is the partial
loss of precision due to overlap matrix being very badly defined
(the condition number of overlap matrix is ca. 10.0). This results
in the variational collapse at one of SCF iterations.

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 ]           Sat Feb 8 '14 11:27am
[ Reply ] [ Edit ] [ Delete ]           This message read 474 times