Available functionals and basis sets
====================================

In the following sections, we provide lists of the basis sets and density functional theory (:term:`DFT`) functionals that are available in QDK/Chemistry's built-in implementations.

Additional features may be available through plugins; see the :ref:`Plugins <plugins>` documentation for more information.

.. _available_basis_sets:

Available basis sets
--------------------

The following keywords are supported for the corresponding basis sets:

.. hlist::
   :columns: 3

   - ``3-21g``
   - ``4-31g``
   - ``5-21g``
   - ``6-21g``
   - ``6-31++g``
   - ``6-31++g*``
   - ``6-31++g**``
   - ``6-31++g**-j``
   - ``6-31+g``
   - ``6-31+g*``
   - ``6-31+g*-j``
   - ``6-31+g**``
   - ``6-311++g``
   - ``6-311++g(2d,2p)``
   - ``6-311++g(3df,3pd)``
   - ``6-311++g*``
   - ``6-311++g**``
   - ``6-311++g**-j``
   - ``6-311+g``
   - ``6-311+g(2d,p)``
   - ``6-311+g*``
   - ``6-311+g*-j``
   - ``6-311+g**``
   - ``6-311g``
   - ``6-311g(2df,2pd)``
   - ``6-311g(d,p)``
   - ``6-311g-j``
   - ``6-311g*``
   - ``6-311g**``
   - ``6-311xxg(d,p)``
   - ``6-31g``
   - ``6-31g(2df,p)``
   - ``6-31g(3df,3pd)``
   - ``6-31g(d,p)``
   - ``6-31g-j``
   - ``6-31g*``
   - ``6-31g**``
   - ``ano-pv5z``
   - ``ano-pvdz``
   - ``ano-pvqz``
   - ``ano-pvtz``
   - ``ano-r``
   - ``ano-r0``
   - ``ano-r1``
   - ``ano-r2``
   - ``ano-r3``
   - ``ano-rcc``
   - ``ano-rcc-mb``
   - ``ano-rcc-vdz``
   - ``ano-rcc-vdzp``
   - ``ano-rcc-vqzp``
   - ``ano-rcc-vtz``
   - ``ano-rcc-vtzp``
   - ``ano-vt-dz``
   - ``ano-vt-qz``
   - ``ano-vt-tz``
   - ``apr-cc-pv(q+d)z``
   - ``aug-ano-pv5z``
   - ``aug-ano-pvdz``
   - ``aug-ano-pvqz``
   - ``aug-ano-pvtz``
   - ``aug-cc-pcv5z``
   - ``aug-cc-pcvdz``
   - ``aug-cc-pcvqz``
   - ``aug-cc-pcvtz``
   - ``aug-cc-pv(5+d)z``
   - ``aug-cc-pv(d+d)z``
   - ``aug-cc-pv(q+d)z``
   - ``aug-cc-pv(t+d)z``
   - ``aug-cc-pv5z``
   - ``aug-cc-pv5z-pp``
   - ``aug-cc-pv6z``
   - ``aug-cc-pv7z``
   - ``aug-cc-pvdz``
   - ``aug-cc-pvdz-pp``
   - ``aug-cc-pvqz``
   - ``aug-cc-pvqz-pp``
   - ``aug-cc-pvtz``
   - ``aug-cc-pvtz-j``
   - ``aug-cc-pvtz-pp``
   - ``aug-cc-pwcv5z``
   - ``aug-cc-pwcv5z-pp``
   - ``aug-cc-pwcvdz``
   - ``aug-cc-pwcvdz-pp``
   - ``aug-cc-pwcvqz``
   - ``aug-cc-pwcvqz-pp``
   - ``aug-cc-pwcvtz``
   - ``aug-cc-pwcvtz-pp``
   - ``aug-ccx-5z``
   - ``aug-ccx-dz``
   - ``aug-ccx-qz``
   - ``aug-ccx-tz``
   - ``aug-mcc-pv5z``
   - ``aug-mcc-pv6z``
   - ``aug-mcc-pv7z``
   - ``aug-mcc-pv8z``
   - ``aug-mcc-pvqz``
   - ``aug-mcc-pvtz``
   - ``aug-pc-0``
   - ``aug-pc-1``
   - ``aug-pc-2``
   - ``aug-pc-3``
   - ``aug-pc-4``
   - ``aug-pch-1``
   - ``aug-pch-2``
   - ``aug-pch-3``
   - ``aug-pch-4``
   - ``aug-pcj-0``
   - ``aug-pcj-0_2006``
   - ``aug-pcj-1``
   - ``aug-pcj-1_2006``
   - ``aug-pcj-2``
   - ``aug-pcj-2_2006``
   - ``aug-pcj-3``
   - ``aug-pcj-3_2006``
   - ``aug-pcj-4``
   - ``aug-pcj-4_2006``
   - ``aug-pcs-0``
   - ``aug-pcs-1``
   - ``aug-pcs-2``
   - ``aug-pcs-3``
   - ``aug-pcs-4``
   - ``aug-pcseg-0``
   - ``aug-pcseg-1``
   - ``aug-pcseg-2``
   - ``aug-pcseg-3``
   - ``aug-pcseg-4``
   - ``aug-pcsseg-0``
   - ``aug-pcsseg-1``
   - ``aug-pcsseg-2``
   - ``aug-pcsseg-3``
   - ``aug-pcsseg-4``
   - ``aug-pcx-1``
   - ``aug-pcx-2``
   - ``aug-pcx-3``
   - ``aug-pcx-4``
   - ``aug-pv7z``
   - ``aug-seg-cc-pv5z-pp``
   - ``aug-seg-cc-pvdz-pp``
   - ``aug-seg-cc-pvqz-pp``
   - ``aug-seg-cc-pvtz-pp``
   - ``aug-seg-cc-pwcv5z-pp``
   - ``aug-seg-cc-pwcvdz-pp``
   - ``aug-seg-cc-pwcvqz-pp``
   - ``aug-seg-cc-pwcvtz-pp``
   - ``cc-pcv5z``
   - ``cc-pcvdz``
   - ``cc-pcvqz``
   - ``cc-pcvtz``
   - ``cc-pv(5+d)z``
   - ``cc-pv(d+d)z``
   - ``cc-pv(q+d)z``
   - ``cc-pv(t+d)z``
   - ``cc-pv5z``
   - ``cc-pv5z-pp``
   - ``cc-pv6z``
   - ``cc-pv8z``
   - ``cc-pv9z``
   - ``cc-pvdz``
   - ``cc-pvdz(pt/sf/sc)``
   - ``cc-pvdz(seg-opt)``
   - ``cc-pvdz-pp``
   - ``cc-pvqz``
   - ``cc-pvqz(seg-opt)``
   - ``cc-pvqz-pp``
   - ``cc-pvtz``
   - ``cc-pvtz(seg-opt)``
   - ``cc-pvtz-pp``
   - ``cc-pwcv5z``
   - ``cc-pwcv5z-pp``
   - ``cc-pwcvdz``
   - ``cc-pwcvdz-pp``
   - ``cc-pwcvqz``
   - ``cc-pwcvqz-pp``
   - ``cc-pwcvtz``
   - ``cc-pwcvtz-pp``
   - ``ccj-pv5z``
   - ``ccj-pvdz``
   - ``ccj-pvqz``
   - ``ccj-pvtz``
   - ``ccx-5z``
   - ``ccx-dz``
   - ``ccx-qz``
   - ``ccx-tz``
   - ``d-aug-cc-pv5z``
   - ``d-aug-cc-pv6z``
   - ``d-aug-cc-pvdz``
   - ``d-aug-cc-pvqz``
   - ``d-aug-cc-pvtz``
   - ``def2-qzvp``
   - ``def2-qzvpd``
   - ``def2-qzvpp``
   - ``def2-qzvppd``
   - ``def2-sv(p)``
   - ``def2-svp``
   - ``def2-svpd``
   - ``def2-tzvp``
   - ``def2-tzvpd``
   - ``def2-tzvpp``
   - ``def2-tzvppd``
   - ``dgauss-dzvp``
   - ``dgauss-dzvp2``
   - ``dgauss-tzvp``
   - ``lanl08``
   - ``lanl08(d)``
   - ``lanl08(f)``
   - ``lanl08+``
   - ``lanl2dz``
   - ``lanl2dzdp``
   - ``lanl2tz``
   - ``lanl2tz(f)``
   - ``lanl2tz+``
   - ``pv6z``
   - ``pv7z``
   - ``seg-cc-pv5z-pp``
   - ``seg-cc-pvdz-pp``
   - ``seg-cc-pvqz-pp``
   - ``seg-cc-pvtz-pp``
   - ``seg-cc-pwcv5z-pp``
   - ``seg-cc-pwcvdz-pp``
   - ``seg-cc-pwcvqz-pp``
   - ``seg-cc-pwcvtz-pp``
   - ``sto-2g``
   - ``sto-3g``
   - ``sto-3g*``
   - ``sto-4g``
   - ``sto-5g``
   - ``sto-6g``

