Provided by: psi3_3.4.0-5_amd64 bug

NAME

       detcas - Determinant Configuration Interaction / Complete Active
                 Space Self-Consistent-Field Program

DESCRIPTION

       The   program  detcas  performs  a  complete-active-space  self-consistent-field  (CASSCF)
       optimization of molecular orbitals via  a  two-step  procedure  in  conjunction  with  the
       determinant  configuration  interaction  program  DETCI.  The program is fairly simple and
       currently uses a Newton-Raphson 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, 88-95 (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 Large-Scale Full and Multi-Reference
              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, 143-269 (1999).

FILES REQUIRED

           input.dat          - Input file
           file78             - MO one-electron integrals (fzc operator)
           file72             - MO two-electron integrals
           file73             - MO one-particle density matrix
           file74             - MO two-particle density matrix
           file75             - MO Lagrangian

FILES UPDATED

           output.dat         - Output file
           file14.dat         - Record of energies and orbital gradients

INPUT FORMAT

       The following command-line 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 one-particle 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 two-particle 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
              saddle-point 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.

                                            8 May, 1998                                 detcas(1)