Geometry Optimization

I find the best way to optimize molecular geometry is to use the Z-matrix ($zmat group) to specify the internal coordinates being optimized. Notice, this is different from specifying the geometry using coord=zmt. Actually I think you are supposed to be able to specify the geometry with coord=unique and then use a $zmat group with nzvar=# to optimize specific internal coordinates. However, I have not had much luck with the mixed approach. Below is a working example to optimize the geometry of the HF dimer with a fixed F-F distance.

$contrl coord=zmt icharg=0 ispher=1 mult=1 units=angstrom
numgrd=.true. runtyp=optimize scftyp=rhf nzvar=6 $end
$system mwords=20 memddi=10 timlim=220 $end
$scf dirscf=.true. $end
$basis gbasis=cct $end
$guess guess=huckel $end
$zmat izmat(1)=1,1,2, 1,2,3, 2,1,2,3, 1,3,4, 2,2,3,4, 3,1,2,3,4
ifzmat(1)=1,2,3 fvalue(1)=2.72 $end
$DATA
FHFH
C1
H
F 1 HF
F 2 FF 1 HFF
H 3 FH 2 FFH 1 HFFH

HF=0.9
FF=2.72
HFF=8.73
FH=0.9
FFH=114
HFFH=0
$END

In summary: Use $zmat group’s izmat together with ifzmat and fvalue to optimize selected internal coordinates.

Some useful links:

  1. Jan Jensen NONVDW
  2. Raymond Fort ZMT
  3. Alexander Bednyakov FVALUE
  4. Rupali Mane IFREEZ