Automated construction of atomic valence active spaces

Atomic valence active spaces (AVAS) as described by Knizia et al. can be generated using the AVAS program:

AVAS,options
directives
CENTER,number,atomic orbital specification
CENTER,number,atomic orbital specification

}

where the optional directives can be:

OCC, number of occupied orbitals in each symmetry
CLOSED, number of closed-shell orbitals in each symmetry
WF, … (c.f. section defining the wavefunction)
START,startrecord
ORBITAL,dumprecord
If a startrecord is given, the initial orbitals will be read from this record. If this is not given, an atomic density guess is carried out. This requires one Fock matrix calculation, which is done using density fitting.

If the occupations (OCC, CLOSED) are given, they should normally correspond to the HF occupations. If they are not given, they are determined automatically from the initial orbital energies, as in the Hartree-Fock program.

dumprecord defaults to 2110.2. If an existing dumprecord is given, a new orbital set will be created in that record. If the record contains already previous AVAS orbitals, these are overwritten.

Alternatively, AVAS can be carried out within the Hartree-Fock program (currently only implemented for programs RHFT and RKST). The general input is as follows:

{[DF-]RHFT;...
AVAS,options
CENTER,number,atomic orbital specification
CENTER,number,atomic orbital specification

}

Any number of CENTER directives can follow each other, and these must directly follow AVAS. If symmetry is used, all symmetry equivalent centers are included automatically, and only one of them needs to be given. If symmetry equivalent centers are explicitly given, the atomic orbital specifications on these must be identical, otherwise an error will result.

The following options exist:

  • THR=value Threshold for active space selection (default: 0.3)
  • BASIS=name Minimal atomic basis set (default MINAO) The specified basis set should be generally contracted, so that the first CGTOs for each angular momentum correspond to the atomic core and valence orbitals. If non-valence orbitals are requested (e.g. 4d for first-row transition metals) the basis must contain at least two CGTOs of the corresponding angular momentum. In this case the default MINAO would is not sufficient and a larger basis must be specified, e.g., VTZ (or, equivalently, cc-pVTZ).
  • CORE=val If CORE=1 core orbitals are included in the projection (default: CORE=0)
  • OPEN=val If OPEN=1 closed-shell and open-shell orbitals are included together in the projection (default: OPEN=0 if called from RHF, OPEN=1 if called using the AVAS command). OPEN=1 will not keep the ROHF energy invariant.
  • VIRT=val If VIRT=0 virtual orbitals are not projected (default: VIRT=1)

The atomic orbital specifications are of the form

[n]type

where n is the principal quantum number, and type is s, p, d,…. Alternatively, individual components such as px, py, pz, or d0, d1+, d1-, d2+, d2- can also be given, and then only the specified functions are used (otherwise all components are included). If the principal quantum number $n$ is given, the $n-l$’th atomic function of the given type will be used (e.g., for 2s the second $s$-function, for 2p, the first $p$ function, for 4d the second $d$ function). If $n$ is not given, the first function of the given type is used. Note that the program does currently not check for pseudopotentials, and the appropriate $n$ must be determined by the user.

Example:

AVAS
CENTER, 1, 3d                  !include 3d orbitals for center 1
CENTER, 2, 2s,2p               !include 2s, 2p orbitals for center 2

By default, the closed-shell valence orbitals (excluding core orbitals) and virtual orbitals are projected, and the active orbitals resulting from these two subspaces are determined. IF OPEN=0, the open-shell orbitals remain unchanged and are subsequently added to the active space. In this way, a CASSCI using the generated active space will never give a higher energy than the RHF energy, and according to preliminary experience this yields the best starting orbitals for a subsequent CASSCF calculation. The inactive, active and virtual subspaces are made pseudo-canonical by block-diagonalizing the Fock matrix.

A subsequent CASSCF (MULTI) calculation will automatically use the generated active space (unless specified otherwise) and use the AVAS orbitals (unless different orbitals are specified on a START directive).

It is recommended to first do a CASSCI calculation using

GPRINT,ORBITALS,CIVECTOR
{CASSCF;DONT,ORBI;NATORB}

and check the occupation numbers. Orbitals with very small occupation numbers or with occupation numbers close to 2.0 should then be manually excluded from the active space.

Example for a double d-shell CASSCF for the Cu-atom:

 print,orbitals,civector
 geometry={Cu}
 basis={
 default,vtz
 set,avas
 default,vtz
 sp,cu,vtz;c
 d,cu,vtz
 c,1.8,  0.002646  0.020501  0.082753  0.209939  0.327763  0.345424  0.271188  0.145080 !3d
 c,1.8, -0.003764 -0.029110 -0.121384 -0.314695 -0.384907  0.076640  0.525780  0.337258 !4d
 }

 {avas,basis=avas
 center,1,4s,3d,4d}   !generate AVAS starting orbitals for the subsequent CASSCF
 {df-casscf}