Provided by: psi3_3.4.0-6ubuntu1_amd64 bug

NAME

       psi3 - master execution driver for the PSI programs

DESCRIPTION

       The  program  psi3  reads your input deck, determines what type of calculation you are trying to perform,
       and runs the appropriate programs.  psi3 reads the file /usr/local/psi3/share/psi.dat by  default.   This
       file  contains macros for some standard calculations.  Psi is very flexible, however, and anything in the
       psi.dat file can be overridden by the user.  Thus, all that is written below should be taken with a grain
       of  salt.   Experimentation  is  the best way to learn the psi3 command, and nothing that is written here
       should be taken as gospel.  A good place to look for syntax is in the psi.dat file.  Hopefully  this  man
       page and the psi.dat file should tell you all you need to know to get started.

COMMAND-LINE OPTIONS

       The following command-line arguments are available:

       -i or -f
              This flag is used to specify the input file name, e.g.  psi3 -i h2o.in where h2o.in is the name of
              input file. By default, psi3 and PSI modules that it calls will look for input.dat .

       -o     This flag is used to specify the output file name, e.g.  psi3 -o h2o.out where h2o.in is the  name
              of output file. By default, psi3 and PSI modules that it calls will look for output.dat .

       -p     This  flag  is  used  to  specify  the PSI file prefix, e.g.  psi3 -p h2o.dzp where h2o.dzp is the
              prefix that will be used for all PSI files. By default, psi3 and PSI modules that  it  calls  will
              use psi for the file prefix. Hence, the checkpoint file is by default called psi.32 .

       --noinput or -n
              This tells psi3 driver not to run input program. This flag is useful for scripting and debugging.

       --check or -c
              This  tells  psi3  driver  to  check  the  input and print out the list of programs which would be
              executed. Equivalent to setting CHECK=TRUE in the input file.

       --messy or -m
              This tells psi3 driver not to run cleanup program psiclean .   Usually,  the  cleanup  program  is
              invoked via the $done macro defined in psi.dat .  This flag is useful for scripting and debugging.

INPUT FORMAT

       The psi3 program searches through the default keyword path (first PSI and then DEFAULT) for the following
       keywords:

       JOBTYPE = string
              This tells the psi3 driver program what kind of calculation you want to run.   Acceptable  choices
              are:  SP (for a single-point energy computation), OPT (for an optimization, either using gradients
              or energies), FREQ (for harmonic vibrational frequencies),  FC  (for  force  constants  by  finite
              differences  of  internal  coordinates  ),  SYMM_FC  (for force constants by finite differences of
              internal coordinates, symmetric modes only), DISP (for a  series  of  single-points  at  different
              displaced  geometries),  DBOC  (to  compute  the  Diagonal  Born-Oppenheimer  Correction [DBOC] to
              electronic energy).  The default is SP.

       WFN = string
              This is the type of wavefunction which is ultimately desired.   As  of  this  writing,  acceptable
              values  for  WFN  are  SCF,  MP2,  CCSD, CCSD_T, DETCI, CASSCF, and RASSCF.  Having WFN defined as
              anything else is not necessarily bad, but don't expect psi3 to be able to figure out what  to  do.
              If  you  have  a  non-standard WFN, then it would probably be best to provide an EXEC section (see
              below).  There is no default.

       REFERENCE = string
              This specifies the reference wavefunction desired.  It can be one of RHF (for a closed shell spin-
              restricted Hartree-Fock), ROHF (for an open-shell spin-restricted Hartree-Fock), UHF (for an open-
              shell spin-unrestricted Hartree-Fock), or TWOCON (for a two configuration singlet).   The  default
              is RHF.

       DERTYPE = string
              This specifies the order of derivative that is to eventually be done.  The default is NONE.

       OPT = boolean
              Set  this  equal  to  true  if  you are performing a geometry optimization.  The default is false.
              Note: This is an old keyword which is now obsolete; it has been replaced by the JOBTYPE keyword.

       NOPT = integer
              This gives the maximum number of iterations if OPT is true.  The default is 1.

       DISP = boolean
              Set this equal to true if you are performing a finite displacements.  The default is false.  Note:
              This is an old keyword which is now obsolete; it has been replaced by the JOBTYPE keyword.

       NDISP = integer
              This gives the maximum number of displacements if DISP is true.  The default is 1.

       NCASITER = integer
              This gives the maximum number of CASSCF iterations if WFN = CASSCF.  The default is 1.

       CHECK = boolean
              If  this  is true, then psi3 will parse your input deck, and print out the sequence of commands to
              be executed.  The default is false.

       EXEC = string_vector
              The EXEC vector contains a list of commands to be executed by  psi3.   Explicit  commands  can  be
              entered  in  double quotes, or preset variables can be entered using the convention $variable (see
              examples below).  Thus if you want to run ints at some point, you could have

              psi: (
                exec = (
                  ...
                  "ints"
                  ...
                  )
                )

              or

              psi: (
                ints = "ints"
                exec = (
                  ...
                  $ints
                  ...
                  )
                )

              in your input.

LOOP CONTROL

       Loop control is handled via the "repeat" and "end" built-in commands.  The syntax is

        repeat n  [commands to be executed] end

       where n is the number of times to repeat the loop.  An inspection of the psi.dat file will show that this
       is  how  geometry optimizations and finite displacements are performed;  in these cases n is set equal to
       NOPT or NDISP.

EXAMPLES

       Let's say you want to do an scf geometry optimization. Your psi3 input could then be:

       default: (
         jobtype = opt
         wfn = scf
         dertype = first
         reference = rhf
         nopt = 5
         ...
         )

       What psi3 would do with this is look in psi.dat or your input for  a  variable  called  SCFCLOSEDFIRSTOPT
       (you  see, psi catenates the values (roughly) for WFN, REFERENCE, DERTYPE, and OPT/DISP, in approximately
       that order (case doesn't matter)), and then  executes  the  commands  defined  in  the  SCFCLOSEDFIRSTOPT
       vector.  Got it?

       So  now,  let's say you want to run a program "myscf" instead of whatever scf psi3 thinks you should run.
       What you would do is put the line

        scf = "myscf"

       in your input.

       Okay, one last example, then you're on your own.  I want to run proper after deriv in my scf gradient.  I
       would have several ways to do this.

       1) Brute force

              default: (
                exec = (
                 repeat 5
                   "cints"
                   "cscf"
                   $deriv       % this is defined in psi.dat as "cints --deriv1"
                   "oeprop"
                   $geomupdate  % this is defined in psi.dat
                 end
                 $done
                 )
                )

       2) Elegant

              default: (
                SCFFirst = ($ints $scf $deriv $oeprop)
                )

       3) Obscure

              default: (
                deriv = ("cints --deriv1" "oeprop")
                )

              And there are others.  The only limit is your own tortured imagination.

       Like  I  said,  the  best  way to find out what psi3 can do is to look in psi.dat, and to play around for
       awhile.  The CHECK option is very useful for this.  Good luck!

                                                 25 August, 2003                                         psi3(1)