Startseite    

The Hessian

Although quasi-Newton methods require only an approximation to the true hessian, the choice of this matrix has a great affect on convergence of the geometry search.
There is a procedure contained within GAMESS for guessing a diagonal, positive definite hessian matrix, HESS=GUESS.
If you are using Cartesian coordinates, the guess hessian is 1/3 times the unit matrix. The guess is more sophisticated when internal coordinates are defined, as empirical rules will be used to estimate stretching and bending force constants. Other force constants are set to 1/4. The diagonal guess often works well for minima, but cannot possibly
find transition states (because it is positive definite). Therefore, GUESS may not be selected for SADPOINT runs.
Two options for providing a more accurate hessian are HESS=READ and CALC. For the latter, the true hessian is obtained by direct calculation at the initial geometry, and then the geometry search begins, all in one run. The READ option allows you to feed in the hessian in a $HESS group, as obtained by a RUNTYP=HESSIAN job. The second procedure is actually preferable, as you get a chance to see the frequencies. Then, if the local curvatures look good, you can commit to the geometry search. Be sure to include a $GRAD group (if the exact gradient is available) in
the HESS=READ job so that GAMESS can take its first step immediately.
Note also that you can compute the hessian at a lower basis set and/or wavefunction level, and read it into a higher level geometry search. In fact, the $HESS group could be obtained at the semiempirical level. This trick works because the hessian is 3Nx3N for N atoms, no matter what atomic basis is used. The gradient from the lower level is of course worthless, as the geometry search must work with the exact gradient of the wavefunction and basis set in currentuse. Discard the $GRAD group from the lower level calculation!
You often get what you pay for. HESS=GUESS is free, but may lead to significantly more steps in the geometry search. The other two options are more expensive at the beginning, but may pay back by rapid convergence to the stationary point.
The hessian update frequently improves the hessian for a few steps (especially for HESS=GUESS), but then breaks down. The symptoms are a nice lowering of the energy or the RMS gradient for maybe 10 steps, followed by crazy steps. You can help by putting the best coordinates into $DATA, and resubmitting, to make a fresh determination of the hessian.
The default hessian update for OPTIMIZE runs is BFGS, which is likely to remain positive definite. The POWELL update is the default for SADPOINT runs, since the hessian can develop a negative curvature as the search progresses. The POWELL update is also used by the METHOD=NR and CONOPT since the Hessian may have any number of negative eigenvalues in these cases. The MSP update is a mixture of Murtagh-Sargent and Powell, suggested by Josep Bofill, (J.Comput.Chem., 15, 1-11, 1994 ). It sometimes works slightly better than Powell,
so you may want to try it.

---------------------------------
HESSIAN MATRIX CONTROL PARAMETERS
---------------------------------
METHOD=NUMERIC    NVIB = 1      VIBSIZ= 0.01000
RDHESS= F         PURIFY= F     PRTIFC= F
VIBANL= T         DECOMP= F     PROJCT= F
SCLFAC= 1.00000   PRTSCN= F     NPRT = 0
PULCOR= F         NPUN = 0      REDOVB= T

RUNTYP=HESSIAN funktioniert auch für CI, aber nur für SCFTYP=RHF. Ohne CI funktioniert ROHF!
 

$HESS

force constant matrix


$HESS group (relevant for RUNTYP=HESSIAN if RDHESS=.TRUE.) (relevant for RUNTYP=IRC if FREQ,CMODE not given) (relevant for RUNTYP=OPTIMIZE,SADPOINT if HESS=READ)

Formatted force constant matrix (FCM), i.e. hessian matrix. This data is punched out by a RUNTYP=HESSIAN job, in the correct format for subsequent runs. The first card in the group must be a title card. A $HESS group is always punched in Cartesians. It will be transformed into internal coordinate space if a geometry search uses internals. It will be mass weighted (according to $MASS) for IRC and frequency runs. The initial FCM is updated during the course of a geometry optimization or saddle point search, and will be punched if a run exhausts its time limit. This allows restarts where the job leaves off. You may want to read this FCM back into the program for your restart, or you may prefer to regenerate a new initial hessian. In any case, this updated hessian is absolutely not suitable for frequency prediction!

Die $HESS group wird bei einer Geometrieoptimierung im Punch-File erzeugt.


$GRAD

gradient vector


$GRAD group (relevant for RUNTYP=OPTIMIZE or SADPOINT) (relevant for RUNTYP=HESSIAN when RDHESS=.TRUE.)

Formatted gradient vector at the $DATA geometry. This data is read in the same format it was punched out. For RUNTYP=HESSIAN, this information is used to determine if you are at a stationary point, and possibly for projection. If omitted, the program pretends the gradient is zero, and otherwise proceeds normally. For geometry searches, this information (if known) can be read into the program so that the first step can be taken instantly.

$DIPDR

dipole deriv. matrix 


$DIPDR group (relevant for RUNTYP=HESSIAN if RDHESS=.T.)

Formatted dipole derivative tensor, punched in a previous RUNTYP=HESSIAN job. If this group is omitted, then a vibrational analysis will be unable to predict the IR intensities, but the run can otherwise proceed.

 

Seitenanfang Beispiel