.. index::
   single: Program; Averd
   single: Averd

.. _UG\:sec\:averd:

:program:`averd`
================

.. only:: html

  .. contents::
     :local:
     :backlinks: none

.. _UG\:sec\:averd_description:

Description
-----------

.. xmldoc:: <MODULE NAME="AVERD">
            %%Description:
            <HELP>
            Computes average densities and corresponding natural molecular orbitals
            </HELP>

:program:`Averd` computes average densities and corresponding
natural molecular orbitals. Given a set of density
matrices in the same basis set, an average density matrix is
constructed and diagonalized to give average natural orbitals.
These orbitals have non-integer occupation numbers, although they
usually are fairly well clustered in one strongly occupied
part and one weakly occupied part. From basic mathematical
properties of natural orbitals, a truncated set of the orbitals
constructed this way constitutes the most compact basis of
one-electron functions of that given size. In other words, the smallest
set of functions to span the average space within a certain
accuracy has been obtained. :program:`Averd`
is in essence very similar to :program:`Genano`.

.. _UG\:sec\:averd_dependencies:

Dependencies
------------

:program:`Averd` needs a set of input densities. Any of the
programs, which generate a density must precede.

.. _UG\:sec\:averd_files:

Files
-----

Below is a list of the files that are used/created by
:program:`Averd`.

Input files
...........

.. class:: filelist

:file:`RUNFILE`
  File for communication of auxiliary information generated by the program
  :program:`SEWARD`.

:file:`ONEINT`
  File with one-electron integrals generated by :program:`SEWARD`.

:file:`RUN***`
  A set of RunFiles on which a density matrix is stored. This density
  matrix is read and added to the average. If :kword:`ORBItals` is
  given, these files are not needed.

:file:`NAT***`
  A set of orbitals in the format generated by :program:`SCF` or
  :program:`RASSCF`. The orbitals are used to generate a density matrix,
  which is added to the average. Only required if :kword:`ORBItals` is
  given.

Output files
............

.. class:: filelist

:file:`AVEORB`
  The average orbitals generated by :program:`Averd`. They are stored in
  the same way as SCF-orbitals and can be used as INPORB.

.. _UG\:sec\:averd_input:

Input
-----

.. class:: keywordlist

:kword:`TITLe`
  Title of the calculation.

  .. xmldoc:: <KEYWORD MODULE="AVERD" NAME="TITLE" APPEAR="Title" KIND="STRING" LEVEL="BASIC">
              %%Keyword: Title <basic>
              <HELP>
              Title of the calculation
              </HELP>
              </KEYWORD>

:kword:`WSET`
  Followed by two rows. On the first the number of input orbitals are
  given, :math:`N`. Second row contains :math:`N` numbers each giving a weight
  for the :math:`k`\th input density matrix to the average density. The
  weights are normalized by :program:`Averd`, hence only the
  ratio of the numbers have any significance. **This keyword
  is mandatory.**

  .. xmldoc:: <KEYWORD MODULE="AVERD" NAME="WSET" APPEAR="Relative weights" KIND="REALS_COMPUTED" SIZE="1" LEVEL="BASIC">
              %%Keyword: WSet <compulsory>
              <HELP>
              Number of input sets of orbitals and relative weight for each of them.
              </HELP>
              </KEYWORD>

:kword:`PRINt`
  Print level. 1 is default. Higher than 3 is not recommended for the
  average user.

  .. xmldoc:: <KEYWORD MODULE="AVERD" NAME="PRINT" APPEAR="Print level" KIND="INT" LEVEL="BASIC" DEFAULT_VALUE="1">
              %%Keyword: Print <basic>
              <HELP>
              Print level. Default is 1.
              </HELP>
              </KEYWORD>

:kword:`ORBItals`
  This keyword signifies that the densities should be created from
  average orbitals in the files :file:`NAT***`, not directly from the density
  matrices on the files :file:`RUN***`. The default is to use the density
  matrices on :file:`RUN***`.

  .. xmldoc:: <KEYWORD MODULE="AVERD" NAME="ORBITALS" APPEAR="Densities from orbital files" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Orbitals <basic>
              <HELP>
              This keyword signifies that the densities should be created from
              average orbitals in the NAT*** files, not directly from the density
              matrices in the RUN*** files.
              </HELP>
              </KEYWORD>

:kword:`OCCUpation`
  Followed by one number. The number of average orbitals with an
  occupation higher than this number is reported for each symmetry.
  Since the occupation is the guide for how to truncate the orbitals
  in subsequent applications, this is an easy way to get hold of
  that number. The default is :math:`10^{-5}`.

  .. xmldoc:: <KEYWORD MODULE="AVERD" NAME="OCCUPATION" APPEAR="Occupation threshold" KIND="REAL" LEVEL="BASIC" DEFAULT_VALUE="1.0D-5">
              %%Keyword: Occupation <basic>
              <HELP>
              The number of average orbitals with an
              occupation higher than this number is reported for each symmetry.
              The default is 1.0d-5.
              </HELP>
              </KEYWORD>

Input example
.............

In this example, two density matrices are averaged and their
average orbitals are computed. ::

  &Seward
  Basis set
  O.ano-s.Pierloot.10s6p3d.7s4p2d.
  O  0.0000  0.0000  0.3000
  End of Basis set
  Basis set
  H.ano-s.Pierloot.7s3p.4s1p.
  H1 0.0000 -1.4300 -0.8070
  H2 0.0000  1.4300 -0.8070
  End of Basis Set

  &FfPt
  Dipo
  z 0.005
  End of Input

  &Scf
  Occupation
  5
  >>COPY $Project.RunFile RUN001

  &FfPt
  Dipo
  z -0.005

  &Scf
  Occupation
  5
  End of Input
  >>COPY $Project.RunFile RUN002

  &Averd &End
  Wset
  2
  1.0 1.0
  Occupation
  1d-6

.. xmldoc:: </MODULE>
