.. index::
single: Geometry
single: Optimization; Minima
single: Hessian
.. _TUT\:sec\:optim:
Geometry optimizations and Hessians
===================================
.. only:: html
.. contents::
:local:
:backlinks: none
To optimize a molecular geometry is probably one of the most frequent
interests of a quantum chemist :cite:`Helgaker:92`. In the present section we examine
some examples of obtaining stationary points on the energy surfaces.
We will focus in this section in searching of minimal energy points,
postponing the discussion on transition states to :numref:`TUT:sec:path`.
This type of calculations require the computation of molecular gradients,
whether using analytical or numerical derivatives. We will also examine
how to obtain the full geometrical Hessian for a molecular state, what
will provide us with vibrational frequencies within the harmonic
approximation and thermodynamic properties by the use of the proper
partition functions.
The program :program:`ALASKA` computes analytical gradients for optimized wave
functions. In |molcas| the SCF, DFT, and CASSCF/RASSCF levels of calculation are
available. The program :program:`ALASKA` also computes numerical gradients
from CASPT2 and MS-CASPT2 energies. Provided with the first order derivative matrix with respect to the
nuclei and an approximate guess of the Hessian matrix, the program
SLAPAF is then used to optimize molecular structures. From |molcasv| it is
not necessary to explicitly define the set of internal coordinates
of the molecule in the SLAPAF input. Instead a redundant coordinates
approach is used. If the definition is absent
the program builds its own set of parameters based on
curvature-weighted non-redundant internal coordinates and displacements
:cite:`Lindh:97`. As they depend
on the symmetry of the system it might be somewhat difficult in some
systems to define them. It is, therefore, strongly recommended to let
the program define its own set of non-redundant internal coordinates.
In certain situations such as bond dissociations the previous coordinates
may not be appropriate and the code directs the user to use instead
Cartesian coordinates, for instance.
.. index::
single: Ground state
single: Optimization; Ground state
Ground state optimizations and vibrational analysis
---------------------------------------------------
As an example we are going to work with the 1,3-cyclopentadiene
molecule. This is a five-carbon system forming a ring which has
two conjugated double bonds. Each carbon has one attached
hydrogen atom except one which has two. We will use the
CASSCF method and
take advantage of the symmetry properties of the molecule to
compute ground and excited states. To ensure
the convergence of the results we will also perform
Hessian calculations to compute the force fields at the
optimized geometries.
In this section we will combine two types of procedures to perform
calculations in |molcas|. The user may then choose the most convenient
for her/his taste. We can use an general script and perform an input-oriented
calculation, when all the information relative to the calculation, including
links for the files and control of iterations, are inserted in the input
file. The other procedure is the classical script-oriented system used in
previous examples and typically previous versions of |molcas|. Let's start
by making an input-oriented optimization. A script is still needed to
perform the basic definitions, although they can be mostly done within the
input file. A suggested form for this general script could be: ::
#!/bin/sh
export MOLCAS=/home/molcas/molcashome
export MOLCAS_MEM=64
export Project=Cyclopentadiene1
export HomeDir=/home/somebody/somewhere
export WorkDir=$HomeDir/$Project
[ ! -d $WorkDir ] && mkdir $WorkDir
molcas $HomeDir/$Project.input >$HomeDir/$Project.out 2>$HomeDir/$Project.err
exit
We begin by defining the input for the initial calculation.
In simple cases the optimization procedure is very efficient.
We are going, however, to design a more complete procedure that
may help in more complex situations.
It is sometimes useful to start the optimization in a small
size basis set and use the obtained approximate Hessian to
continue the calculation with larger basis sets. Therefore,
we will begin by using the minimal STO-3G basis set to optimize
the ground state of 1,3-cyclopentadiene within |Ctv| symmetry.
.. index::
single: Cyclopentadiene
.. figure:: cyclope.*
:name: fig:cyclope
:width: 50%
:align: center
1,3-cyclopentadiene
.. We will use the following input in an input-oriented calculation.
Notice that we have directed the output files sequentially (one
per iteration) to the $WorkDir directory by using the
:command:`Set Output File` command, the maximum number of
iterations of the subsequent loops, and the starting and end
of the loops on each step of the optimization procedure by
using the commands :command:`Do while` and :command:`EndDo`.
It is important than the
parameter MaxIter never goes beyond the number of iterations
in the :program:`SLAPAF` input.
.. index::
single: Program; ALASKA
single: Program; SLAPAF
single: SLAPAF; Initial Hessian
.. extractfile:: advanced/OPT.hessian.input
>>> EXPORT MOLCAS_MAXITER=50
&GATEWAY; Title=1,3,-cyclopentadiene. STO-3G basis set.
Symmetry= X XY
Basis set
C.STO-3G....
C1 0.000000 0.000000 0.000000 Bohr
C2 0.000000 2.222644 1.774314 Bohr
C3 0.000000 1.384460 4.167793 Bohr
End of basis
Basis set
H.STO-3G....
H1 1.662033 0.000000 -1.245623 Bohr
H2 0.000000 4.167844 1.149778 Bohr
H3 0.000000 2.548637 5.849078 Bohr
End of basis
>>> Do while <<<
&SEWARD
>>> IF ( ITER = 1 )
&SCF
TITLE= cyclopentadiene molecule
OCCUPIED=9 1 6 2
ITERATIONS=40
>>> END IF
&RASSCF
TITLE=cyclopentadiene molecule 1A1
SYMMETRY=1; SPIN=1
NACTEL= 6 0 0
INACTIVE= 9 0 6 0
RAS2= 0 2 0 3 <--- All pi valence orbitals active
ITER= 50,25; CIMX= 25
&ALASKA
&SLAPAF; Iterations=80; Thrs=0.5D-06 1.0D-03
>>> EndDo <<<
>>> COPY $Project.RunFile $CurrDir/$Project.ForceConstant.STO-3G
.. index::
single: Force Constant; From a file
A copy of the :file:`RUNFILE` has been made at the end of the input stream.
This saves the file for use as (a) starting geometry and (b)
a guess of the Hessian matrix in the following calculation.
The link can be also done in the shell
script.
.. index::
single: SEWARD
single: SEWARD; Symmetry
single: SEWARD; Test
The generators used to define the
|Ctv| symmetry are X and XY, plane :math:`yz` and axis :math:`z`. They
differ from those used in other examples as in :numref:`TUT:sec:nih`.
The only consequence is that the order of the symmetries in :program:`SEWARD`
differs. In the present case the order is: |ao|, |at|, |bo|, and |bt|,
and consequently the classification by symmetries of the orbitals
in the SCF and RASSCF inputs will differ. It is therefore
recommended to initially use the option :kword:`TEST` in the :program:`GATEWAY` input
to check the symmetry option. This option, however, will stop the calculation
after the :program:`GATEWAY` input head is printed.
The calculation converges in four steps. We change now the input. We can
choose between replacing by hand the geometry of the :program:`SEWARD` input
or use the same $WorkDir directory and let the program to take the last
geometry stored into the :file:`RUNFILE` file. In any case the
new input can be:
.. index::
single: Program; ALASKA
single: Program; SLAPAF
single: SLAPAF; Internal coordinates
single: SLAPAF; Initial Hessian
.. extractfile:: advanced/OPT.internal_coord.input
>>COPY $CurrDir/OPT.hessian.ForceConstant.STO-3G $Project.RunOld
&GATEWAY; Title=1,3,-cyclopentadiene molecule
Symmetry=X XY
Basis set
C.ANO-L...4s3p1d.
C1 .0000000000 .0000000000 -2.3726116671
C2 .0000000000 2.2447443782 -.5623842095
C3 .0000000000 1.4008186026 1.8537195887
End of basis
Basis set
H.ANO-L...2s.
H1 1.6523486260 .0000000000 -3.6022531906
H2 .0000000000 4.1872267035 -1.1903003793
H3 .0000000000 2.5490335048 3.5419847446
End of basis
>>> Do while <<<
&SEWARD
>>> IF ( ITER = 1 ) <<<<
&SCF
TITLE=cyclopentadiene molecule
OCCUPIED= 9 1 6 2
ITERATIONS= 40
>>> ENDIF <<<
&RASSCF; TITLE cyclopentadiene molecule 1A1
SYMMETRY=1; SPIN=1; NACTEL=6 0 0
INACTIVE= 9 0 6 0
RAS2 = 0 2 0 3
ITER=50,25; CIMX= 25
&SLAPAF; Iterations=80; Thrs=0.5D-06 1.0D-03
OldForce Constant Matrix
>>> EndDo <<<
.. index::
single: SLAPAF; Initial Hessian
The :file:`RUNOLD` file will be used by :program:`SEWARD` to pick up
the molecular structure on the initial iteration and
by :program:`SLAPAF` as initial Hessian
to carry out the relaxation. This use of the :file:`RUNFILE` can be
done between any different calculations provided they work in the
same symmetry.
In the new basis set, the resulting
optimized geometry at the CASSCF level in |Ctv| symmetry is: ::
********************************************
* Values of internal coordinates *
********************************************
C2C1 2.851490 Bohr
C3C2 2.545737 Bohr
C3C3 2.790329 Bohr
H1C1 2.064352 Bohr
H2C2 2.031679 Bohr
H3C3 2.032530 Bohr
C1C2C3 109.71 Degrees
C1C2H2 123.72 Degrees
C2C3H3 126.36 Degrees
H1C1H1 107.05 Degrees
Once we have the optimized geometry we can obtain the
force field, to compute the force constant matrix and
obtain an analysis of the harmonic frequency. This is done by
computing the analytical Hessian at the optimized geometry.
Notice that this is a single-shot calculation using the
:program:`MCKINLEY`, which will automatically start the :program:`MCLR` module
in case of a frequency calculation.
.. index::
single: Program; McKinley
single: Program; MCLR
single: Hessian
.. extractfile:: advanced/MCLR.cyclopentadiene.input
&GATEWAY; Title=1,3,-cyclopentadiene molecule
Symmetry= X XY
Basis set
C.ANO-L...4s3p1d.
C1 0.0000000000 0.0000000000 -2.3483061484
C2 0.0000000000 2.2245383122 -0.5643712787
C3 0.0000000000 1.3951643642 1.8424767578
End of basis
Basis set
H.ANO-L...2s.
H1 1.6599988023 0.0000000000 -3.5754797471
H2 0.0000000000 4.1615845660 -1.1772096132
H3 0.0000000000 2.5501642966 3.5149458446
End of basis
&SEWARD
&SCF; TITLE=cyclopentadiene molecule
OCCUPIED= 9 1 6 2
ITERATIONS= 40
&RASSCF; TITLE=cyclopentadiene molecule 1A1
SYMMETRY=1; SPIN=1; NACTEL= 6 0 0
INACTIVE= 9 0 6 0
RAS2 = 0 2 0 3
ITER= 50,25; CIMX=25
&MCKINLEY
.. index::
single: Harmonic frequencies
Cyclopentadiene has 11 atoms, that mean :math:`3N = 33` Cartesian degrees of freedom.
Therefore the :program:`MCLR` output will contain 33 frequencies. From those,
we are just interested in the :math:`3N-6 = 27` final degrees of freedom that
correspond to the normal modes of the system. We will discard from the
output the three translational (:math:`T_i`) and three rotational (:math:`R_i`) coordinates.
The table of characters gives us the classification of these six coordinates:
:math:`a_1` (:math:`T_z`), :math:`a_2` (:math:`R_z`), :math:`b_2` (:math:`T_x`, :math:`R_y`), :math:`b_1` (:math:`T_y`, :math:`R_x`).
This information is found in the Seward output: ::
Character Table for C2v
E s(yz) C2(z) s(xz)
a1 1 1 1 1 z
a2 1 -1 1 -1 xy, Rz, I
b2 1 1 -1 -1 y, yz, Rx
b1 1 -1 -1 1 x, xz, Ry
.. NOTE: contains a nbsp
It is simply to distinguish these frequencies because they must be zero,
although and because of numerical inaccuracies they will be simply close
to zero. Note that the associated intensities are nonsense.
In the present calculation the harmonic frequencies, the infrared
intensities, and the corresponding normal modes printed below in Cartesian
coordinates are the following: ::
Symmetry a1
==============
1 2 3 4 5 6
Freq. 0.04 847.85 966.08 1044.69 1187.61 1492.42
Intensity: 0.646E-08 0.125E-02 0.532E+01 0.416E+00 0.639E-01 0.393E+01
C1 z 0.30151 0.35189 -0.21166 -0.11594 0.06874 0.03291
C2 y 0.00000 0.31310 0.14169 0.12527 -0.01998 -0.08028
C2 z 0.30151 -0.02858 0.06838 -0.00260 0.02502 -0.06133
C3 y -0.00000 0.04392 -0.07031 0.23891 -0.02473 0.16107
C3 z 0.30151 -0.15907 0.00312 0.08851 -0.07733 -0.03146
H1 x 0.00000 -0.02843 -0.00113 -0.01161 0.00294 0.04942
H1 z 0.30151 0.31164 -0.21378 -0.13696 0.08233 0.11717
H2 y 0.00000 0.24416 0.27642 0.12400 0.11727 0.07948
H2 z 0.30151 -0.25054 0.46616 -0.05986 0.47744 0.46022
H3 y -0.00000 -0.29253 -0.28984 0.59698 0.34878 -0.34364
H3 z 0.30151 0.07820 0.15644 -0.13576 -0.34625 0.33157
7 8 9 10 11
Freq. 1579.76 1633.36 3140.69 3315.46 3341.28
Intensity: 0.474E+01 0.432E+00 0.255E+02 0.143E+02 0.572E+01
...
Symmetry a2
==============
1 2 3 4 5
Freq. i9.26 492.62 663.74 872.47 1235.06
...
Symmetry b2
==============
1 2 3 4 5 6
Freq. i10.61 0.04 858.72 1020.51 1173.33 1386.20
Intensity: 0.249E-01 0.215E-07 0.259E+01 0.743E+01 0.629E-01 0.162E+00
...
7 8 9 10
Freq. 1424.11 1699.07 3305.26 3334.09
Intensity: 0.966E+00 0.426E+00 0.150E+00 0.302E+02
...
Symmetry b1
==============
1 2 3 4 5 6
Freq. i11.31 0.11 349.15 662.98 881.19 980.54
Intensity: 0.459E-01 0.202E-06 0.505E+01 0.896E+02 0.302E+00 0.169E+02
...
7
Freq. 3159.81
Intensity: 0.149E+02
...
Apart from the six mentioned translational and rotational coordinates
There are no imaginary frequencies and therefore the geometry corresponds
to a stationary point within the :math:`C_{2v}` symmetry.
The frequencies are expressed in reciprocal centimeters.
After the vibrational analysis the zero-point energy correction and the thermal
corrections to the total energy, internal, entropy, and Gibbs free energy.
The analysis uses the standard expressions for an ideal gas in the canonical
ensemble which can be found in any standard statistical mechanics book.
The analysis is performed at different temperatures, for instance: ::
*****************************************************
Temperature = 273.00 kelvin, Pressure = 1.00 atm
-----------------------------------------------------
Molecular Partition Function and Molar Entropy:
q/V (M**-3) S(kcal/mol*K)
Electronic 0.100000D+01 0.000
Translational 0.143889D+29 38.044
Rotational 0.441593D+05 24.235
Vibrational 0.111128D-47 3.002
TOTAL 0.706112D-15 65.281
Thermal contributions to INTERNAL ENERGY:
Electronic 0.000 kcal/mol 0.000000 au.
Translational 0.814 kcal/mol 0.001297 au.
Rotational 0.814 kcal/mol 0.001297 au.
Vibrational 60.723 kcal/mol 0.096768 au.
TOTAL 62.350 kcal/mol 0.099361 au.
Thermal contributions to
ENTHALPY 62.893 kcal/mol 0.100226 au.
GIBBS FREE ENERGY 45.071 kcal/mol 0.071825 au.
Sum of energy and thermal contributions
INTERNAL ENERGY -192.786695 au.
ENTHALPY -192.785831 au.
GIBBS FREE ENERGY -192.814232 au.
Next, polarizabilities (see below) and isotope shifted frequencies are also displayed
in the output. ::
************************************
* *
* Polarizabilities *
* *
************************************
34.76247619
-0.00000000 51.86439359
-0.00000000 -0.00000000 57.75391824
For a graphical representation of the harmonic frequencies one can also use the
:file:`$Project.freq.molden` file as an input to the MOLDEN program.
.. index::
single: Excited states
single: Optimization; Excited states
Excited state optimizations
---------------------------
The calculation of excited states using the :program:`ALASKA` and :program:`SLAPAF` codes
has no special characteristic. The wave function is defined by the
:program:`SCF` or :program:`RASSCF` programs. Therefore if we want to optimize an excited
state the :program:`RASSCF` input has to be defined accordingly. It is not,
however, an easy task, normally because the excited states have lower
symmetry than the ground state and one has to work in low order
symmetries if the full optimization is pursued.
(:numref:`fig:thiophene`)
.. index::
single: Thiophene
Take the example of the thiophene molecule (see :numref:`fig:thiophene`).
The ground state has
|Ctv| symmetry: :math:`1^1A_1`. The two lowest valence excited states
are :math:`2^1A_1` and :math:`1^1B_2`. If we optimize the geometries within
the |Ctv| symmetry the calculations converge easily for the three
states. They are the first, second, and first roots of their
symmetry, respectively. But if we want to make a full optimization
in :math:`C_1`, or even a restricted one in :math:`C_s`, all three states belong
to the same symmetry representation. The higher the root more
difficult is to converge it. A geometry optimization requires
single-root optimized CASSCF wave-functions, but, unlike in previous |molcas|
versions, we can now carry out State-Average (SA) CASSCF calculations
between different roots. The wave functions we have with this procedure
are based on an averaged density matrix, and a further orbital relaxation
is required. The :program:`MCLR` program can perform such a task by means
of a perturbational approach. Therefore, if we choose to carry out a
SA-CASSCF calculations in the optimization procedure, the :program:`Alaska`
module will automatically start up the :program:`MCLR` module.
.. compound::
We are going to optimize the three states of thiophene in |Ctv|
symmetry. The inputs are:
.. index::
single: Program; ALASKA
single: Program; SLAPAF
single: Program; MCLR
single: SLAPAF; Excited states
.. extractfile:: advanced/OPT.excited.input
&GATEWAY; Title=Thiophene molecule
Symmetry= X XY
Basis set
S.ANO-S...4s3p2d.
S1 .0000000000 .0000000000 -2.1793919255
End of basis
Basis set
C.ANO-S...3s2p1d.
C1 .0000000000 2.3420838459 .1014908659
C2 .0000000000 1.3629012233 2.4874875281
End of basis
Basis set
H.ANO-S...2s.
H1 .0000000000 4.3076765963 -.4350463731
H2 .0000000000 2.5065969281 4.1778544652
End of basis
>>> Do while <<<
&SEWARD
>>> IF ( ITER = 1 ) <<<
&SCF; TITLE=Thiophene molecule
OCCUPIED= 11 1 7 3
ITERATIONS= 40
>>> ENDIF <<<
&RASSCF; TITLE=Thiophene molecule 1 1A1
SYMMETRY=1; SPIN=1; NACTEL= 6 0 0
INACTIVE= 11 0 7 1
RAS2 = 0 2 0 3
ITER= 50,25
&ALASKA
&SLAPAF
End of Input
>>> ENDDO <<<
for the ground state. For the two excited states we will replace
the :program:`RASSCF` inputs with
.. index::
single: RASSCF
single: Program; RASSCF
::
&RASSCF; TITLE=Thiophene molecule 2 1A1
SYMMETRY=1; SPIN=1; NACTEL= 6 0 0
INACTIVE= 11 0 7 1
RAS2 = 0 2 0 3
ITER= 50,25
CIROOT= 2 2; 1 2; 1 1
LEVSHFT=1.0
RLXRoot= 2
for the :math:`2^1A_1` state.
Notice that we are doing a SA-CASSCF calculation
including two roots, therefore we must use
the keyword :kword:`RLXROOT` within the :program:`RASSCF` input
to specify for which state we want the root.
We have also
::
&RASSCF; TITLE=Thiophene molecule 1 1B2
SYMMETRY=2; SPIN=1; NACTEL= 6 0 0
INACTIVE= 11 0 7 1
RAS2 = 0 2 0 3
ITER= 50,25
LEVSHFT=1.0
for the :math:`1^1B_2` state.
To help the program to converge we can include one or more initial :program:`RASSCF`
inputs in the input file.
The following is an example for the calculation
of the of the :math:`3^1A'` state of thiophene (:math:`C_s` symmetry) with a previous
calculation of the ground state to have better starting orbitals.
.. index::
single: Convergence problems; Do always option
single: Hessian
single: SLAPAF; Numerical Hessian
single: Program; SLAPAF
single: Program; ALASKA
.. extractfile:: advanced/OPT.numerical.input
&GATEWAY; Title= Thiophene molecule
Symmetry=X
Basis set
S.ANO-S...4s3p2d.
S1 .0000000000 .0000000000 -2.1174458547
End of basis
Basis set
C.ANO-S...3s2p1d.
C1 .0000000000 2.4102089951 .1119410701
C1b .0000000000 -2.4102089951 .1119410701
C2 .0000000000 1.3751924147 2.7088559532
C2b .0000000000 -1.3751924147 2.7088559532
End of basis
Basis set
H.ANO-S...2s.
H1 .0000000000 4.3643321746 -.4429940876
H1b .0000000000 -4.3643321746 -.4429940876
H2 .0000000000 2.5331491787 4.3818833166
H2b .0000000000 -2.5331491787 4.3818833166
End of basis
>>> Do while <<<
&SEWARD
>>> IF ( ITER = 1 ) <<<
&SCF; TITLE= Thiophene molecule
OCCUPIED= 18 4
ITERATIONS = 40
&RASSCF; TITLE= Thiophene molecule 1A'
SYMMETRY=1; SPIN=1; NACTEL= 6 0 0
INACTIVE= 18 1
RAS2 = 0 5
ITER= 50,25
>>> ENDIF <<<
&RASSCF; TITLE= Thiophene molecule 3 1A'
SYMMETRY=1; SPIN=1; NACTEL= 6 0 0
INACTIVE= 18 1
RAS2 = 0 5
ITER= 50,25
CIROOT=3 3 1
RLXRoot= 3
&ALASKA
&SLAPAF &END
>>> ENDDO <<<
.. index::
single: Convergence problems
single: Optimization; Convergence problems
single: Optimization; Do always
It should be remembered that geometry optimizations for excited states
are difficult. Not only can it be difficult to converge the corresponding
:program:`RASSCF` calculation, but we must also be sure that the order of the
states does not change during the optimization of the geometry. This is
not uncommon and the optimization must be followed by the user.
.. Sometimes may be interesting to follow the path of the optimization
by looking at each one of the output files generated by |molcas|.
All the iterative information is stored in the input file if the
"Set Output File" command as not used. If it was used
the output files of each complete iteration are stored in the $WorkDir
directory under the names :file:`1.save.$iter`, for instance:
:file:`1.save.1`, :file:`1.save.2`, etc. You should not remove the
$WorkDir directory if you want to keep them.
.. index::
single: Optimization; Geometry restrictions
Restrictions in symmetry or geometry
------------------------------------
.. index::
single: Biphenyl
single: SLAPAF
single: SLAPAF; Constraints
single: Program; SLAPAF
single: Program; Gateway
Optimizing with geometrical constraints
.......................................
A common situation in geometry optimizations is to have one or
several coordinates fixed or constrained and vary the remaining coordinates.
As an example we will take the biphenyl molecule, two benzene moieties
bridged by a single bond. The ground state of the molecule is not
planar. One benzene group is twisted by 44 degrees with
respect to the other :cite:`Rubio:94`. We can use this example to perform
two types of restricted optimizations. The simplest way to introduce
constraints is to give a coordinate a fixed value and let the other
coordinates to be optimized. For instance, let's fix the dihedral
angle between both benzenes to be fixed to 44 degrees. Within
this restriction, the remaining coordinates will be fully optimized.
The :kword:`Constraints` keyword in the program :program:`GATEWAY` will
take care of the restriction (note this keyword could also
be placed in the program :program:`SLAPAF`). The input could be:
.. extractfile:: advanced/OPT.biphenyl.input
&GATEWAY; Title= Biphenyl twisted D2
Symmetry= XY XZ
Basis set
C.ANO-S...3s2p1d.
C1 1.4097582886 .0000000000 .0000000000
C2 2.7703009377 2.1131321616 .8552434921
C3 5.4130377085 2.1172148045 .8532344474
C4 6.7468359904 .0000000000 .0000000000
End of basis
Basis set
H.ANO-S...2s.
H2 1.7692261798 3.7578798540 1.5134152112
H3 6.4188773347 3.7589592975 1.5142479153
H4 8.7821560635 .0000000000 .0000000000
End of basis
Constraints
d1 = Dihedral C2 C1 C1(XY) C2(XY)
Values
d1 = -44.4 degrees
End of Constraints
>>> Do while <<<
&SEWARD
>>> IF ( ITER = 1 ) <<<
&SCF; TITLE= Biphenyl twisted D2
OCCUPIED= 12 9 9 11
ITERATIONS= 50
>>> ENDIF <<<
&RASSCF; TITLE= Biphenyl twisted D2
SYMMETRY=1; SPIN=1; NACTEL= 12 0 0
INACTIVE= 11 7 7 10
RAS2 = 2 4 4 2
&ALASKA
&SLAPAF; Iterations=30; MaxStep=1.0
>>> ENDDO <<<
One important consideration about the constraint. You do not need
to start at a geometry having the exact value for the coordinate
you have selected (44.4 degrees for the dihedral angle here).
The optimization will lead you to the right solution. On the other
hand, if you start exactly with the dihedral being 44.4 deg the
code does not necessarily will freeze this value in the first
iterations, but will converge to it at the end. Therefore, it may
happen that the value for the dihedral differs from the selected
value in the initial iterations. You can follow the optimization
steps in the $WorkDir directory using the MOLDEN files generated
automatically by |molcas|.
Now we will perform the opposite optimization: we want to optimize the
dihedral angle relating both benzene units but keep all the other
coordinates fixed. We could well use the same procedure as before
adding constraints for all the remaining coordinates different from
the interesting dihedral angle, but to build the input would be
tedious. Therefore, instead of keyword :kword:`Constraints` we
will make use of the keywords :kword:`Vary` and :kword:`Fix`.
The input file should be:
.. extractfile:: advanced/OPT.constrains.biphenyl.input
&GATEWAY; Title= Biphenyl twisted D2
Symmetry=XY XZ
Basis set
C.ANO-S...3s2p1d.
C1 1.4097582886 .0000000000 .0000000000
C2 2.7703009377 2.1131321616 .8552434921
C3 5.4130377085 2.1172148045 .8532344474
C4 6.7468359904 .0000000000 .0000000000
End of basis
Basis set
H.ANO-S...2s.
H2 1.7692261798 3.7578798540 1.5134152112
H3 6.4188773347 3.7589592975 1.5142479153
H4 8.7821560635 .0000000000 .0000000000
End of basis
>>> Do while <<<
&SEWARD
>>> IF ( ITER = 1 ) <<<
&SCF; TITLE= Biphenyl twisted D2
OCCUPIED= 12 9 9 11
ITERATIONS= 50
>>> ENDIF <<<
&RASSCF; TITLE= Biphenyl twisted D2
SYMMETRY=1; SPIN=1; NACTEL=12 0 0
INACTIVE= 11 7 7 10
RAS2 = 2 4 4 2
&ALASKA
&SLAPAF
Internal coordinates
b1 = Bond C1 C1(XY)
b2 = Bond C1 C2
b3 = Bond C2 C3
b4 = Bond C3 C4
h1 = Bond C2 H2
h2 = Bond C3 H3
h3 = Bond C4 H4
a1 = Angle C2 C1 C1(XY)
a2 = Angle C1 C2 C3
a3 = Angle C1 C2 H2
a4 = Angle C2 C3 H3
phi = Dihedral C2 C1 C1(XY) C2(XY)
d1 = Dihedral H2 C2 C1 C1(XY)
d2 = OutOfP C3 C1(XY) C1 C2
d3 = Dihedral H3 C3 C2 H2
Vary; phi
Fix; b1; b2; b3; b4; h1; h2; h3; a1; a2; a3; a4; d1; d2; d3
End of Internal
Iterations= 30
>>> ENDDO <<<
To be able to optimize the molecule in that way a :math:`D_2` symmetry
has to be used. In the definition of the internal coordinates
we can use an out-of-plane coordinate: C2 C2(xy) C1(xy) C1 or
a dihedral angle
C2 C1 C1(xy) C2(xy). In this case there is no major problem but
in general one has to avoid as much as possible to define
dihedral angles close to 180\ |o| (trans conformation).
The :program:`SLAPAF` program will warn about this problem if necessary.
In the present example, angle "phi" is the angle to vary
while the remaining coordinates are frozen. All this is only
a problem in the user-defined internal approach, not in the
non-redundant internal approach used by default in the program.
In case we do not have the coordinates from a previous calculation
we can always run a simple calculation with one iteration
in the :program:`SLAPAF` program.
It is not unusual to have problems in the relaxation step when
one defines internal coordinates. Once the program has found that
the definition is consistent with the molecule and the symmetry,
it can happen that the selected coordinates are not the best choice
to carry out the optimization, that the variation of some of the
coordinates is too large or maybe some of the angles are close
to their limiting values (|+-|\180\ |o| for Dihedral angles and
|+-|\90\ |o| for Out of Plane angles). The SLAPAF program will
inform about these problems. Most of the situations are solved by
re-defining the coordinates, changing the basis set or the geometry
if possible, or even freezing some of the coordinates.
One easy solution is to froze this particular coordinate and optimize,
at least partially, the other as an initial step to a full
optimization. It can be recommended to change the definition of the
coordinates from internal to Cartesian.
.. figure:: biphenyl.*
:name: fig:biphenyl
:width: 50%
:align: center
Twisted biphenyl molecule
.. index::
single: Optimization; Symmetry restrictions
Optimizing with symmetry restrictions
.....................................
Presently, |molcas| is prepared to work in the point groups
:math:`C_1`, :math:`C_i`, :math:`C_s`, :math:`C_2`, :math:`D_2`, :math:`C_{2h}`, :math:`C_{2v}`, and :math:`D_{2h}`.
To have the wave functions or geometries in other symmetries we
have to restrict orbital rotations or geometry relaxations specifically.
We have shown how to in the :program:`RASSCF` program by using the
:kword:`SUPSym` option. In a geometry optimization we may also want to
restrict the geometry of the molecule to other symmetries. For
instance, to optimize the benzene molecule which belongs to the
:math:`D_{6h}` point group we have to generate the integrals and
wave function in :math:`D_{2h}` symmetry, the highest group available,
and then make the appropriate combinations of the coordinates
chosen for the relaxation in the :program:`SLAPAF` program, as is shown
in the manual.
.. index::
single: Ammonia
single: SLAPAF
single: SLAPAF; Vary
single: SLAPAF; Fix
single: Program; SLAPAF
As an example we will take the ammonia molecule, :math:`\ce{NH3}`. There is
a planar transition state along the isomerization barrier between
two pyramidal structures. We want to optimize the planar structure
restricted to the :math:`D_{3h}` point group. However, the electronic wave function will
be computed in :math:`C_s` symmetry (:math:`C_{2v}` is also possible)
and will not be restricted, although it is possible to do that
in the :program:`RASSCF` program.
The input for such a geometry optimization is:
.. extractfile:: advanced/OPT.NH3.input
&GATEWAY; Title= NH3, planar
Symmetry= Z
Basis Set
N.ANO-L...4s3p2d.
N .0000000000 .0000000000 .0000000000
End of Basis
Basis set
H.ANO-L...3s2p.
H1 1.9520879910 .0000000000 .0000000000
H2 -.9760439955 1.6905577906 .0000000000
H3 -.9760439955 -1.6905577906 .0000000000
End of Basis
>>> Do while <<<
&SEWARD
>>> IF ( ITER = 1 ) <<<
&SCF; Title= NH3, planar
Occupied= 4 1
Iterations= 40
>>> ENDIF <<<
&RASSCF; Title= NH3, planar
Symmetry=1; Spin=1; Nactel=8 0 0
INACTIVE=1 0
RAS2 =6 2
&ALASKA
&SLAPAF
Internal coordinates
b1 = Bond N H1
b2 = Bond N H2
b3 = Bond N H3
a1 = Angle H1 N H2
a2 = Angle H1 N H3
Vary
r1 = 1.0 b1 + 1.0 b2 + 1.0 b3
Fix
r2 = 1.0 b1 - 1.0 b2
r3 = 1.0 b1 - 1.0 b3
a1 = 1.0 a1
a2 = 1.0 a2
End of internal
>>> ENDDO <<<
All four atoms are in the same plane.
Working in :math:`C_s`, planar ammonia has five degrees of freedom.
Therefore we must define five independent internal coordinates, in this
case the three :math:`\ce{N-H}` bonds and two of the three angles :math:`\ce{H-N-H}`. The
other is already defined knowing the two other angles.
Now we must define the varying coordinates. The bond lengths will
be optimized, but all three :math:`\ce{N-H}` distances must be equal.
First we define (see definition in the previous input)
coordinate :math:`r1` equal to the sum of all three
bonds; then, we define coordinates :math:`r2` and :math:`r3` and keep them fixed.
:math:`r2` will ensure that ``bond1`` is equal to ``bond2`` and :math:`r3` will assure that
``bond3`` is equal to ``bond1``. :math:`r2` and :math:`r3` will have a zero value.
In this way all three bonds will have the same length.
As we want the system constrained into the :math:`D_{3h}` point group,
the three angles must be equal with a value of 120 degrees. This is
their initial value, therefore we simply keep coordinates ``ang1`` and ``ang2``
fixed. The result is a :math:`D_{3h}` structure: ::
*******************************************
* InterNuclear Distances / Angstrom *
*******************************************
1 N 2 H1 3 H2 4 H3
1 N 0.000000
2 H1 1.003163 0.000000
3 H2 1.003163 1.737529 0.000000
4 H3 1.003163 1.737529 1.737529 0.000000
**************************************
* Valence Bond Angles / Degree *
**************************************
Atom centers Phi
2 H1 1 N 3 H2 120.00
2 H1 1 N 4 H3 120.00
3 H2 1 N 4 H3 120.00
.. Note: contains a nbsp
In a simple case like this an optimization without
restrictions would also end up in the same symmetry as the initial
input.
.. index::
single: Optimization; Z-matrix
Optimizing with Z-Matrix
------------------------
An alternative way to optimize a structure with geometrical and/or symmetrical
constraints is to combine the Z-Matrix definition of the molecular structure
used for the program :program:`SEWARD` with a coherent definition for the
:kword:`Internal Coordinated` used in the optimization by program :program:`SLAPAF`.
Here is an examples of optimization of the methyl carbanion. Note that the
wavefunction is calculated within the :math:`C_s` symmetry but the geometry is optimized
within the :math:`C_{3v}` symmetry through the :kword:`ZMAT` and the :kword:`Internal
Coordinates` definitions. Note that :kword:`XBAS` precedes :kword:`ZMAT`.
.. extractfile:: advanced/OPT.Zmat.input
&Gateway
Symmetry=Y
XBAS=Aug-cc-pVDZ
ZMAT
C1
X2 1 1.00
H3 1 1.09 2 105.
H4 1 1.09 2 105. 3 120.
>>> export MOLCAS_MAXITER=500
>>> Do While <<<
&SEWARD
&SCF; Charge= -1
&ALASKA
&SLAPAF
Internal Coordinates
CX2 = Bond C1 X2
CH3 = Bond C1 H3
CH4 = Bond C1 H4
XCH3 = Angle X2 C1 H3
XCH4 = Angle X2 C1 H4
DH4 = Dihedral H3 X2 C1 H4
Vary
SumCH34 = 1. CH3 +2. CH4
SumXCH34 = 1. XCH3 +2. XCH4
Fix
rCX2 = 1.0 CX2
DifCH34 = 2. CH3 -1. CH4
DifXCH34 = 2. XCH3 -1. XCH4
dDH4 = 1.0 DH4
End of Internal
PRFC
Iterations= 10
>>> EndDo <<<
Note that the *dummy* atom X2 is used to define the Z axis and the planar angles
for the hydrogen atoms. The linear combinations of bond distances and planar
angles in the expression in the :kword:`Vary` and :kword:`Fix` sections are used
to impose the :math:`C_{3v}` symmetry.
Another example where the wavefunction and the geometry can be calculated
within different symmetry groups is benzene. In this case, the former uses
:math:`D_{2h}` symmetry and the latter :math:`D_{6h}` symmetry. Two special atoms are
used: the *dummy* X1 atom defines the center of the molecule while the *ghost*
Z2 atom is used to define the :math:`C_6` rotational axis (and the Z axis).
.. extractfile:: advanced/OPT.Zmat.symmetry.input
&GATEWAY
Symmetry=X Y Z
XBAS
H.ANO-S...2s.
C.ANO-S...3s2p.
End of basis
ZMAT
X1
Z2 1 1.00
C3 1 1.3915 2 90.
C4 1 1.3915 2 90. 3 60.
H5 1 2.4715 2 90. 3 0.
H6 1 2.4715 2 90. 3 60.
>>> export MOLCAS_MAXITER=500
>>> Do While <<<
&SEWARD ; &SCF ; &ALASKA
&SLAPAF
Internal Coordinates
XC3 = Bond X1 C3
XC4 = Bond X1 C4
XH5 = Bond X1 H5
XH6 = Bond X1 H6
CXC = Angle C3 X1 C4
HXH = Angle H5 X1 H6
Vary
SumC = 1.0 XC3 + 2.0 XC4
SumH = 1.0 XH5 + 2.0 XH6
Fix
DifC = 2.0 XC3 - 1.0 XC4
DifH = 2.0 XH5 - 1.0 XH6
aCXC = 1.0 CXC
aHXH = 1.0 HXH
End of Internal
PRFC
>>> EndDo <<<
Note that the *ghost* atom Z2 is used to define the geometry within the Z-Matrix
but it does not appear in the :kword:`Internal Coordinates` section. On the
other hand, the *dummy* atom X1 represents the center of the molecule and it
is used in the :kword:`Internal Coordinates` section.
.. index::
single: Program; CASPT2
single: Program; SLAPAF
single: Optimization; CASPT2
single: Acrolein
CASPT2 optimizations
--------------------
For systems showing a clear multiconfigurational nature, the CASSCF
treatment on top of the HF results is of crucial importance in order to
recover the large non dynamical correlation effects.
On the other hand, ground-state geometry optimizations of closed
shell systems are not exempt from non dynamical correlation effects.
In general, molecules containing :math:`\pi` electrons suffer from significant
effects of non dynamical correlation, even more in presence of
conjugated groups. Several studies on systems with delocalized bonds
have shown the effectiveness of the CASSCF approach in reproducing
the main geometrical parameters with
high accuracy :cite:`Serrano:93a,Serrano:96a,Page:99`.
However, pronounced effects of dynamical correlation often occur
in systems with :math:`\pi` electrons, especially in combination with polarized
bonds. An example is given by the :math:`\ce{C=O}` bond length, which is known
to be very sensitive to an accurate
description of the dynamical correlation effects :cite:`Pou:99`. We will show now
that the inherent limitations of the CASSCF method can be successfully overcome by employing
a CASPT2 geometry optimization, which uses a numerical gradient procedure
of recent implementation. A suitable molecule for this investigation
is acrolein.
As many other conjugated aldehydes and ketones, offers an example
of *s-cis*/*s-trans* isomerism (:numref:`fig:cis-trans`). Due to the resonance
between various structures
involving :math:`\pi` electrons,
the bond order for the :math:`\ce{C-C}` bond is higher than the one for a non-conjugated
:math:`\ce{C-C}` single bond. This partial double-bond character restricts the rotation
about such a bond, giving rise to the possibility of geometrical isomerism,
analogue to the *cis*--\ *trans* one observed for conventional double bonds.
A :program:`CASPT2` geometry optimization can be performed in |molcas|.
A possible input for the CASPT2 geometry optimization of the *s-trans*
isomer is displayed below. The procedure is invoking the resolution-of-identity
approximation using the keyword :kword:`RICD`. This option will speed up the
calculation, something which makes sense since we will compute the gradients numerically.
.. extractfile:: advanced/OPT.CASPT2.input
>>> Export MOLCAS_MAXITER=500
&GATEWAY
Title= Acrolein Cs symmetry - transoid
Coord
8
O 0.0000000 -1.4511781 -1.3744831
C 0.0000000 -0.8224882 -0.1546649
C 0.0000000 0.7589531 -0.0387200
C 0.0000000 1.3465057 1.2841925
H 0.0000000 -1.4247539 0.8878671
H 0.0000000 1.3958142 -1.0393956
H 0.0000000 0.6274048 2.2298215
H 0.0000000 2.5287634 1.4123985
Group=X
Basis=ANO-RCC-VDZP
RICD
>>>>>>>>>>>>> Do while <<<<<<<<<<<<
&SEWARD
>>>>>>>> IF ( ITER = 1 ) <<<<<<<<<<<
&SCF; Title= Acrolein Cs symmetry
*The symmetry species are a' a''
Occupied= 13 2
>>>>>>> ENDIF <<<<<<<<<<<<<<<<<<<<<
&RASSCF; Title=Acrolein ground state
nActEl= 4 0 0
Inactive= 13 0
* The symmetry species are a' a''
Ras2= 0 4
&CASPT2
&SLAPAF
>>>>>>>>>>>>> ENDDO <<<<<<<<<<<<<<
Experimental investigations assign a planar structure for both the
isomers. We can take advantage of this result and use a :math:`C_s` symmetry
throughout the optimization procedure. Moreover, the choice of the
active space is suggested by previous calculations on analogous
systems. The active space contains 4 :math:`\pi` MOs / 4 :math:`\pi` electrons, thus
what we will call shortly a :math:`\pi`\-CASPT2 optimization.
The structure of the input follows the trends already explained in
other geometry optimizations, that is, loops over the set of programs
ending with :program:`SLAPAF`. Notice that CASPT2 optimizations require
obviously the :program:`CASPT2` input, but also the input for the
:program:`ALASKA` program, which computes the gradient numerically.
Apart from that, a CASPT2 optimization input is identical to the corresponding
CASSCF input.
One should note that the numerical gradients are not as accurate as the
analytic gradient. This can manifest itself in that there is no strict energy
lowering the last few iterations, as displayed below: ::
*****************************************************************************************************************
* Energy Statistics for Geometry Optimization *
*****************************************************************************************************************
Energy Grad Grad Step Estimated Geom Hessian
Iter Energy Change Norm Max Element Max Element Final Energy Update Update Index
1 -191.38831696 0.00000000 0.208203-0.185586 nrc007 -0.285508* nrc007 -191.41950985 RS-RFO None 0
2 -191.43810737 -0.04979041 0.117430-0.100908 nrc007 -0.190028* nrc007 -191.45424733 RS-RFO BFGS 0
3 -191.45332692 -0.01521954 0.022751-0.021369 nrc007 -0.051028 nrc007 -191.45399070 RS-RFO BFGS 0
4 -191.45414598 -0.00081906 0.012647 0.005657 nrc002 -0.013114 nrc007 -191.45421525 RS-RFO BFGS 0
5 -191.45422730 -0.00008132 0.003630 0.001588 nrc002 0.004050 nrc002 -191.45423299 RS-RFO BFGS 0
6 -191.45423140 -0.00000410 0.000744 0.000331 nrc006 0.000960 nrc013 -191.45423186 RS-RFO BFGS 0
7 -191.45423123 0.00000017 0.000208-0.000098 nrc003 -0.001107 nrc013 -191.45423159 RS-RFO BFGS 0
8 -191.45423116 0.00000007 0.000572 0.000184 nrc006 0.000422 nrc013 -191.45423131 RS-RFO BFGS 0
+----------------------------------+----------------------------------+
+ Cartesian Displacements + Gradient in internals +
+ Value Threshold Converged? + Value Threshold Converged? +
+-----+----------------------------------+----------------------------------+
+ RMS + 0.5275E-03 0.1200E-02 Yes + 0.1652E-03 0.3000E-03 Yes +
+-----+----------------------------------+----------------------------------+
+ Max + 0.7738E-03 0.1800E-02 Yes + 0.1842E-03 0.4500E-03 Yes +
+-----+----------------------------------+----------------------------------+
Geometry is converged in 8 iterations to a Minimum Structure
*****************************************************************************************************************
*****************************************************************************************************************
The calculation converges in 8 iterations. At this point it is worth noticing
how the convergence of CASPT2 energy is not chosen among the criteria for the
convergence of the structure. The final structure is in fact decided by checking the
Cartesian displacements and the gradient in non-redundant internal coordinates.
CASPT2 optimizations are expensive, however, the use for the resolution-of-identity
options gives some relief. Notice that they are based on numerical
gradients and many point-wise calculations are needed. In particular,
the Cartesian gradients are computed using a two-point formula.
Therefore, each macro-iteration
in the optimization requires :math:`2N + 1` Seward/RASSCF/CASPT2 calculations, with :math:`N` being
the Cartesian degrees of freedom. In the present example, acrolein has eight atoms.
From each atom, only two Cartesian coordinates are free to move (we are working
within the :math:`C_s` symmetry and the third coordinate is frozen), therefore the
total number of Seward/RASSCF/CASPT2 iterations within each macro-iteration
is :math:`2(8\cdot 2) + 1`, that is, 33. In the current example a second trick has been
used to speed up the numerical calculation. The explicit reference to :program:`ALASKA`
is excluded. This means that :program:`SLAPAF` is called first without any gradients
beeing computed explicitly. It does then abort automatically requesting an implicit
calulation of the gradients, however, before doing so it compiles the internal coordinates
and sets up a list of displaced geometries to be used in a numerical gradient procedure.
In the present case this amounts to that the actual number of micro iterations is
reduced from 33 to 29.
The :numref:`tab:geo-acrol` displays the equilibrium geometrical
parameters computed at the :math:`\pi`\-CASSCF and :math:`\pi`\-CASPT2
level of theory
for the ground state of both isomers of acrolein. For sake of comparison,
:numref:`tab:geo-acrol` includes
experimental data obtained from microwave spectroscopy
studies :cite:`Blom:82`. The computed parameters at :math:`\pi`\-CASPT2 level are in
remarkable agreement with the experimental
data. The predicted value of the :math:`\ce{C=C}` bond length is very close to the double bond length
observed in ethylene. The other :math:`\ce{C-C}` bond has a length within the range expected
for a :math:`\ce{C-C}` single bond: it appears shorter in the *s-trans* isomer as a consequence
of the reduction of steric hindrance between the ethylenic and aldehydic
moieties. CASSCF estimates a carbon-oxygen bond length shorter
than the experimental value. For
:math:`\pi`\-CASSCF optimization in conjugated systems this can be assumed as a general
behavior :cite:`Molina:01b,Pou:99`. To explain such
a discrepancy, one may invoke the fact that the :math:`\ce{C=O}` bond distance is
particularly sensitive to electron correlation effects. The :math:`\pi` electron
correlation effects included at the :math:`\pi`\-CASSCF level tend to overestimate bond
lengths. However, the lack of :math:`\sigma` electron correlation, goes
in the opposite direction, allowing shorter bond distances for double bonds.
For the :math:`\ce{C=C}` double bonds, these contrasting behaviors compensate each other
:cite:`Page:99` resulting in quite an accurate value for the bond length at the
:math:`\pi`\-CASSCF level. On the contrary, the extreme sensitivity of the :math:`\ce{C=O}`
bond length to the electron correlation effects, leads to a general
underestimation of the :math:`\ce{C=O}` double bond lengths, especially when such
a bond is part of a conjugated system. It is indeed the effectiveness of the CASPT2
method in recovering dynamical correlation which leads to a substantial improvement
in predicting the :math:`\ce{C=O}` double bond length.
.. figure:: acrolein.*
:name: fig:cis-trans
:width: 75%
:align: center
Acrolein geometrical isomers
.. table:: Geometrical parameters for the ground state of acrolein.
:name: tab:geo-acrol
=============================== ============= ============= ============= ============= =============
Parameters\ [#a]_ :math:`\pi`\-CASSCF [04/4] :math:`\pi`\-CASPT2 Expt.\ [#b]_
------------------------------- --------------------------- --------------------------- -------------
|zws| *s-cis* *s-trans* *s-cis* *s-trans*
=============================== ============= ============= ============= ============= =============
:math:`\ce{C{1}=O}` 1.204 1.204 1.222 1.222 1.219
:math:`\ce{C{1}-C{2}}` 1.483 1.474 1.478 1.467 1.470
:math:`\ce{C{2}=C{3}}` 1.340 1.340 1.344 1.344 1.345
:math:`\angle\ce{C{1}C{2}C{3}}` 123.0 121.7 121.9 120.5 119.8
:math:`\angle\ce{C{2}C{1}O}` 124.4 123.5 124.5 124.2 ---
=============================== ============= ============= ============= ============= =============
.. [#a] Bond distances in Å and angles in degrees.
.. [#b] Microwave spectroscopy data from ref. :cite:`Blom:82`.
No difference between *s-cis* and *s-trans* isomers is reported.
The use of numerical CASPT2 gradients can be extended to all the optimizations
available in :program:`SLAPAF`, for instance transition state searches.
Use the following input for the water molecule to locate the linear
transition state:
.. index::
single: Optimization; TS
.. extractfile:: advanced/OPT.TS.input
&GATEWAY; Title= Water, STO-3G Basis set
Coord
3
H1 -0.761622 0.000000 -0.594478
H2 0.761622 0.000000 -0.594478
O 0.000000 0.000000 0.074915
Basis set= STO-3G
Group= NoSym
>>> EXPORT MOLCAS_MAXITER=500
>> DO WHILE
&SEWARD
>>> IF ( ITER = 1 ) <<<
&SCF; Title= water, STO-3g Basis set
Occupied= 5
>>> ENDIF <<<
&RASSCF
Nactel= 2 0 0
Inactive= 4
Ras2 = 2
&CASPT2
&SLAPAF; TS
>>> ENDDO <<<
After seventeen macro-iterations the linear water is reached: ::
*****************************************************************************************************************
* Energy Statistics for Geometry Optimization *
*****************************************************************************************************************
Energy Grad Grad Step Estimated Geom Hessian
Iter Energy Change Norm Max Element Max Element Final Energy Update Update Index
1 -75.00567587 0.00000000 0.001456-0.001088 nrc003 -0.003312 nrc001 -75.00567822 RSIRFO None 1
2 -75.00567441 0.00000145 0.001471-0.001540 nrc003 -0.004162 nrc001 -75.00567851 RSIRFO MSP 1
3 -75.00566473 0.00000968 0.003484-0.002239 nrc003 0.008242 nrc003 -75.00567937 RSIRFO MSP 1
4 -75.00562159 0.00004314 0.006951-0.004476 nrc003 0.016392 nrc003 -75.00568012 RSIRFO MSP 1
5 -75.00544799 0.00017360 0.013935-0.008809 nrc003 0.033088 nrc003 -75.00568171 RSIRFO MSP 1
6 -75.00475385 0.00069414 0.027709-0.017269 nrc003 0.066565 nrc003 -75.00568219 RSIRFO MSP 1
7 -75.00201367 0.00274018 0.054556-0.032950 nrc003 0.084348* nrc003 -75.00430943 RSIRFO MSP 1
8 -74.99610698 0.00590669 0.086280-0.050499 nrc003 0.082995* nrc003 -74.99970484 RSIRFO MSP 1
9 -74.98774224 0.00836474 0.114866-0.065050 nrc003 0.080504* nrc003 -74.99249408 RSIRFO MSP 1
10 -74.97723219 0.01051005 0.139772 0.076893 nrc002 0.107680* nrc003 -74.98534124 RSIRFO MSP 1
11 -74.95944303 0.01778916 0.167230 0.096382 nrc002 -0.163238* nrc002 -74.97296260 RSIRFO MSP 1
12 -74.93101977 0.02842325 0.182451-0.114057 nrc002 0.185389* nrc002 -74.94544042 RSIRFO MSP 1
13 -74.90386636 0.02715341 0.157427-0.107779 nrc002 0.201775* nrc002 -74.91601550 RSIRFO MSP 1
14 -74.88449763 0.01936873 0.089073-0.064203 nrc002 0.240231 nrc002 -74.89232405 RSIRFO MSP 1
15 -74.87884197 0.00565566 0.032598-0.019326 nrc002 0.050486 nrc002 -74.87962885 RSIRFO MSP 1
16 -74.87855520 0.00028677 0.004934-0.004879 nrc003 -0.006591 nrc003 -74.87857157 RSIRFO MSP 1
17 -74.87857628 -0.00002108 0.000172-0.000120 nrc003 0.000262 nrc002 -74.87857630 RSIRFO MSP 1
+----------------------------------+----------------------------------+
+ Cartesian Displacements + Gradient in internals +
+ Value Threshold Converged? + Value Threshold Converged? +
+-----+----------------------------------+----------------------------------+
+ RMS + 0.1458E-03 0.1200E-02 Yes + 0.9925E-04 0.3000E-03 Yes +
+-----+----------------------------------+----------------------------------+
+ Max + 0.1552E-03 0.1800E-02 Yes + 0.1196E-03 0.4500E-03 Yes +
+-----+----------------------------------+----------------------------------+
Geometry is converged in 17 iterations to a Transition State Structure
*****************************************************************************************************************
*****************************************************************************************************************
We note that the optimization goes through three stages. The first one is while the structure still is
very much ground-state-like. This is followed by the second stage in which the :math:`\ce{H-O-H}` angle is drastically
changed at each iteration (iterations 7--13). The ``*`` at ``Step Max`` entry indicate that these steps were
reduced because the steps were larger than allowed.
Changing the default max step length from 0.3 to 0.6 (using keyword :kword:`MaxStep`)
reduces the number of macro iterations by 2 iterations.