****
ORCA
****

.. py:class:: ORCA

This interface supports energy and gradient evaluations with the
`ORCA <https://orcaforum.kofo.mpg.de/>`_ electronic structure package

An ORCA :ref:`Theory <theories>` object can be specified as follows::

  my_frag = Fragment(...)

  my_theory = ORCA(frag=my_frag,
                   method='dft',
                   basis='3-21g',
                   path='my_path_to_orca/orca'
                   ...)

which would then be called as ``theory=my_theory`` in subsequent tasks.


General options
===============

.. py:attribute:: list_option

  (default: ``'medium'``) How much output to generate

.. py:attribute:: jobname

  (default: ``'_orca'``) Name to use as root for ORCA file names

.. py:attribute:: moinp

  (default: ``'save.gbw'``) Name of a .gbw file to restart from. Do not specify moinp=$jobname.gbw. According to the ORCA v2.8 manual this will not work as $jobname.gbw will be overwritten on startup.

.. py:attribute:: nprocs

  (default: ``1``) Number of processors for parallel execution. If you run ORCA in parallel (using nproc) you must specify the full path to ORCA with the executable option.

.. py:attribute:: optstr

  (default: ``''``) Additional ORCA input. Useful for specifying ORCA options not covered explicitly by this interface.

.. py:attribute:: path

  (default: ``'orca'``) ORCA executable

.. py:attribute:: version

  (default: ``4.0``) ORCA version number. Used to determine how to specify basis sets. 

Method options
==============

.. py:attribute:: gridsize

   (default: ``'2'``)  DFT integration grid size (0-7)

.. py:attribute:: use_finalgrid

   (default: ``'True'``) Use "multigrid" feature (a larger integration grid for final energy and gradient evaluation). 

.. py:attribute:: finalgridsize

   (default: ``'Undefined'``) Final DFT integration grid size. ORCA default is 4

.. py:attribute:: use_ri

   (default: ``'False'``) Use RI approximation. If yes, an auxiliary basis set must be specified using auxbasis.

.. py:attribute:: d3

   (default: ``'False'``) Add Grimme's D3 dispersion correction.


Basis set options
=================

.. py:attribute:: basis
   :noindex:

 (default: ``'sto-3g'``) Basis sets should be specified using the format used in the "%basis" section of ORCA input files. As of ORCA v4.0, this is identical to basis keywords on the "simple input" line. To use the old format set the version option to e.g. 3.0.  Basis information can be entered here either in-line (e.g. [STO-3G] or [newgto C "def2-TZVP"]) or from a file (enter filename, e.g. [mgo.basis]) with GAMESS-US format::

  newgto O
    "O1"
  S 5
    1        2266.17678          -0.534318099E-02
    2         340.870102          -0.398900392E-01
    3        77.3631352          -0.178539120
    4        21.4796449          -0.464276850
    5        6.65894331          -0.443097452
  S 1
    1         0.809759757         1.00000000
  S 1
    1         0.2357775           1.00000000
  P 3
    1         17.7215043          0.433945732E-01
    2         3.86355054          0.230941208
    3         1.04809209          0.513753111
  P 1
    1         0.2501223           1.00000000
  D 1
    1         0.3994913343        1.00000000
  end

Note that the second line contains an additional symbolic name to link the basis set with the appropriate atom type as given in the input structure.

.. py:attribute:: ecp

(default: ``''``) ECP Specification, either in-line or from a file (e.g. [mgo.ecp]).  Format is::

  NewECP Mg
    "Mg1"
  N_core 10
  lmax f
  s 1
    1  1.73200000      14.67600000       2
  p 1
    1  1.11500000       5.175700000      2
  d 1
    1  1.20300000      -1.816000000      2
  f 1
    1  1.00000000       0.000000000      2
  end

Note that as with the basis set definition, the second line contains an additional symbolic name to link the basis set with the appropriate atom type as given in the input structure.  Further information on the format is available in the ORCA manual.


.. py:attribute:: auxbasis

  (default: ``''``) Auxiliary basis set for the RI approximation.


SCF options
===========

.. py:attribute:: convergence

  (default: ``'NormalSCF'``) SCF convergence criterion. (NormalSCF, StrongSCF, TightSCF etc. - see Orca manual)

.. py:attribute:: guess

  (default: ``'Hueckel'``) Choice of initial guess, e.g. HCore, Hueckel, PAtom (ORCA default: PAtom). Ignored for restart calculations. PAtom/PModel do not appear to be as robust when using a manual basis set or ECP.


Excited state options
=====================

.. py:attribute:: excited

  (default: ``False``) Perform an excited state calculation (CIS or TDDFT depending on the hamiltonian)

.. py:attribute:: estate

  (default: ``1``) The excited state of interest (1 is the 1st excited state, etc.)

.. py:attribute:: eroots

  (default: ``1``) Number of excitations to calculate. Only needs to be set if you want to calculate further states above estate (e.g. to avoid root flipping).

.. py:attribute:: tda

  (default: ``True``) Use the Tamm-Dancoff approximation (TDDFT only). ORCA's default is to use the Tamm-Dancoff approximation. As of v2.8 full TDDFT is not supported either for hybrid functionals or for gradient calculations with any functional.







