Overview
========

|molcas| contains a set of ab initio quantum chemical programs. These
programs are essentially separate entities, but they are tied
together by a shell. The exchange of information between the programs
is through files. The shell is designed to allow ease of use with a
minimum amount of specifications in a "run of the mill" case. The
shell is flexible and allows the user to perform any calculation
possible within the limitations of the various codes supplied with
|molcas|.

To make a calculation using |molcas| you have to decide on which
programs you need to use, prepare input for these, and construct a
command procedure file to run the various programs. This command
procedure file is submitted for batch execution. The following two
subsections describe the programs available and the files used in
|molcas|.

.. _UG\:sec\:progs_list:

Programs in the system
----------------------

Below is a list of the available programs given. The programs are tied
together with a shell and the inter-program information is passed
through files. These files are also specified in this list to indicate
the program module interdependencies.

.. class:: programlist

:program:`ALASKA`
  This program computes the first derivatives of the one- and
  two-electron integrals with respect to the nuclear positions.
  The derivatives are not stored on files, but contracted
  immediately with the one- and two-electron densities to form the
  molecular gradients.

  .. :program:`AUTO`
       This is a shell-script but is implemented into the
       |molcas| framework as if it is a program.
       In oder to avoid writing shell scripts for each job, this script
       contains all logics required to perform any type of calculation
       using a single input file and will invoke all programs.

:program:`CASPT2`
  This program computes the second order Many Body Perturbation Theory
  correction to CASSCF or RASSCF wave function.

:program:`CASVB`
  This program performs various types of valence bond calculations.
  It may be called directly (for VB interpretation of CASSCF wave functions),
  or within the RASSCF program (for fully variational VB calculations).
  In the former case it requires the information in the
  :file:`JOBIPH` file generated by the :program:`RASSCF` program, possibly also the
  integral files :file:`ONEINT` and :file:`ORDINT`.

:program:`CCSDT`
  This program performs the iterative ROHF CCSD procedure,
  optionally followed by the (T) calculation contribution.
  It requires the :file:`JOBIPH` file produced by
  :program:`RASSCF`, and :file:`TRAONE` and :file:`TRAINT` files produced by :program:`MOTRA`.

:program:`CHCC`
  This program performs Closed-Shell Coupled-Clusters Singles and
  Doubles calculations based exclusively on the Cholesky (or RI)
  decomposed 2-electron integrals.

:program:`CMOCORR`
  This program compares the orbital spaces of two orbitals files.

:program:`CPF`
  This program produces a CPF, MCPF or ACPF wave function from a
  single reference configuration.

:program:`DYNAMIX`
  This program allows to do molecular dynamics
  simulations using the velocity Verlet algorithm. It has
  also the capability to detect non-adiabatic transition
  using a surface hopping algorithm.

:program:`ESPF`
  The ElectroStatic Potential Fitted (ESPF) method adds some
  one-electron operators to the one-electron hamiltonian in
  order to compute the interaction between the charge
  distribution and any kind of external electrostatic
  potential, field, and field derivatives.

:program:`EXPBAS`
  This program takes one orbital file generated with a smaller basis set (ANO) and
  expands it to a larger basis set.

:program:`GATEWAY`
  This program collects all information about computed system, including
  geometry, basis sets and symmetry, and stores the data for a future use.

:program:`GENANO`
  This program is used to construct ANO type basis sets.

:program:`GRID_IT`
  This program calculates densities and molecular orbitals
  in a set of cartesian grid points, and produce a file for
  visualisation of MO's and densities.

  .. :program:`GV`
       GUI code for visualization and manipulation of molecular structures, and
       for visualization of molecular orbitals, densities, density differences, etc.

:program:`FFPT`
  This program applies perturbations to the one-electron Hamiltonian
  for finite field perturbation calculations.

:program:`GUGA`
  This program generates the coupling coefficients required by the
  :program:`MRCI` and
  :program:`CPF` programs.

:program:`LOCALISATION`
  This program generates localised occupied orbitals according to one of
  the following procedures: Pipek--Mezey, Boys,
  Edmiston--Ruedenberg, or Cholesky. Orthonormal, linearly
  independent, local virtual orbitals may also be generated
  from projected atomic orbitals (Cholesky PAOs).

:program:`LOPROP`
  This program computes molecular properties based on the
  one-electron density or transition-density and
  one-electron integrals like charges, dipole moments and
  polarizabilities

:program:`MBPT2`
  This program computes the second order Many Body Perturbation Theory
  correction to an SCF wave function.

:program:`MCKINLEY`
  This program calculates the second and first order derivatives of
  integrals that are used
  for calculating second order derivatives of the energies with perturbation
  dependent basis sets.

:program:`MCLR`
  This program calculates the response of the wave function
  and related second order properties.

