DESCRIPTION
The program detcas performs a completeactivespace selfconsistentfield (CASSCF) optimization of molecular orbitals via a twostep procedure in conjunction with the determinant configuration interaction program DETCI. The program is fairly simple and currently uses a NewtonRaphson approach to update the orbitals, employing a simple approximate orbital Hessian. Convergence is accelerated using Pulay's direct inversion of the iterative subspace (DIIS) procedure. The code has been written to allow more general wavefunctions that do not necessarily feature a full CI treatment of the active space. In particular, any restricted active space (RAS) CI wavefunction supported by DETCI can be used, allowing MCSCF wavefunctions of the RASSCF type.
REFERENCES
Approximate Orbital Hessian:
 1.
 G. Chaban, M. W. Schmidt, and M. S. Gordon, Theor. Chim. Acta 97, 8895 (1997).
Restricted Active Space CI:
 1.
 Determinant Based Configuration Interaction Algorithms for Complete and Restricted Configuration Interaction Spaces, J. Olsen, B. O. Roos, P. Jorgensen, and H. J. Aa. Jensen, J. Chem. Phys. 89, 2185 (1988).
Restricted Active Space SCF:
 1.
 P.A. Malmqvist, A. Rendell, and B. O. Roos, J. Phys. Chem. 94, 5477 (1990).
DETCI Program:
 1.
 C. D. Sherrill, Computational Algorithms for LargeScale Full and MultiReference Configuration Interaction Wavefunctions, PhD thesis, University of Georgia, Athens, GA, 1996.
 2.

C. D. Sherrill and H. F. Schaefer,
The Configuration Interaction Method: Advances in Highly
Correlated Approaches, Adv. Quantum Chem. 34, 143269 (1999).
FILES REQUIRED
input.dat  Input file file78  MO oneelectron integrals (fzc operator) file72  MO twoelectron integrals file73  MO oneparticle density matrix file74  MO twoparticle density matrix file75  MO Lagrangian
FILES UPDATED
output.dat  Output file file14.dat  Record of energies and orbital gradients
INPUT FORMAT
The following commandline arguments are available:
 quiet

This gives the same result as PRINT=0.
 o fname

Gives the filename for the output file. Defaults to output.dat.
Additional input for this program is read from the file input.dat. The more commonly used keywords are:
 WFN = string

The supported wave function types are CASSCF and RASSCF.
 CONVERGENCE = integer

Convergence desired on the orbital gradient. Convergence is achieved when the
RMS of the error in the orbital gradient is less than 10**(n). The default
is 4 for energy calculations and 7 for gradients.
 DOCC = integer_array

This vector gives the number of doubly occupied orbitals in each irrep.
There is no default.
 SOCC = integer_array

This vector gives the number of singly occupied orbitals in each irrep.
There is no default.
 ENERGY_CONVERGENCE = integer

Convergence desired on the total MCSCF energy. The default is 7.
 FROZEN_DOCC = integer_array

The number of lowest energy doubly occupied orbitals in each irreducible
representation which will literally be frozen (not updated
in the MCSCF).
The Cotton ordering of the irredicible representations is used.
The default is the zero vector.
 FROZEN_UOCC = integer_vector

The number of highest energy unoccupied orbitals in each irreducible
representation which will literally be frozen (not updated
in the MCSCF).
The default is the zero vector.
 RESTRICTED_DOCC = integer_array

The number of lowest energy doubly occupied orbitals in each irreducible
representation which will be optimized but kept doubly occupied
in the MCSCF. These orbitals come after the FROZEN_DOCC orbitals.
The default is the zero vector.
 RESTRICTED_UOCC = integer_array

The number of highest energy unoccupied orbitals in each irreducible
representation which will be optimized but kept unoccupied
in the MCSCF. These orbitals come before the FROZEN_UOCC orbitals.
The default is the zero vector.
 NCASITER = integer

Maximum number of iterations to optimize the orbitals. This option
should be specified in the DEFAULT section of input, because
it needs to be visible to the control program PSI. Defaults to 1.
 PRINT = integer

This option determines the verbosity of the output. A value of 1 or
2 specifies minimal printing, a value of 3 specifies verbose printing.
Values of 4 or 5 are used for debugging. Do not use level 5 unless
the test case is very small (e.g. STO H2O CISD).
The less commonly used keywords are:
 DIIS_FREQ = integer

The DIIS extrapolation procedure will be attempted every n
iterations. The default is 1.
 DIIS_MAX_VECS = integer

The maximum number of subspace vectors for the DIIS procedure. After this
number of vectors are reached, older vectors will be dropped from the
subspace as necessary. The default is 8.
 DIIS_MIN_VECS = integer

The minimum number of subspace vectors before a DIIS interpolation can
be performed. The default is 2. It doesn't make sense to have values
less than 2.
 DIIS_START = integer

The iteration number when Pulay's Direct Inversion of the Iterative
Subspace (DIIS) procedure for acceleration of convergence should be
turned on. The default is 3. Prior to this iteration, vectors are
not added to the DIIS subspace. The first DIIS step will not be taken until
DIIS_MIN_VECS vectors are in the DIIS subspace.
 LAG_FILE = integer

File (unit number) for reading the lagrangian matrix.
The default value is currently 75.
 OPDM_FILE = integer

File (unit number) for reading the oneparticle density matrix.
The default value is currently 73.
 SCALE_GRAD = boolean

Tells whether to scale the orbital gradient by the approximate
(diagonal) orbital Hessian. The default is TRUE.
 SCALE_STEP = real

Scale factor for the orbital rotation step. Default is 1.0.
 TPDM_FILE = integer

File (unit number) for reading the twoparticle density matrix.
The default value is currently 74.
 LEVEL_SHIFT = boolean

Tells whether to allow for level shifting of the hessian matrix. This can
be used to ensure that the hessian is positive definite for the beginning
iterations. If the hessian is not positive definite near convergence, then
this may be a sign of numerical instabilities in the MCSCF. The default
is TRUE.
 SHIFT = real

Tells how much the diagonal elements of the hessian should be shifted for
level shifting. Default is 0.01.
 DETERM_MIN = real

Minimum allowed valued for the determinant of the hessian matrix if
level shifting is on. This is not used if LEVEL_SHIFT=FALSE.
Default is 0.00001.
 STEP_MAX = real

This is the maximum allowed single orbital rotation. Default is 0.30.
 FORCE_STEP = boolean

This allows the user to overide the calculated step and to force a step
in a particular direction. This can be useful if trying to force the
calculation away from a saddle point. The default is FALSE.
 FORCE_PAIR = integer

This is the index for the independent pair which is to be rotated if
FORCE_STEP=TRUE. This is ignored otherwise. There is no default.
 FORCE_VALUE = real

This is the orbital rotation value for rotating the orbitals specified
by FORCE_PAIR. This is only used if FORCE_STEP is set to TRUE. The
default value is 0.0.
 CHECK_HESSIAN = boolean

Calculate the eigenvalues of the orbital hessian. This is good for checking
for saddlepoint solutions. Should be used without level shifting. The
default is FALSE.
 EIGEN_VECTORS = boolean

Do you want to calculate the eigenvectors of the orbital hessian as well.
This is ignored if CHECK_HESSIAN=FALSE. Default is FALSE.