PSI3 is capable of carrying out geometry optimizations (minimization only, at present) for a variety of molecular structures using either analytic and numerical energy gradients.
When present, internal coordinates provided in the INTCO: section of the input will be read and used by PSI3. If these are missing, PSI3 will automatically generate and use redundant, simple internal coordinates for carrying out the optimization. These simple stretch, bend, torsion, and linear bend coordinates are determined by distance criteria using the input geometry.
By default, optimization is performed in redundant internal coordinates regardless of how the geometry was provided in the input. Alternatively, the user may specify zmat_simples=true, in which case the simple internal coordinates will be taken from the ZMAT given in the input file. Also, the user may specify optimization in non-redundant, delocalized internal coordinates with delocalize=true. In this case, the automatically generated simple coordinates are delocalized and redandancies are removed. Advanced users may wish to specify the simple internal coordinates in the intco.dat file, and then allow PSI3 to delocalize them.
Only those coordinates or combinations of coordinates that are specified
by the "symm =" keyword in the INTCO: section are optimized. Coordinates can
be approximately frozen by commenting them out within the "symm =" section.
Geometrical constraints may be precisely imposed by the addition of a section
with nearly the same format as in INTCO:. For example, to fix the distance
between atoms 1 and 2, as well as the angle between atoms 2, 1 and 3
in an optimization, add the following to your input file.
fixed_intco: (
stre = (
(1 2)
)
bend = (
(2 1 3)
)
)
The constrained simple internals must be ones present (either manually or automatically) among the simple internals in the INTCO: section. Alternatively, the z-matrix input format may be used to specify constrained optimizations. If zmat_simples=true, then variables in the z-matrix which end in a dollar sign will be taken as simple internals to be optimized, and all other variables will be taken as simple internals to keep frozen.
To aid optimizations, force constants may be computed using "jobtype = symm_fc". The determined force constants will be saved in a binary file PSIF_OPTKING (currently file 1). Subsequent optimizations will read and use these force constants. In general, PSI3 looks for force constants in the following order: in this binary file, in the FCONST: section of the input, and in the fconst.dat file. If no force constants are found in any of these, then an empirical diagonal force constant matrix is generated.
For methods for which only energies are available, PSI3 will use non-redundant, symmetry-adapted delocalized internal coordinates to generate geometrical displacements for computing finite-difference gradients. The simple coordinates can be linearly combined by hand or automatically. The goal is to form 3N-6(5) symmetry-adapted internal coordinates. The automated delocalized coordinates may work for low-symmetry molecules without linear angles, but have not been extensively tested. For both analytic- and finite-difference-gradient optimization methods, Hessian updates are performed using the BFGS method.
The list below shows which coordinates are used by default for different types of jobs.
jobtype=freq dertype=first symmetry-adapted cartesians
jobtype=freq dertype=none symmetry-adapted cartesians
jobtype=fc dertype=first delocalized internals (or user-defined SALCs)
jobtype=symm_fc dertype=first delocalized internals (or user-defined SALCs)
jobtype=opt dertype=first redundant internals
jobtype=opt dertype=none delocalized internals (or user-defined SALCS)
The following keywords are pertinent for geometry optimizations.