:program:`MOTRA`
  This program transforms one- and two-electron integrals from AO
  basis to MO basis. The integrals that are transformed are the
  one-electron Hamiltonian and the two-electron repulsion integrals.

:program:`MRCI`
  This program produces a Multi Reference CI wave function from an
  arbitrary set of reference configurations. Alternatively the program
  can produce an Averaged CPF wave function.

:program:`MULA`
  This program calculates intensities of vibrational
  transitions between electronic states.

:program:`NEMO`
  A set of computational modules for calculation of
  interaction energies between molecules.

:program:`RASSCF`
  This program generates CASSCF, RASSCF and GASSCF type wave functions.

:program:`RASSI`
  This program computes the interaction between several RASSCF
  wave functions. A spin-orbit Hamiltonian can be used.

:program:`SCF`
  This program generates Closed Shell SCF or Unrestricted SCF,
  and Kohn--Sham DFT wave functions.

:program:`SEWARD`
  This program generates one- and two-electron integrals needed
  by other programs. If requested the two-electron integrals are
  computed in the form of Cholesky decomposed vectors.

:program:`SINGLE_ANISO`
  This program allows the non-perturbative
  calculation of effective spin (pseudospin) Hamiltonians
  and static magnetic properties of mononuclear complexes
  and fragments completely ab initio, including the
  spin-orbit interaction.

:program:`SLAPAF`
  This program is a general purpose facility for geometry
  optimization, transition state search, MEP, conical intersections, intersystem
  crossings, etc. using analytical or numerical gradients produced by
  :program:`ALASKA`.

:program:`VIBROT`
  This program computes the vibrational-rotational spectrum of a
  diatomic molecule. Spectroscopic constants are computed. The program can also
  compute transition moments, life times, etc. for excited state potentials.

.. _UG\:sec\:files_list:

Files in the system
-------------------

The following is a list of the most common files in |molcas| that are used
to exchange information between program modules. The names given in
this list are the FORTRAN file names, defined in the source code.
Actual file names are constructed from so called prgm tables, specific
for each individual module. (More information about PRGM files can be found
in the Molcas Programming Guide).

.. class:: filelist

:file:`RUNFILE`
  This file contains general information of the calculation. All programs
  read from it and write to it. :program:`GATEWAY` creates a new :file:`RUNFILE`
  corresponding to a new calculation.

:file:`ONEINT`
  This file contains the one-electron integrals generated by the program
  :program:`SEWARD`.

:file:`ORDINT`
  This file contains the ordered two-electron integrals generated by the program
  :program:`SEWARD`.

:file:`RYSRW`
  Data base for the fast direct evaluation of roots and weights of
  the Rys polynomials. This file is a part of the program system and
  should not be manipulated by the user.

:file:`ABDATA`
  Data base for the evaluation of roots and weights of high order Rys
  polynomial. This file is a part of the program system and should
  not be manipulated by the user.

:file:`CHVEC`
  This file contains the Cholesky vectors representing the two-electron integrals
  as generated by the program
  :program:`SEWARD`.

:file:`CHORST`
  This file contains information about each of the Cholesky
  vectors generated by the program
  :program:`SEWARD`.

:file:`CHRED`
  This file contains information about the storage mode of the Cholesky
  vectors generated by the program
  :program:`SEWARD`.

:file:`CHOR2F`
  File containing the mapping between Cholesky vector storage and the canonical orbital ordering.

:file:`TRAINT`
  This file contains the transformed two-electron integrals generated
  by the program
  :program:`MOTRA`.

:file:`TRAONE`
  This file contains the transformed one-electron integrals generated by
  the program
  :program:`MOTRA`.

:file:`INPORB`
  A generic name for an orbital file. Different programs
  uses and/or generates :file:`INPORB` files with a specific name:

  * :file:`GSSORB` generated by the program :program:`GUESSORB`.
  * :file:`SCFORB` generated by the program :program:`SCF`.
  * :file:`RASORB` generated by the program :program:`RASSCF`.
  * :file:`CIORB` generated by the program :program:`MRCI`
  * :file:`CPFORB` generated by the program :program:`CPF`.
  * :file:`SIORB` generated by the program :program:`RASSI`.
  * :file:`PT2ORB` generated by the program :program:`CASPT2`.

:file:`JOBIPH`
  This file contains the RASSCF wave function information generated by the
  :program:`RASSCF` program.

:file:`JOBOLD`
  This file contains the RASSCF wave function information generated by the
  :program:`RASSCF` program in the file :file:`JOBIPH`, and is used as input for a
  subsequent :program:`RASSCF` calculation.

:file:`JOBMIX`
  This file contains the multi-state CASPT2 wave function information
  generated by the
  :program:`CASPT2` program, and is used as input for a
  subsequent :program:`RASSI` calculation.

:file:`GRID`
  This file contains binary or ASCII data generated by
  :program:`GRID_IT` program for visualization of density or
  molecular orbitals.