Available DFT functionals
-------------------------

The default :term:`DFT` implementation in QDK/Chemistry uses gauxc :cite:`Petrone2018`
and thus also libxc :cite:`Lehtola2018` for the evaluation of :term:`DFT` functionals.
The following keywords are supported for the corresponding functionals:

.. hlist::
   :columns: 3

   - ``hf``
   - ``svwn3``
   - ``svwn5``
   - ``blyp``
   - ``b3lyp``
   - ``pbe``
   - ``revpbe``
   - ``pbe0``
   - ``scan``
   - ``r2scan``
   - ``r2scanl``
   - ``m062x``
   - ``m06-2x``
   - ``pkzb``
   - ``b97d3zero``
   - ``camb3lyp``
   - ``cam-b3lyp``
   - ``lda``
   - ``m06l``
   - ``m06-l``
   - ``scan0``
   - ``spw92``
   - ``tpss``
   - ``tpssh``
   - ``tpss0``
   - ``vwn3``
   - ``vwn5``
   - ``lrcwpbe``
   - ``lrcwpbeh``
   - ``bp86``
   - ``hse03``
   - ``hse06``
   - ``revb3lyp``
   - ``revpbe0``
   - ``revtpss``
   - ``revtpssh``
   - ``pw91``
   - ``mbeef``
   - ``b3pw91``
   - ``o3lyp``
   - ``olyp``
   - ``opbe``
   - ``mpw1k``
   - ``rpbe``
   - ``b88``
   - ``mpw91``
   - ``rscan``
   - ``tuned-cam-b3lyp``
   - ``tunedcamb3lyp``
   - ``wb97``
   - ``wb97x``
   - ``wb97xd3``
   - ``wb97x-d3``
   - ``lcwpbe``
   - ``lc-wpbe``
   - ``x3lyp``
   - ``xlyp``
   - ``bhandh``
   - ``bmk``
   - ``bp86vwn``
   - ``pw86b95``
   - ``pw86pbe``
   - ``r2scan0``
   - ``r2scanh``
   - ``r2scan50``
   - ``m05``
   - ``m06``
   - ``m08hx``
   - ``m08-hx``
   - ``m08so``
   - ``m08-so``
   - ``m052x``
   - ``m05-2x``
   - ``m06sx``
   - ``m06-sx``
   - ``sogga11x``
   - ``m06hf``
   - ``m06-hf``
   - ``m11``
   - ``mn12l``
   - ``mn12-l``
   - ``mn12sx``
   - ``mn12-sx``
   - ``mn15``
   - ``mn15l``
   - ``mn15-l``
   - ``revm06l``
   - ``revm06-l``
   - ``slater``
   - ``pbeh``
   - ``mpwpw``
   - ``svwn``
   - ``wpbe``



.. note::

   Additional functionals and differing names may be available through plugins; see the :ref:`Plugins <plugins>` documentation for more information.
