# 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:

Threshold for active space selection (default: 0.3)`THR`

=*value*Minimal atomic basis set (default`BASIS`

=*name*`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).If`CORE=`

*val*`CORE=1`

core orbitals are included in the projection (default:`CORE=0`

)If`OPEN=`

*val*`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.If`VIRT=`

*val*`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}