Here we introduce several hooks that improove calculation speed.

1) Using GUESS=MOREAD and other «continuators» to fast continue broken calculation.

2) Using delocalized coordinates and Z-matrix to improove geometry optimization convergency.

3) Preoptimization with pure basis set and theory level.

Restart GAMESS run

Several types of calculations can be restart. At first, we can use previously calculated wavefunctions as a first approximation for SCF procedure. So we should go into OUTPUT-file and find lines like these:

 TOTAL NUMBER OF SHELLS = 74
 TOTAL NUMBER OF BASIS FUNCTIONS = 269
 NUMBER OF ELECTRONS = 130
 CHARGE OF MOLECULE = -3
 STATE MULTIPLICITY = 1

Now you know that your system contains 74 shells. Then go to the PUNCH file and find the latest $VEC group:

љ$VEC
љ1љ 1 9.96242274E-01 1.40682667E-02-2.17905093E-06 3.78722946E-05 9.40060421E-06
љ1љ 2-2.78947620E-02 4.55160705E-06-7.87348757E-05-1.95445329E-05 7.96878327E-03
љ1љ 3 1.05104589E-05-1.87329222E-04-4.68646531E-05 1.86244431E-04 3.11302931E-06
...
69 51 2.13592066E+00-2.39107069E-01 6.76959357E-02 2.98433320E-01-5.70259935E-01
69 52 9.05972890E-02 7.40186440E-03 1.27145022E-02-5.17797308E-01-5.31307542E-01
69 53-4.67744067E-01-1.75641321E-02-5.09476733E-02 3.16446772E-02 1.84275386E-01
69 54-2.26933776E-01 1.24876769E-01 9.76844513E-02-9.22205649E-03
љ$END 

Total amount of functions printed in $VEC should be equal to total number of basis functions (269) but only first 74 have a sense for self-consistent procedure. So we can copy all the $VEC group into our input and write the following:

$guess guess=moread norb=74 $end
$vec
...
$end

That’s all. This calculation will be started from precalculated wavefunctions. Often it keeps much computational time and sometimes it is only way to reach SCF convergency.

If we want to calculate triplet state of our molecule and singlet state have been already computed we can use singlet-state wavefunction as an guess for triplet run. But in UHF/ROHF run $vec contains alpha- and beta- part of the wavefunction. So we copy the contents of singlet $vec and paste it twise into $vec group of UHF guess. Visually:

$vec
SINGLET_STRING_1
SINGLET_STRING_2
SINGLET_STRING_3
SINGLET_STRING_4
SINGLET_STRING_1
SINGLET_STRING_2
SINGLET_STRING_3
SINGLET_STRING_4
$end

If your HESSIAN computation was stopped you can open IRC-file and copy $VIB group from start to the bottom of file. Copy it all to your hessian input, put $end to the end of $vib group and start this input again.

 

Using Z-matrix

The simpliest way to generate Z-matrix is to use babel:

$ babel -ixyz ether.xyz -ogzmat gzmat

The Gaussian-type Z-matrix will be generated it will be in the following format:

Ethyl radical

0љ 2
C
Cљ 1љ r2
Hљ 1љ r3љ 2љ a3
Hљ 1љ r4љ 2љ a4љ 3љ d4
Hљ 2љ r5љ 1љ a5љ 3љ d5
Hљ 2љ r6љ 1љ a6љ 3љ d6
Hљ 2љ r7љ 1љ a7љ 3љ d7
Variables:
r2= 1.4587
r3= 1.0814
a3= 120.92
r4= 1.0807
a4= 121.99
d4= 180.03
r5= 1.0971
a5= 112.83
d5= 179.87
r6= 1.0976
a6= 110.22
d6= 300.35
r7= 1.0976
a7= 110.26
d7=љ 59.36

Format the matrix according to following instructions:

  1. Make «Variables:» string empty
  2. Remove «=» symbols (keep spaces instead)
  3. First line should be comment, second — symmetry.
  4. Check your result according to the template:
! whole group
 $data
Ethyl radical
C1
C
Cљ 1љ r2
Hљ 1љ r3љ 2љ a3
Hљ 1љ r4љ 2љ a4љ 3љ d4
Hљ 2љ r5љ 1љ a5љ 3љ d5
Hљ 2љ r6љ 1љ a6љ 3љ d6
Hљ 2љ r7љ 1љ a7љ 3љ d7

r2 1.4587
r3 1.0814
a3 120.92
r4 1.0807
a4 121.99
d4 180.03
r5 1.0971
a5 112.83
d5 179.87
r6 1.0976
a6 110.22
d6 300.35
r7 1.0976
a7 110.26
d7љ 59.36
 $end

To make optimization algorithm work in internal coordinates — put NZVAR=3N-6 in $CONTRL group and form $ZMAT group as following:

љ$zmat izmat(1)=
љљљ 1, 2, 1
љљљ 1, 3, 1,
љљљ 1, 4, 1,
љљљ 1, 5, 2,
љљљ 1, 6, 2,
љљљ 1, 7, 2,
љљљ 2, 3, 1, 2,
љљљ 2, 4, 1, 2,
љљљ 2, 5, 2, 1,
љљљ 2, 6, 2, 1,
љљљ 2, 7, 2, 1,
љљљ 3, 4, 1, 2, 3,
љљљ 3, 5, 2, 1, 3,
љљљ 3, 6, 2, 1, 3,
љљљ 3, 7, 2, 1, 3
љ$end

The first number means 1 for bond, 2 for angle and 3 for dihedral. This matrix can be built simply from the main Z-matrix. Only this section is really sufficient. Coordinates could be given in cartesian format but if IZMAT fields is fill Firefly will try to use internal coordinates for optimization. Jacobian of transition matrix between cartesian and Z-matrix coordinates should have non-zero determinant. If linear dependency exists in your internals GAMESS says something about it.

Preoptimization strategies

— under construction —