Alex Granovsky
gran@classic.chem.msu.su
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
>>>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