% genano.tex $ this file belongs to the Molcas repository $
\section{GENANO --- A Program to Generate ANO Basis Sets}
\label{TUT:sec:genano}
\index{Program!GENANO}\index{GENANO}
\index{Basis set!Generation}
\index{Basis set!Atomic Natural Orbitals}

\program{GENANO} is a program for determining the contraction coefficients for
generally contracted basis sets. They are determined by diagonalizing a density 
matrix, using the eigenvectors (natural orbitals) as the contraction 
coefficients, resulting in basis sets of the ANO (Atomic Natural Orbitals) type.
The program can be used to generate any set of atomic or molecular basis 
functions. Only one or more wave functions (represented by formated orbital 
files) are needed to generate the average density matrix. These natural orbital 
files can be produced by any of the wave function generators, as it is described
in section~\ref{UG:sec:genano} of the user's guide. As an illustrative example, 
in the Advanced Examples there is an example of how to 
generate a set of molecular basis set describing Rydberg orbitals for the 
benzene molecule. The reader is referred to this example for more details.

The \program{GENANO} program requires several input files. First, one 
\file{ONEINT} file generated by the \program{SEWARD} module for each input wave 
function. The files must be linked as \file{ONE001}, \file{ONE002}, etc. If the 
wave functions correspond to the same system, the same \file{ONEINT} file must 
be linked with the corresponding names as many times as wave functions are 
going to be treated. Finally, the program needs one file for wave function 
containing the formated set of natural orbitals. The files must be linked as 
\file{NAT001}, \file{NAT002}, etc.

The input file for module \program{GENANO} contains basically three important
keywords. \keyword{CENTER} defines the atom label for which the basis set is to 
be generated. The label must match the label it has in the \program{SEWARD}.
\keyword{SETS} keyword indicates that the next line of input contains the 
number of sets to be used in the averaging procedure and \keyword{WEIGHTS} 
defines the relative weight of each one of the previous sets in the averaging 
procedure. Figure~\ref{fig:genano_input} lists the input file required by the
\program{GENANO} program for making a basis set for the oxygen atom. Three 
natural orbital files are expected, containing the natural orbitals for the 
neutral atom, the cation, and the anion.

\begin{figure}[h]
\caption{Sample input requesting the GENANO module to
average three sets of natural orbitals on the oxygen atom.}
\label{fig:genano_input}
\begin{inputlisting}
 &GENANO
Title= Oxygen atom basis set: O/O+/O-
Center= O
Sets= 3
Weights= 0.50 0.25 0.25
\end{inputlisting}
\end{figure}

As output files \program{GENANO} provides the file \file{ANO},
containing the contraction coefficient matrix organized such that each column 
correspond to one contracted basis function, and the file \file{FIG}, which 
contains a PostScript figure file of the obtained eigenvalues. The output of 
\program{GENANO} is self-explanatory.
