Next: 34.2.11 Setting a maximum Up: 34.2 Geometry optimization Previous: 34.2.9 Transition state (saddle

34.2.10 Conical Intersection optimization (CONICAL)

To optimize a Conical Intersection (CI) between two electronic states having the same spin, three vectors must be evaluated at SA-CPMCSCF level:

1) Non-Adiabatic Derivative Coupling (DC).

2) Gradient of the lower state (LSG).

3) Gradient of the upper state (USG).

NOTE: Previous versions required an explicit Gradient Difference calculation which is now replaced (point 2) by a second gradient calculation.

This can be done by adding three different CPMCSCF cards in the MULTI input

CPMCSCF, NACM, $S_i$, $S_j$, ACCU=1.0d-7, record=record1.file

CPMCSCF, GRAD, $S_i$, SPIN=Spin of state $S_i$, ACCU=1.0d-7, record=record2.file

CPMCSCF, GRAD, $S_j$, SPIN=Spin of state $S_j$, ACCU=1.0d-7, record=record3.file

where $S_i$,$S_j$ are the electronic states in the usual format istate.istsym and record[n].file specifies the name and the file number where CPMCSCF infos should be stored. Parameter SPIN is half of the value in the WF card used to define the electronic state.

One must remember to:

i) specify always three different record.file in the CPMCSCF cards.

ii) evaluate the CPMCSCF for USG always as last.

iii) skip the DC evaluation if the CI involves states with different spin (eg

a Singlet/Triplet crossing) because the vector would be identically zero.

Three sets of FORCE cards (only two for Singlet/Triplet CI) follow the MULTI input. They will be like:

FORCE

SAMC,record[n].file

CONICAL,record4.file[,NODC]

where record.file is one of the records containing CPMCSCF info (again, FORCE card that evaluates the USG must be the last one) and record4.file points to a free record used for internal storage by the CONICAL code.

record4.file must be the same in all the CONICAL cards.

WARNING: The present implementation works properly only if file=1 in the CONICAL cards.

The optional keyword NODC is used in case of different spins (eg S/T crossing) when DC is not evaluated and therefore not used.

The actual optimization is performed by repeatedly calling OPT inside a DO-LOOP cycle until the variable OPTCONV is below a predefined threshold. The example below optimizes the CI D0/D1 in $LiH_2$ (ground and excited states are both Doublets).

Input: lih2_D0D1.com

Output: lih2_D0D1.out

This second example optimizes the CI S0/T0 in $LiH_2(+)$ (ground state is Singlet, excited state is Triplet).

Input: lih2+_S0T0.com

Output: lih2+_S0T0.out



Next: 34.2.11 Setting a maximum Up: 34.2 Geometry optimization Previous: 34.2.9 Transition state (saddle

P.J. Knowles and H.-J. Werner
molpro@tc.bham.ac.uk
Jan 15, 2002