#! /bin/sh
# The computation of multiplet states corresponding to an open-shell system can
# be carried out with ADF by first computing the 'Average-of-Configuration'
# (aoc) state, where all orbitals in the open shell are degenerate and equally
# occupied. This computation is spin-restricted and serves as a fragment file
# for the multiplet run, where then different occupation numbers are assigned to
# the various orbitals in the open shell. The corresponding energies are
# computed in the field of the aoc, which is achieved by not iterating the self-
# consistency equations to convergence but only computing the orbitals in the
# initial field.
# Since ADF requires that all symmetry-partners in an irreducible representation
# (irrep) have equal occupations, the multiplet calculation, where such orbitals
# are not equally occupied, must be carried out in a formally lower point group
# symmetry. The point group to select and the appropriate occupation numbers to
# apply must be worked out by the user 'on paper' in advance. An auxiliary
# program asf, developed by the group of Claude Daul in Fribourg can be used to
# determine which calculations are needed, and how to compute the multiplet
# energies from the results. See the discussion of Multiplet energies in the
# Theory document.
# The script starts with the 'creation' of the required basic atoms, N, H, Cr
# using a fair basis set quality.
# The next step is the computation of the ammonia fragment NH3 . This is not a
# crucial step here: the multiplet state computation can equally well be carried
# out by not using any intermediate compound fragments. However, it illustrates
# once more how a bigger molecule can be built up from smaller, but not trivial
# fragments.
$ADFBIN/adf -n1 <<eor
create Cr file=$ADFRESOURCES/TZP/Cr.2p
eor
mv TAPE21 t21.Cr
$ADFBIN/adf <<eor
title AMMONIA
NOPRINT sfo,frag,functions
atoms
N 0 0 0
H -0.95522523 0 0.3711068
H 0.477612615 -0.8272493155158333 0.3711068
H 0.477612615 0.8272493155158333 0.3711068
end
Basis
Type TZP
Core Small
End
symmetry C(3V)
eor
mv TAPE21 t21.NH3
# The input of the atomic coordinates uses expressions, in this case to enforce
# exact symmetry relations that would otherwise require 14-digit input values or
# some inaccuracy. The symmetry specification is redundant: the program would
# also find it by itself.
# == Average-of-Configuration ==
# The next step is to compute the reference state, with respect to which we will
# later compute the multiplet states. The reference state is the so-called
# 'Average-of-configuration' (aoc) state. The result file (TAPE21) of this
# calculation will be used as a fragment file.
$ADFBIN/adf <<eor
title Cr(NH3)6 : Average-of-Configuration run
COMMENT
using NH3-fragments
END
symmetry D(3d)
scf
iterations 25
mixing 0.15
end
atoms
Cr 0.000000 0.000000 0.000000
N 0.000000 1.714643 1.212436 f=NH3/1
H 0.000000 1.466154 2.206635 f=NH3/1
H -0.827250 2.293404 1.036727 f=NH3/1
H 0.827250 2.293404 1.036727 f=NH3/1
N -1.484924 -0.857321 1.212436 f=NH3/2
H -1.269726 -0.733077 2.206635 f=NH3/2
H -1.572521 -1.863121 1.036727 f=NH3/2
H -2.399771 -0.430282 1.036727 f=NH3/2
N 1.484924 -0.857321 1.212436 f=NH3/3
H 1.269726 -0.733077 2.206635 f=NH3/3
H 2.399771 -0.430282 1.036727 f=NH3/3
H 1.572521 -1.863121 1.036727 f=NH3/3
N 0.000000 -1.714643 -1.212436 f=NH3/4
H 0.000000 -1.466154 -2.206635 f=NH3/4
H 0.827250 -2.293404 -1.036727 f=NH3/4
H -0.827250 -2.293404 -1.036727 f=NH3/4
N 1.484924 0.857321 -1.212436 f=NH3/5
H 1.269726 0.733077 -2.206635 f=NH3/5
H 1.572521 1.863121 -1.036727 f=NH3/5
H 2.399771 0.430282 -1.036727 f=NH3/5
N -1.484924 0.857321 -1.212436 f=NH3/6
H -1.269726 0.733077 -2.206635 f=NH3/6
H -2.399771 0.430282 -1.036727 f=NH3/6
H -1.572521 1.863121 -1.036727 f=NH3/6
end
fragments
Cr t21.Cr
NH3 t21.NH3
end
IrrepOccupations
A1.G 8.75
A2.G 2
E1.G 16 1.5 0.75
A1.U 2
A2.U 8
E1.U 20
END
eor
mv TAPE21 t21.CrA6ES
# Occupation numbers are specified, to make certain what the reference state is
# that we will start from in the subsequent calculations. The result file TAPE21
# is saved to serve as fragment file in the subsequent calculations.
# == One-determinant states ==
# Now, we proceed with the multiplet calculations. In the example they are
# combined in one single run, but they could also be evaluated in separate runs.
# For each calculation it is required to:
# a) Use the aoc TAPE21 file as fragment file
# b) Choose which molecular orbitals in the open shell to occupy: select the
# appropriate point group symmetry and the UnRestricted key if necessary and
# specify the occupation numbers, using the irreducible representations of the
# selected point group.
# The results are one-determinant calculations, which must then, later, be
# combined analytically to obtain the required multiplet energy values.
$ADFBIN/adf <<eor
title Cr(NH3)6 : SlaterDeterminants run
NOPRINT frag
symmetry C(I) ! lower symmetry
scf
iterations 0
end
atoms
Cr 0.000000 0.000000 0.000000 f=CrA6
N 0.000000 1.714643 1.212436 f=CrA6
H 0.000000 1.466154 2.206635 f=CrA6
H -0.827250 2.293404 1.036727 f=CrA6
H 0.827250 2.293404 1.036727 f=CrA6
N -1.484924 -0.857321 1.212436 f=CrA6
H -1.269726 -0.733077 2.206635 f=CrA6
H -1.572521 -1.863121 1.036727 f=CrA6
H -2.399771 -0.430282 1.036727 f=CrA6
N 1.484924 -0.857321 1.212436 f=CrA6
H 1.269726 -0.733077 2.206635 f=CrA6
H 2.399771 -0.430282 1.036727 f=CrA6
H 1.572521 -1.863121 1.036727 f=CrA6
N 0.000000 -1.714643 -1.212436 f=CrA6
H 0.000000 -1.466154 -2.206635 f=CrA6
H 0.827250 -2.293404 -1.036727 f=CrA6
H -0.827250 -2.293404 -1.036727 f=CrA6
N 1.484924 0.857321 -1.212436 f=CrA6
H 1.269726 0.733077 -2.206635 f=CrA6
H 1.572521 1.863121 -1.036727 f=CrA6
H 2.399771 0.430282 -1.036727 f=CrA6
N -1.484924 0.857321 -1.212436 f=CrA6
H -1.269726 0.733077 -2.206635 f=CrA6
H -2.399771 0.430282 -1.036727 f=CrA6
H -1.572521 1.863121 -1.036727 f=CrA6
end
fragments
CrA6 t21.CrA6ES
end
UnRestricted
SlaterDeterminants
Check AOC
A1.g 4 0.375 // 4 0.375
A2.g 1 // 1
E1.g:1 4 0.375 0.1875 // 4 0.375 0.1875
E1.g:2 4 0.375 0.1875 // 4 0.375 0.1875
A1.u 1//1
A2.u 4//4
E1.u:1 5//5
E1.u:2 5//5
SUBEND
State1
A1.g 4 1 // 4 1
A2.g 1 // 1
E1.g:1 4 0 0 // 4 0 1
E1.g:2 4 0 0 // 4 0 0
A1.u 1//1
A2.u 4//4
E1.u:1 5//5
E1.u:2 5//5
SUBEND
State2
A1.g 4 1 // 4 1
A2.g 1 // 1
E1.g:1 4 0 0 // 4 1 0
E1.g:2 4 0 0 // 4 0 0
A1.u 1//1
A2.u 4//4
E1.u:1 5//5
E1.u:2 5//5
SUBEND
State3
A1.g 4 1 // 4 1
A2.g 1 // 1
E1.g:1 4 0 1 // 4 0 0
E1.g:2 4 0 0 // 4 0 0
A1.u 1//1
A2.u 4//4
E1.u:1 5//5
E1.u:2 5//5
SUBEND
end
eor
mv TAPE21 CrNH3_6.t21
# The SlaterDeterminants block may contain any number of sub blocks, each
# starting with an (arbitrary) title record, followed by a set of occupation
# numbers and closed by a SubEnd record. Each such subkey block specifies a
# single one-determinant-state calculation. All occupation numbers must
# reference the irreps of the specified point group symmetry, C(I) in the
# example, and must be just a reassignment of the electrons that are equally
# distributed over the corresponding degenerate irreps in the reference aoc
# calculation.
# The so-obtained energies of the one-determinant states can now be combined to
# calculate the desired multiplet energies. See the Theory document and the adf
# User's Guide.
# Note carefully that in the calculation of the SingleDeterminants, the scf
# procedure is prevented to cycle to convergence by setting the subkey
# Iterations to zero in the SCF data block.