From 0b1dc18342344226612ce2ce84711dbf10020e3e Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 16 Jan 2019 00:13:22 +0100 Subject: [PATCH 1/3] Fixed qp set --- TODO | 5 ++++- etc/qp.rc | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/TODO b/TODO index 69df9a27..0b39202a 100644 --- a/TODO +++ b/TODO @@ -60,4 +60,7 @@ Refaire les benchmarks # Toto Si un provider est un programme, generer une page a lui tout seul avec le man -# qp_stop : pour forcer a terminer proprement le programme (kill clean) +qp_stop : pour forcer a terminer proprement le programme (kill clean) + +Virer EMSL + diff --git a/etc/qp.rc b/etc/qp.rc index c54348ea..ea657024 100644 --- a/etc/qp.rc +++ b/etc/qp.rc @@ -240,7 +240,7 @@ _qp_Complete() then case "${prev2}" in - "set"|has|get) + set|has|get) if [[ ${prev} == "qp" ]] ; then COMPREPLY=( $(compgen -W "plugins set set_frozen_core set_mo_class" -- $cur ) ) elif [[ ! -d ${EZFIO_FILE}/${prev} ]] ; then @@ -266,7 +266,7 @@ _qp_Complete() return 0 ;; set|has|get) - COMPREPLY=( $(compgen -d "$(cd ${EZFIO_FILE} ; \ls -d */ | sed 's|/||g')" -- $cur ) ) + COMPREPLY=( $(compgen -W "$(cd ${EZFIO_FILE} ; \ls -d */ | sed 's|/||g')" -- $cur ) ) return 0 ;; edit) From fd933735439ab6e0a911cf68fa67c58240f56fc8 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 16 Jan 2019 11:47:09 +0100 Subject: [PATCH 2/3] Working on doc --- TODO | 4 +- bin/qpsh | 15 +- configure | 40 +- docs/ref | 2 + docs/source/auto_generate.py | 42 +- docs/source/modules/ao_basis.rst | 180 +- docs/source/modules/ao_one_e_ints.rst | 224 +- docs/source/modules/ao_two_e_erf_ints.rst | 108 +- docs/source/modules/ao_two_e_ints.rst | 140 +- docs/source/modules/aux_quantities.rst | 50 +- docs/source/modules/becke_numerical_grid.rst | 140 +- docs/source/modules/bitmask.rst | 204 +- docs/source/modules/cipsi.rst | 154 +- docs/source/modules/cis.rst | 101 +- docs/source/modules/cisd.rst | 99 +- docs/source/modules/davidson.rst | 166 +- docs/source/modules/davidson_dressed.rst | 14 +- docs/source/modules/davidson_undressed.rst | 26 +- docs/source/modules/density_for_dft.rst | 64 +- docs/source/modules/determinants.rst | 680 ++-- docs/source/modules/dft_keywords.rst | 52 +- docs/source/modules/dft_utils_in_r.rst | 78 +- docs/source/modules/dft_utils_one_e.rst | 284 +- docs/source/modules/dressing.rst | 40 +- docs/source/modules/electrons.rst | 52 +- docs/source/modules/ezfio_files.rst | 48 +- docs/source/modules/fci.rst | 156 +- docs/source/modules/generators_cas.rst | 16 +- docs/source/modules/generators_full.rst | 93 +- docs/source/modules/hartree_fock.rst | 101 +- docs/source/modules/iterations.rst | 72 +- docs/source/modules/kohn_sham.rst | 219 +- docs/source/modules/kohn_sham_rs.rst | 219 +- docs/source/modules/mo_basis.rst | 116 +- docs/source/modules/mo_guess.rst | 40 +- docs/source/modules/mo_one_e_ints.rst | 122 +- docs/source/modules/mo_two_e_erf_ints.rst | 114 +- docs/source/modules/mo_two_e_ints.rst | 140 +- docs/source/modules/mpi.rst | 46 +- docs/source/modules/nuclei.rst | 108 +- docs/source/modules/perturbation.rst | 153 +- docs/source/modules/pseudo.rst | 112 +- docs/source/modules/psiref_cas.rst | 16 +- docs/source/modules/psiref_utils.rst | 14 +- docs/source/modules/scf_utils.rst | 142 +- docs/source/modules/selectors_cassd.rst | 14 +- docs/source/modules/selectors_full.rst | 30 +- docs/source/modules/selectors_utils.rst | 66 +- docs/source/modules/single_ref_method.rst | 85 +- docs/source/modules/tools.rst | 238 +- docs/source/modules/utils.rst | 296 +- docs/source/modules/zmq.rst | 152 +- docs/source/programmers_guide/conventions.rst | 8 + .../programmers_guide/index_providers.rst | 2791 +++++++++-------- docs/source/programs/.gitignore | 0 docs/source/users_guide/index.rst | 8 + etc/qp.rc | 1 + man/configure.1 | 2 +- man/excited_states.1 | 2 +- man/interfaces.1 | 2 +- man/natural_orbitals.1 | 2 +- man/plugins.1 | 2 +- man/qp_convert_output_to_ezfio.1 | 22 +- man/qp_create_ezfio_from_xyz.1 | 73 +- man/qp_edit.1 | 54 +- man/qp_export_as_tgz.1 | 22 +- man/qp_plugins.1 | 49 +- man/qp_run.1 | 5 +- man/qp_set_frozen_core.1 | 4 +- man/qp_set_mo_class.1 | 27 +- scripts/hello.py | 4 +- scripts/qp_convert_output_to_ezfio | 3 - src/cis/cis.irp.f | 54 +- src/kohn_sham/ks_scf.irp.f | 2 +- src/tools/write_integrals_erf.irp.f | 2 +- 75 files changed, 4400 insertions(+), 4626 deletions(-) create mode 100644 docs/source/programs/.gitignore diff --git a/TODO b/TODO index 0b39202a..217c9e7d 100644 --- a/TODO +++ b/TODO @@ -19,7 +19,7 @@ Problem with EMSL * Molden format : http://cheminf.cmbi.ru.nl/molden/molden_format.html : read+write. Thomas est dessus * Un module pour lire les integrales Moleculaires depuis un FCIDUMP * Un module pour lire des integrales Atomiques (voir module de Mimi pour lire les AO Slater) - +* Format Fchk (gaussian) # Tests: @@ -64,3 +64,5 @@ qp_stop : pour forcer a terminer proprement le programme (kill clean) Virer EMSL + + diff --git a/bin/qpsh b/bin/qpsh index 9f1019f9..05c38b5d 100755 --- a/bin/qpsh +++ b/bin/qpsh @@ -2,17 +2,12 @@ export QP_ROOT=$(dirname $0)/.. -python2 ${QP_ROOT}/scripts/hello.py -echo "" -echo " -- Quantum Package Shell -- " -echo "" - -exec bash --init-file <(cat << EOF -[[ -f \${HOME}/.bashrc ]] && source \${HOME}/.bashrc -source \${QP_ROOT}/quantum_package.rc -qp prompt +bash --init-file <(cat << EOF + [[ -f /etc/bashrc ]] && source /etc/bashrc + source ${QP_ROOT}/quantum_package.rc + qp prompt EOF -) +) -i $@ diff --git a/configure b/configure index 3ec98e14..77cea9cd 100755 --- a/configure +++ b/configure @@ -3,7 +3,7 @@ # Quantum Package configuration script # -TEMP=`getopt -o c:i:h -l config:,install:,help -n $0 -- "$@"` || exit 1 +TEMP=$(getopt -o c:i:h -l config:,install:,help -n $0 -- "$@") || exit 1 eval set -- "$TEMP" export QP_ROOT="$( cd "$(dirname "$0")" ; pwd -P )" @@ -25,8 +25,8 @@ Options: in "${QP_ROOT}/config/". -h, --help Print the HELP message -i, --install= INSTALL . Use at your OWN RISK: - no support will be provided for the installation of - dependencies. + no support will be provided for the installation of + dependencies. Example: ./$(basename $0) -c config/gfortran.cfg @@ -62,7 +62,7 @@ function execute () { PACKAGES="" OCAML_PACKAGES="ocamlbuild cryptokit zmq core sexplib ppx_sexp_conv ppx_deriving getopt" -while true : ; do +while true ; do case "$1" in -c|--config) case "$2" in @@ -158,17 +158,17 @@ function find_dir() { if [[ "${PACKAGES}.x" != ".x" ]] ; then printf "\e[0;31m" echo "" - echo "#########################################################" - echo "# #" - echo "# Automatic installation of dependencies #" - echo "# #" - echo "# USE AT YOUR OWN RISK : #" - echo "# No support will be provided by the quantum package #" - echo "# developers for the installation of external software. #" - echo "# #" - echo "# You may refer to the INSTALL.rst file for help. #" - echo "# #" - echo "#########################################################" + echo "#########################################################" + echo "# #" + echo "# Automatic installation of dependencies #" + echo "# #" + echo "# USE AT YOUR OWN RISK : #" + echo "# No support will be provided by the quantum package #" + echo "# developers for the installation of external software. #" + echo "# #" + echo "# You may refer to the INSTALL.rst file for help. #" + echo "# #" + echo "#########################################################" printf "\e[m" echo "" sleep 1 @@ -433,11 +433,11 @@ fi if [[ -f ${QP_ROOT}/build.ninja ]] ; then [[ -z ${TRAVIS} ]] && exec ${QP_ROOT}/bin/qpsh else - echo "" - echo "${QP_ROOT}/build.ninja does not exist," - echo "you need to specify the COMPILATION configuration file." - echo "See ./configure --help for more details." - echo "" + echo "" + echo "${QP_ROOT}/build.ninja does not exist," + echo "you need to specify the COMPILATION configuration file." + echo "See ./configure --help for more details." + echo "" fi diff --git a/docs/ref b/docs/ref index 2af16245..065b2cde 100644 --- a/docs/ref +++ b/docs/ref @@ -1,3 +1,5 @@ +* To reference the QP program prog, use :ref:`.prog.` + * See docs/source/_static/links.rst file for many useful macros * option provider :option:`name_of_module provider` * subroutine :c:func:`my_subroutine` diff --git a/docs/source/auto_generate.py b/docs/source/auto_generate.py index 269f35a6..1634e2fa 100755 --- a/docs/source/auto_generate.py +++ b/docs/source/auto_generate.py @@ -2,8 +2,11 @@ from __future__ import print_function import os +import sys import ConfigParser +from module_handler import get_binaries + def generate_modules(abs_module, entities): MODULE = os.path.split(abs_module)[-1] @@ -37,16 +40,29 @@ def generate_modules(abs_module, entities): rst += [ ".. option:: %s\n"%(section), doc, default ] providers = [] - subroutines = [] + subroutines = {} for k in sorted(entities.keys()): e = entities[k] if e["module"].lower() == module.lower(): if "/" not in e["file"] and e["file"] != "ezfio_interface.irp.f": if e["type"] == 's': - subroutines.append(e) + subroutines[e["name"]] = e elif e["type"] == 'p': providers.append(e) + binaries = [ os.path.basename(f) for f in get_binaries(abs_module) ] + + if binaries: + rst += ["", "Programs", "--------", ""] + for b in binaries: + try: + b = subroutines[b] + except KeyError: + print("Error: The program %s in %s does not have the same name as the file"% + (b, abs_module)) + sys.exit(1) + rst += [" * :ref:`%s`"%(b["name"])] + if providers: rst += [ "", "Providers", "---------", "" ] for p in providers: @@ -72,7 +88,10 @@ def generate_modules(abs_module, entities): if subroutines: rst += [ "", "Subroutines / functions", "-----------------------", "" ] - for p in subroutines: + for p in sorted(subroutines.keys()): + p = subroutines[p] + if p["name"] in binaries: + continue rst += [ """ .. c:function:: %s @@ -93,10 +112,21 @@ def generate_modules(abs_module, entities): ) ] - rst_file = os.path.join('modules',module+".rst") with open(rst_file,'w') as f: - f.write("\n".join(rst)) + f.write(" \n".join(rst)) + + for b in binaries: + rst = [ + ".. _.%s.:"%(b), "", + ".. program:: %s"%(b), "", + "="*len(b), b, "="*len(b), "", "", + " ".join(subroutines[b]["doc"]), "", + "File: :file:`%s`"%(os.path.join(module, subroutines[b]["file"])) + ] + rst_file = os.path.join('programs',b+".rst") + with open(rst_file,'w') as f: + f.write(" \n".join(rst)) @@ -202,7 +232,7 @@ def generate_index(entities): if e["type"] == 's': rst.append("* :c:func:`%s`" % (e["name"])) - f.write("\n".join(rst)) + f.write(" \n".join(rst)) diff --git a/docs/source/modules/ao_basis.rst b/docs/source/modules/ao_basis.rst index 863e9eec..ab5a5f1a 100644 --- a/docs/source/modules/ao_basis.rst +++ b/docs/source/modules/ao_basis.rst @@ -1,9 +1,9 @@ -.. _ao_basis: - -.. program:: ao_basis - -.. default-role:: option - +.. _ao_basis: + +.. program:: ao_basis + +.. default-role:: option + ======== ao_basis ======== @@ -32,68 +32,68 @@ the two electron integrals. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: ao_basis - + Name of the |AO| basis set - - + + .. option:: ao_num - + Number of |AOs| - - + + .. option:: ao_prim_num - + Number of primitives per |AO| - - + + .. option:: ao_prim_num_max - + Maximum number of primitives - + Default: =maxval(ao_basis.ao_prim_num) - + .. option:: ao_nucl - + Index of the nucleus on which the |AO| is centered - - + + .. option:: ao_power - + Powers of x, y and z for each |AO| - - + + .. option:: ao_coef - + Primitive coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs. - - + + .. option:: ao_expo - + Exponents for each primitive of each |AO| - - + + .. option:: ao_md5 - + MD5 key, specific of the |AO| basis - - + + .. option:: ao_cartesian - + If |true|, use |AOs| in Cartesian coordinates (6d,10f,...) - + Default: false - - -Providers ---------- - + + +Providers +--------- + .. c:var:: ao_coef_normalization_factor @@ -107,7 +107,7 @@ Providers Coefficients including the |AO| normalization - + .. c:var:: ao_coef_normalization_libint_factor @@ -120,7 +120,7 @@ Providers |AO| normalization for interfacing with libint - + .. c:var:: ao_coef_normalized @@ -134,7 +134,7 @@ Providers Coefficients including the |AO| normalization - + .. c:var:: ao_coef_normalized_ordered @@ -148,7 +148,7 @@ Providers Sorted primitives to accelerate 4 index |MO| transformation - + .. c:var:: ao_coef_normalized_ordered_transp @@ -161,7 +161,7 @@ Providers Transposed :c:data:`ao_coef_normalized_ordered` - + .. c:var:: ao_coef_normalized_ordered_transp_per_nucl @@ -174,7 +174,7 @@ Providers - + .. c:var:: ao_expo_ordered @@ -188,7 +188,7 @@ Providers Sorted primitives to accelerate 4 index |MO| transformation - + .. c:var:: ao_expo_ordered_transp @@ -201,7 +201,7 @@ Providers Transposed :c:data:`ao_expo_ordered` - + .. c:var:: ao_expo_ordered_transp_per_nucl @@ -214,7 +214,7 @@ Providers - + .. c:var:: ao_l @@ -229,7 +229,7 @@ Providers :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` - + .. c:var:: ao_l_char @@ -244,7 +244,7 @@ Providers :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` - + .. c:var:: ao_l_char_space @@ -257,7 +257,7 @@ Providers Converts an l value to a string - + .. c:var:: ao_l_max @@ -272,7 +272,7 @@ Providers :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` - + .. c:var:: ao_power_ordered_transp_per_nucl @@ -285,7 +285,7 @@ Providers - + .. c:var:: ao_prim_num_max @@ -298,7 +298,7 @@ Providers Max number of primitives. - + .. c:var:: cart_to_sphe_0 @@ -311,7 +311,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=0 - + .. c:var:: cart_to_sphe_1 @@ -324,7 +324,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=1 - + .. c:var:: cart_to_sphe_2 @@ -337,7 +337,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=2 - + .. c:var:: cart_to_sphe_3 @@ -350,7 +350,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=3 - + .. c:var:: cart_to_sphe_4 @@ -363,7 +363,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=4 - + .. c:var:: cart_to_sphe_5 @@ -376,7 +376,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=5 - + .. c:var:: cart_to_sphe_6 @@ -389,7 +389,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=6 - + .. c:var:: cart_to_sphe_7 @@ -402,7 +402,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=7 - + .. c:var:: cart_to_sphe_8 @@ -415,7 +415,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=8 - + .. c:var:: cart_to_sphe_9 @@ -428,7 +428,7 @@ Providers Spherical -> Cartesian Transformation matrix for l=9 - + .. c:var:: l_to_charater @@ -441,7 +441,7 @@ Providers Character corresponding to the "l" value of an |AO| - + .. c:var:: n_aos_max @@ -455,7 +455,7 @@ Providers Number of |AOs| per atom - + .. c:var:: n_pt_max_i_x @@ -469,7 +469,7 @@ Providers Number of points used in the numerical integrations. - + .. c:var:: n_pt_max_integrals @@ -483,7 +483,7 @@ Providers Number of points used in the numerical integrations. - + .. c:var:: nucl_aos @@ -496,7 +496,7 @@ Providers List of |AOs| centered on each atom - + .. c:var:: nucl_aos_transposed @@ -509,7 +509,7 @@ Providers List of AOs attached on each atom - + .. c:var:: nucl_list_shell_aos @@ -523,7 +523,7 @@ Providers Index of the shell type |AOs| and of the corresponding |AOs| By convention, for p,d,f and g |AOs|, we take the index of the |AO| with the the corresponding power in the x axis - + .. c:var:: nucl_n_aos @@ -537,7 +537,7 @@ Providers Number of |AOs| per atom - + .. c:var:: nucl_num_shell_aos @@ -551,11 +551,11 @@ Providers Index of the shell type |AOs| and of the corresponding |AOs| By convention, for p,d,f and g |AOs|, we take the index of the |AO| with the the corresponding power in the x axis - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: ao_power_index @@ -571,7 +571,7 @@ Subroutines / functions :math:`\frac{1}{2} (l-n_x) (l-n_x+1) + n_z + 1` - + .. c:function:: ao_value @@ -585,7 +585,7 @@ Subroutines / functions return the value of the ith ao at point r - + .. c:function:: give_all_aos_and_grad_and_lapl_at_r @@ -599,7 +599,7 @@ Subroutines / functions input : r(1) ==> r(1) = x, r(2) = y, r(3) = z output : aos_array(i) = ao(i) evaluated at r : aos_grad_array(1,i) = gradient X of the ao(i) evaluated at r - + .. c:function:: give_all_aos_and_grad_at_r @@ -613,7 +613,7 @@ Subroutines / functions input : r(1) ==> r(1) = x, r(2) = y, r(3) = z output : aos_array(i) = ao(i) evaluated at r : aos_grad_array(1,i) = gradient X of the ao(i) evaluated at r - + .. c:function:: give_all_aos_at_r @@ -627,7 +627,7 @@ Subroutines / functions input : r == r(1) = x and so on aos_array(i) = aos(i) evaluated in r - + .. c:function:: give_all_aos_at_r_old @@ -641,7 +641,7 @@ Subroutines / functions gives the values of aos at a given point r - + .. c:function:: primitive_value diff --git a/docs/source/modules/ao_one_e_ints.rst b/docs/source/modules/ao_one_e_ints.rst index f8691b5e..04b33cda 100644 --- a/docs/source/modules/ao_one_e_ints.rst +++ b/docs/source/modules/ao_one_e_ints.rst @@ -1,88 +1,88 @@ -.. _ao_one_e_ints: - -.. program:: ao_one_e_ints - -.. default-role:: option - +.. _ao_one_e_ints: + +.. program:: ao_one_e_ints + +.. default-role:: option + ================== ao_one_e_integrals ================== All the one-electron integrals in the |AO| basis are here. -The most important providers for usual quantum-chemistry calculation are: +The most important providers for usual quantum-chemistry calculation are: * `ao_kinetic_integral` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_ao_ints.irp.f`) * `ao_nucl_elec_integral` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_ao_ints.irp.f`) * `ao_one_e_integrals` which are the the h_core operator integrals on the |AO| basis (see :file:`ao_mono_ints.irp.f`) -Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_ao.irp.f`. - - - -EZFIO parameters ----------------- - +Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_ao.irp.f`. + + + +EZFIO parameters +---------------- + .. option:: ao_integrals_e_n - + Nucleus-electron integrals in |AO| basis set - - + + .. option:: io_ao_integrals_e_n - + Read/Write |AO| nucleus-electron attraction integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: ao_integrals_kinetic - + Kinetic energy integrals in |AO| basis set - - + + .. option:: io_ao_integrals_kinetic - + Read/Write |AO| kinetic integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: ao_integrals_pseudo - + Pseudopotential integrals in |AO| basis set - - + + .. option:: io_ao_integrals_pseudo - + Read/Write |AO| pseudopotential integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: ao_integrals_overlap - + Overlap integrals in |AO| basis set - - + + .. option:: io_ao_integrals_overlap - + Read/Write |AO| overlap integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: ao_one_e_integrals - + Combined integrals in |AO| basis set - - + + .. option:: io_ao_one_e_integrals - + Read/Write |AO| one-electron integrals from/to disk [ Write | Read | None ] - + Default: None - - -Providers ---------- - + + +Providers +--------- + .. c:var:: ao_cart_to_sphe_coef @@ -96,7 +96,7 @@ Providers Coefficients to go from cartesian to spherical coordinates in the current basis set - + .. c:var:: ao_cart_to_sphe_inv @@ -109,7 +109,7 @@ Providers Inverse of :c:data:`ao_cart_to_sphe_coef` - + .. c:var:: ao_cart_to_sphe_num @@ -123,7 +123,7 @@ Providers Coefficients to go from cartesian to spherical coordinates in the current basis set - + .. c:var:: ao_cart_to_sphe_overlap @@ -136,7 +136,7 @@ Providers |AO| overlap matrix in the spherical basis set - + .. c:var:: ao_deriv2_x @@ -155,7 +155,7 @@ Providers - + .. c:var:: ao_deriv2_y @@ -174,7 +174,7 @@ Providers - + .. c:var:: ao_deriv2_z @@ -193,7 +193,7 @@ Providers - + .. c:var:: ao_deriv_1_x @@ -212,7 +212,7 @@ Providers * array of the integrals of AO_i * d/dz AO_j - + .. c:var:: ao_deriv_1_y @@ -231,7 +231,7 @@ Providers * array of the integrals of AO_i * d/dz AO_j - + .. c:var:: ao_deriv_1_z @@ -250,7 +250,7 @@ Providers * array of the integrals of AO_i * d/dz AO_j - + .. c:var:: ao_dipole_x @@ -269,7 +269,7 @@ Providers * array of the integrals of AO_i * z AO_j - + .. c:var:: ao_dipole_y @@ -288,7 +288,7 @@ Providers * array of the integrals of AO_i * z AO_j - + .. c:var:: ao_dipole_z @@ -307,7 +307,7 @@ Providers * array of the integrals of AO_i * z AO_j - + .. c:var:: ao_integrals_n_e @@ -322,7 +322,7 @@ Providers :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle` - + .. c:var:: ao_integrals_n_e_per_atom @@ -337,7 +337,7 @@ Providers :math:`\langle \chi_i | -\frac{1}{|r-R_A|} | \chi_j \rangle` - + .. c:var:: ao_kinetic_integrals @@ -352,7 +352,7 @@ Providers :math:`\langle \chi_i |\hat{T}| \chi_j \rangle` - + .. c:var:: ao_one_e_integrals @@ -366,7 +366,7 @@ Providers One-electron Hamiltonian in the |AO| basis. - + .. c:var:: ao_one_e_integrals_diag @@ -380,7 +380,7 @@ Providers One-electron Hamiltonian in the |AO| basis. - + .. c:var:: ao_ortho_canonical_coef @@ -394,7 +394,7 @@ Providers matrix of the coefficients of the mos generated by the orthonormalization by the S^{-1/2} canonical transformation of the aos ao_ortho_canonical_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_canonical orbital - + .. c:var:: ao_ortho_canonical_coef_inv @@ -407,7 +407,7 @@ Providers ao_ortho_canonical_coef^(-1) - + .. c:var:: ao_ortho_canonical_num @@ -421,7 +421,7 @@ Providers matrix of the coefficients of the mos generated by the orthonormalization by the S^{-1/2} canonical transformation of the aos ao_ortho_canonical_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_canonical orbital - + .. c:var:: ao_ortho_canonical_overlap @@ -434,7 +434,7 @@ Providers overlap matrix of the ao_ortho_canonical. Expected to be the Identity - + .. c:var:: ao_overlap @@ -452,7 +452,7 @@ Providers :math:`\int \chi_i(r) \chi_j(r) dr` - + .. c:var:: ao_overlap_abs @@ -467,7 +467,7 @@ Providers :math:`\int |\chi_i(r)| |\chi_j(r)| dr` - + .. c:var:: ao_overlap_x @@ -485,7 +485,7 @@ Providers :math:`\int \chi_i(r) \chi_j(r) dr` - + .. c:var:: ao_overlap_y @@ -503,7 +503,7 @@ Providers :math:`\int \chi_i(r) \chi_j(r) dr` - + .. c:var:: ao_overlap_z @@ -521,7 +521,7 @@ Providers :math:`\int \chi_i(r) \chi_j(r) dr` - + .. c:var:: ao_pseudo_integrals @@ -534,7 +534,7 @@ Providers Pseudo-potential integrals in the |AO| basis set. - + .. c:var:: ao_pseudo_integrals_local @@ -547,7 +547,7 @@ Providers Local pseudo-potential - + .. c:var:: ao_pseudo_integrals_non_local @@ -560,7 +560,7 @@ Providers Non-local pseudo-potential - + .. c:var:: ao_spread_x @@ -579,7 +579,7 @@ Providers * array of the integrals of AO_i * z^2 AO_j - + .. c:var:: ao_spread_y @@ -598,7 +598,7 @@ Providers * array of the integrals of AO_i * z^2 AO_j - + .. c:var:: ao_spread_z @@ -617,7 +617,7 @@ Providers * array of the integrals of AO_i * z^2 AO_j - + .. c:var:: give_polynomial_mult_center_one_e_erf @@ -633,7 +633,7 @@ Providers :math:`I_{x1}(a_x, d_x,p,q) \times I_{x1}(a_y, d_y,p,q) \times I_{x1}(a_z, d_z,p,q)` . - + .. c:var:: give_polynomial_mult_center_one_e_erf_opt @@ -649,7 +649,7 @@ Providers :math:`I_{x1}(a_x, d_x,p,q) \times I_{x1}(a_y, d_y,p,q) \times I_{x1}(a_z, d_z,p,q)` . - + .. c:var:: i_x1_pol_mult_one_e @@ -662,7 +662,7 @@ Providers Recursive routine involved in the electron-nucleus potential - + .. c:var:: i_x2_pol_mult_one_e @@ -675,7 +675,7 @@ Providers Recursive routine involved in the electron-nucleus potential - + .. c:var:: pseudo_dz_k_transp @@ -690,7 +690,7 @@ Providers Transposed arrays for pseudopotentials - + .. c:var:: pseudo_dz_kl_transp @@ -705,7 +705,7 @@ Providers Transposed arrays for pseudopotentials - + .. c:var:: pseudo_n_k_transp @@ -720,7 +720,7 @@ Providers Transposed arrays for pseudopotentials - + .. c:var:: pseudo_n_kl_transp @@ -735,7 +735,7 @@ Providers Transposed arrays for pseudopotentials - + .. c:var:: pseudo_v_k_transp @@ -750,7 +750,7 @@ Providers Transposed arrays for pseudopotentials - + .. c:var:: pseudo_v_kl_transp @@ -765,7 +765,7 @@ Providers Transposed arrays for pseudopotentials - + .. c:var:: s_half @@ -778,7 +778,7 @@ Providers :math:`S^{1/2}` - + .. c:var:: s_half_inv @@ -791,7 +791,7 @@ Providers :math:`X = S^{-1/2}` obtained by SVD - + .. c:var:: s_inv @@ -804,11 +804,11 @@ Providers Inverse of the overlap matrix - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: give_all_erf_kl_ao @@ -822,7 +822,7 @@ Subroutines / functions Subroutine that returns all integrals over :math:`r` of type :math:`\frac{ \erf(\mu * |r-R_C|) }{ |r-R_C| }` - + .. c:function:: give_polynomial_mult_center_one_e @@ -838,7 +838,7 @@ Subroutines / functions :math:`I_{x1}(a_x, d_x,p,q) \times I_{x1}(a_y, d_y,p,q) \times I_{x1}(a_z, d_z,p,q)` . - + .. c:function:: int_gaus_pol @@ -854,7 +854,7 @@ Subroutines / functions :math:`\int_{-\infty}^{\infty} x^n \exp(-\alpha x^2) dx` . - + .. c:function:: nai_pol_mult @@ -870,7 +870,7 @@ Subroutines / functions :math:`\langle g_i | \frac{1}{|r-R_c|} | g_j \rangle` - + .. c:function:: nai_pol_mult_erf @@ -884,7 +884,7 @@ Subroutines / functions Computes the following integral : :math:`\int dr (x-A_x)^a (x-B_x)^b \exp(-\alpha (x-A_x)^2 - \beta (x-B_x)^2 ) \frac{\erf(\mu |r-R_C|)}{|r-R_c|}` . - + .. c:function:: nai_pol_mult_erf_ao @@ -898,7 +898,7 @@ Subroutines / functions Computes the following integral : :math:`\int_{-\infty}^{infty} dr \chi_i(r) \chi_j(r) \frac{\erf(\mu |r-R_C|)}{|r-R_C|}` . - + .. c:function:: overlap_bourrin_deriv_x @@ -912,7 +912,7 @@ Subroutines / functions - + .. c:function:: overlap_bourrin_dipole @@ -926,7 +926,7 @@ Subroutines / functions - + .. c:function:: overlap_bourrin_spread @@ -940,7 +940,7 @@ Subroutines / functions Computes the following integral : int [-infty ; +infty] of [(x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) * x ] needed for the dipole and those things - + .. c:function:: overlap_bourrin_x @@ -954,7 +954,7 @@ Subroutines / functions - + .. c:function:: v_e_n @@ -972,7 +972,7 @@ Subroutines / functions :math:`p_2 = x^{b_x} y^{b_y} z^{b_z} \exp(-\beta r^2)` - + .. c:function:: v_phi @@ -988,7 +988,7 @@ Subroutines / functions :math:`\int_{0}^{2 \pi} \cos(\phi)^n \sin(\phi)^m d\phi` . - + .. c:function:: v_r @@ -1006,7 +1006,7 @@ Subroutines / functions - + .. c:function:: v_theta @@ -1022,7 +1022,7 @@ Subroutines / functions :math:`\int_{0}^{\pi} \cos(\theta)^n \sin(\theta)^m d\theta` - + .. c:function:: wallis diff --git a/docs/source/modules/ao_two_e_erf_ints.rst b/docs/source/modules/ao_two_e_erf_ints.rst index 0d91b17d..f8279b4c 100644 --- a/docs/source/modules/ao_two_e_erf_ints.rst +++ b/docs/source/modules/ao_two_e_erf_ints.rst @@ -1,9 +1,9 @@ -.. _ao_two_e_erf_ints: - -.. program:: ao_two_e_erf_ints - -.. default-role:: option - +.. _ao_two_e_erf_ints: + +.. program:: ao_two_e_erf_ints + +.. default-role:: option + ====================== ao_two_e_erf_ints ====================== @@ -12,10 +12,10 @@ Here, all two-electron integrals (:math:`erf(\mu r_{12})/r_{12}`) are computed. As they have 4 indices and many are zero, they are stored in a map, as defined in :file:`utils/map_module.f90`. -The main parameter of this module is :option:`ao_two_e_erf_ints mu_erf` which is the range-separation parameter. +The main parameter of this module is :option:`ao_two_e_erf_ints mu_erf` which is the range-separation parameter. To fetch an |AO| integral, use the -`get_ao_two_e_integral_erf(i,j,k,l,ao_integrals_erf_map)` function. +`get_ao_two_e_integral_erf(i,j,k,l,ao_integrals_erf_map)` function. The conventions are: @@ -23,28 +23,28 @@ The conventions are: - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: io_ao_two_e_integrals_erf - + Read/Write |AO| integrals with the long range interaction from/to disk [ Write | Read | None ] - + Default: None - + .. option:: mu_erf - + cutting of the interaction in the range separated model - + Default: 0.5 - - -Providers ---------- - + + +Providers +--------- + .. c:var:: ao_integrals_erf_cache @@ -57,7 +57,7 @@ Providers Cache of |AO| integrals for fast access - + .. c:var:: ao_integrals_erf_cache_max @@ -71,7 +71,7 @@ Providers Min and max values of the AOs for which the integrals are in the cache - + .. c:var:: ao_integrals_erf_cache_min @@ -85,7 +85,7 @@ Providers Min and max values of the AOs for which the integrals are in the cache - + .. c:var:: ao_integrals_erf_map @@ -98,7 +98,7 @@ Providers |AO| integrals - + .. c:var:: ao_two_e_integral_erf_schwartz @@ -111,7 +111,7 @@ Providers Needed to compute Schwartz inequalities - + .. c:var:: ao_two_e_integrals_erf_in_map @@ -124,7 +124,7 @@ Providers Map of Atomic integrals i(r1) j(r2) 1/r12 k(r1) l(r2) - + .. c:var:: general_primitive_integral_erf @@ -139,11 +139,11 @@ Providers Computes the integral where p,q,r,s are Gaussian primitives - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: ao_two_e_integral_erf @@ -157,7 +157,7 @@ Subroutines / functions integral of the AO basis or (ij|kl) i(r1) j(r1) 1/r12 k(r2) l(r2) - + .. c:function:: ao_two_e_integral_schwartz_accel_erf @@ -171,7 +171,7 @@ Subroutines / functions integral of the AO basis or (ij|kl) i(r1) j(r1) 1/r12 k(r2) l(r2) - + .. c:function:: ao_two_e_integrals_erf_in_map_collector @@ -185,7 +185,7 @@ Subroutines / functions Collects results from the AO integral calculation - + .. c:function:: ao_two_e_integrals_erf_in_map_slave @@ -199,7 +199,7 @@ Subroutines / functions Computes a buffer of integrals - + .. c:function:: ao_two_e_integrals_erf_in_map_slave_inproc @@ -213,7 +213,7 @@ Subroutines / functions Computes a buffer of integrals. i is the ID of the current thread. - + .. c:function:: ao_two_e_integrals_erf_in_map_slave_tcp @@ -227,7 +227,7 @@ Subroutines / functions Computes a buffer of integrals. i is the ID of the current thread. - + .. c:function:: clear_ao_erf_map @@ -241,7 +241,7 @@ Subroutines / functions Frees the memory of the |AO| map - + .. c:function:: compute_ao_integrals_erf_jl @@ -255,7 +255,7 @@ Subroutines / functions Parallel client for AO integrals - + .. c:function:: compute_ao_two_e_integrals_erf @@ -269,7 +269,7 @@ Subroutines / functions Compute AO 1/r12 integrals for all i and fixed j,k,l - + .. c:function:: dump_ao_integrals_erf @@ -283,7 +283,7 @@ Subroutines / functions Save to disk the |AO| erf integrals - + .. c:function:: eri_erf @@ -297,7 +297,7 @@ Subroutines / functions ATOMIC PRIMTIVE two-electron integral between the 4 primitives :: primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2) primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2) primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2) primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2) - + .. c:function:: get_ao_erf_map_size @@ -311,7 +311,7 @@ Subroutines / functions Returns the number of elements in the |AO| map - + .. c:function:: get_ao_two_e_integral_erf @@ -325,7 +325,7 @@ Subroutines / functions Gets one |AO| two-electron integral from the |AO| map - + .. c:function:: get_ao_two_e_integrals_erf @@ -339,7 +339,7 @@ Subroutines / functions Gets multiple |AO| two-electron integral from the |AO| map . All i are retrieved for j,k,l fixed. - + .. c:function:: get_ao_two_e_integrals_erf_non_zero @@ -353,7 +353,7 @@ Subroutines / functions Gets multiple |AO| two-electron integrals from the |AO| map . All non-zero i are retrieved for j,k,l fixed. - + .. c:function:: insert_into_ao_integrals_erf_map @@ -367,7 +367,7 @@ Subroutines / functions Create new entry into |AO| map - + .. c:function:: integrale_new_erf @@ -381,7 +381,7 @@ Subroutines / functions calculate the integral of the polynom :: I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q) between ( 0 ; 1) - + .. c:function:: load_ao_integrals_erf @@ -395,7 +395,7 @@ Subroutines / functions Read from disk the |AO| erf integrals - + .. c:function:: save_erf_two_e_integrals_ao @@ -409,7 +409,7 @@ Subroutines / functions - + .. c:function:: save_erf_two_e_ints_ao_into_ints_ao diff --git a/docs/source/modules/ao_two_e_ints.rst b/docs/source/modules/ao_two_e_ints.rst index c9b9074a..5bad4e8b 100644 --- a/docs/source/modules/ao_two_e_ints.rst +++ b/docs/source/modules/ao_two_e_ints.rst @@ -1,9 +1,9 @@ -.. _ao_two_e_ints: - -.. program:: ao_two_e_ints - -.. default-role:: option - +.. _ao_two_e_ints: + +.. program:: ao_two_e_ints + +.. default-role:: option + ================== ao_two_e_ints ================== @@ -13,7 +13,7 @@ As they have 4 indices and many are zero, they are stored in a map, as defined in :file:`utils/map_module.f90`. To fetch an |AO| integral, use the -`get_ao_two_e_integral(i,j,k,l,ao_integrals_map)` function. +`get_ao_two_e_integral(i,j,k,l,ao_integrals_map)` function. The conventions are: @@ -21,34 +21,34 @@ The conventions are: - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: io_ao_two_e_integrals - + Read/Write |AO| integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: ao_integrals_threshold - + If | (pq|rs) | < `ao_integrals_threshold` then (pq|rs) is zero - + Default: 1.e-15 - + .. option:: do_direct_integrals - + Compute integrals on the fly (very slow, only for debugging) - + Default: False - - -Providers ---------- - + + +Providers +--------- + .. c:var:: ao_integrals_cache @@ -61,7 +61,7 @@ Providers Cache of AO integrals for fast access - + .. c:var:: ao_integrals_cache_max @@ -75,7 +75,7 @@ Providers Min and max values of the AOs for which the integrals are in the cache - + .. c:var:: ao_integrals_cache_min @@ -89,7 +89,7 @@ Providers Min and max values of the AOs for which the integrals are in the cache - + .. c:var:: ao_integrals_map @@ -102,7 +102,7 @@ Providers AO integrals - + .. c:var:: ao_two_e_integral_schwartz @@ -115,7 +115,7 @@ Providers Needed to compute Schwartz inequalities - + .. c:var:: ao_two_e_integrals_in_map @@ -128,7 +128,7 @@ Providers Map of Atomic integrals i(r1) j(r2) 1/r12 k(r1) l(r2) - + .. c:var:: gauleg_t2 @@ -142,7 +142,7 @@ Providers t_w(i,1,k) = w(i) t_w(i,2,k) = t(i) - + .. c:var:: gauleg_w @@ -156,7 +156,7 @@ Providers t_w(i,1,k) = w(i) t_w(i,2,k) = t(i) - + .. c:var:: general_primitive_integral @@ -171,7 +171,7 @@ Providers Computes the integral where p,q,r,s are Gaussian primitives - + .. c:var:: i_x1_new @@ -184,7 +184,7 @@ Providers recursive function involved in the two-electron integral - + .. c:var:: i_x1_pol_mult_a1 @@ -197,7 +197,7 @@ Providers recursive function involved in the two-electron integral - + .. c:var:: i_x1_pol_mult_a2 @@ -210,7 +210,7 @@ Providers recursive function involved in the two-electron integral - + .. c:var:: i_x1_pol_mult_recurs @@ -223,7 +223,7 @@ Providers recursive function involved in the two-electron integral - + .. c:var:: i_x2_new @@ -236,7 +236,7 @@ Providers recursive function involved in the two-electron integral - + .. c:var:: i_x2_pol_mult @@ -249,11 +249,11 @@ Providers recursive function involved in the two-electron integral - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: ao_l4 @@ -267,7 +267,7 @@ Subroutines / functions Computes the product of l values of i,j,k,and l - + .. c:function:: ao_two_e_integral @@ -281,7 +281,7 @@ Subroutines / functions integral of the AO basis or (ij|kl) i(r1) j(r1) 1/r12 k(r2) l(r2) - + .. c:function:: ao_two_e_integral_schwartz_accel @@ -295,7 +295,7 @@ Subroutines / functions integral of the AO basis or (ij|kl) i(r1) j(r1) 1/r12 k(r2) l(r2) - + .. c:function:: ao_two_e_integrals_in_map_collector @@ -309,7 +309,7 @@ Subroutines / functions Collects results from the AO integral calculation - + .. c:function:: ao_two_e_integrals_in_map_slave @@ -323,7 +323,7 @@ Subroutines / functions Computes a buffer of integrals - + .. c:function:: ao_two_e_integrals_in_map_slave_inproc @@ -337,7 +337,7 @@ Subroutines / functions Computes a buffer of integrals. i is the ID of the current thread. - + .. c:function:: ao_two_e_integrals_in_map_slave_tcp @@ -351,7 +351,7 @@ Subroutines / functions Computes a buffer of integrals. i is the ID of the current thread. - + .. c:function:: clear_ao_map @@ -365,7 +365,7 @@ Subroutines / functions Frees the memory of the AO map - + .. c:function:: compute_ao_integrals_jl @@ -379,7 +379,7 @@ Subroutines / functions Parallel client for AO integrals - + .. c:function:: compute_ao_two_e_integrals @@ -393,7 +393,7 @@ Subroutines / functions Compute AO 1/r12 integrals for all i and fixed j,k,l - + .. c:function:: dump_ao_integrals @@ -407,7 +407,7 @@ Subroutines / functions Save to disk the |AO| integrals - + .. c:function:: eri @@ -421,7 +421,7 @@ Subroutines / functions ATOMIC PRIMTIVE two-electron integral between the 4 primitives :: primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2) primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2) primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2) primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2) - + .. c:function:: gauleg @@ -435,7 +435,7 @@ Subroutines / functions Gauss-Legendre - + .. c:function:: get_ao_map_size @@ -449,7 +449,7 @@ Subroutines / functions Returns the number of elements in the AO map - + .. c:function:: get_ao_two_e_integral @@ -463,7 +463,7 @@ Subroutines / functions Gets one AO bi-electronic integral from the AO map - + .. c:function:: get_ao_two_e_integrals @@ -477,7 +477,7 @@ Subroutines / functions Gets multiple AO bi-electronic integral from the AO map . All i are retrieved for j,k,l fixed. - + .. c:function:: get_ao_two_e_integrals_non_zero @@ -491,7 +491,7 @@ Subroutines / functions Gets multiple AO bi-electronic integral from the AO map . All non-zero i are retrieved for j,k,l fixed. - + .. c:function:: give_polynom_mult_center_x @@ -505,7 +505,7 @@ Subroutines / functions subroutine that returns the explicit polynom in term of the "t" variable of the following polynomw : I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q) - + .. c:function:: i_x1_pol_mult @@ -519,7 +519,7 @@ Subroutines / functions recursive function involved in the two-electron integral - + .. c:function:: insert_into_ao_integrals_map @@ -533,7 +533,7 @@ Subroutines / functions Create new entry into AO map - + .. c:function:: integrale_new @@ -547,7 +547,7 @@ Subroutines / functions calculate the integral of the polynom :: I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q) between ( 0 ; 1) - + .. c:function:: load_ao_integrals @@ -561,7 +561,7 @@ Subroutines / functions Read from disk the |AO| integrals - + .. c:function:: n_pt_sup @@ -575,7 +575,7 @@ Subroutines / functions Returns the upper boundary of the degree of the polynomial involved in the bielctronic integral : Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z) - + .. c:function:: push_integrals @@ -589,7 +589,7 @@ Subroutines / functions Push integrals in the push socket - + .. c:function:: two_e_integrals_index @@ -603,7 +603,7 @@ Subroutines / functions - + .. c:function:: two_e_integrals_index_reverse diff --git a/docs/source/modules/aux_quantities.rst b/docs/source/modules/aux_quantities.rst index 8c342696..b1e8146d 100644 --- a/docs/source/modules/aux_quantities.rst +++ b/docs/source/modules/aux_quantities.rst @@ -1,9 +1,9 @@ -.. _aux_quantities: - -.. program:: aux_quantities - -.. default-role:: option - +.. _aux_quantities: + +.. program:: aux_quantities + +.. default-role:: option + ============== aux_quantities ============== @@ -14,7 +14,7 @@ which are stored in the EZFIO folder in a different place than determinants. This is used in practice to store density matrices which can be obtained from any methods, as long as they are stored in the same MO basis which is used for the calculations. In |RSDFT| calculations, this can be done to perform damping -on the density in order to speed up convergence. +on the density in order to speed up convergence. The main providers of that module are: @@ -24,29 +24,29 @@ The main providers of that module are: Thanks to these providers you can use any density matrix that does not -necessary corresponds to that of the current wave function. - - - -EZFIO parameters ----------------- - +necessary corresponds to that of the current wave function. + + + +EZFIO parameters +---------------- + .. option:: data_energy_var - + Variational energy computed with the wave function - - + + .. option:: data_energy_proj - + Projected energy computed with the wave function - - + + .. option:: data_one_e_dm_alpha_mo - + Alpha one body density matrix on the |MO| basis computed with the wave function - - + + .. option:: data_one_e_dm_beta_mo - + Beta one body density matrix on the |MO| basis computed with the wave function - + diff --git a/docs/source/modules/becke_numerical_grid.rst b/docs/source/modules/becke_numerical_grid.rst index 1c77b50d..f1e2417e 100644 --- a/docs/source/modules/becke_numerical_grid.rst +++ b/docs/source/modules/becke_numerical_grid.rst @@ -1,97 +1,97 @@ -.. _becke_numerical_grid: - -.. program:: becke_numerical_grid - -.. default-role:: option - +.. _becke_numerical_grid: + +.. program:: becke_numerical_grid + +.. default-role:: option + ==================== becke_numerical_grid ==================== -This module contains all quantities needed to build the Becke's grid used in general for DFT integration. Note that it can be used for whatever integration in R^3 as long as the functions to be integrated are mostly concentrated near the atomic regions. +This module contains all quantities needed to build the Becke's grid used in general for DFT integration. Note that it can be used for whatever integration in R^3 as long as the functions to be integrated are mostly concentrated near the atomic regions. -This grid is built as the reunion of a spherical grid around each atom. Each spherical grid contains -a certain number of radial and angular points. No pruning is done on the angular part of the grid. +This grid is built as the reunion of a spherical grid around each atom. Each spherical grid contains +a certain number of radial and angular points. No pruning is done on the angular part of the grid. The main keyword for that modue is: -* :option:`becke_numerical_grid grid_type_sgn` which controls the precision of the grid according the standard **SG-n** grids. This keyword controls the two providers `n_points_integration_angular` `n_points_radial_grid`. +* :option:`becke_numerical_grid grid_type_sgn` which controls the precision of the grid according the standard **SG-n** grids. This keyword controls the two providers `n_points_integration_angular` `n_points_radial_grid`. The main providers of that module are: -* `n_points_integration_angular` which is the number of angular integration points. WARNING: it obeys to specific rules so it cannot be any integer number. Some of the possible values are [ 50 | 74 | 170 | 194 | 266 | 302 | 590 | 1202 | 2030 | 5810 ] for instance. See :file:`angular.f` for more details. -* `n_points_radial_grid` which is the number of radial angular points. This can be any strictly positive integer. Nevertheless, a minimum of 50 is in general necessary. +* `n_points_integration_angular` which is the number of angular integration points. WARNING: it obeys to specific rules so it cannot be any integer number. Some of the possible values are [ 50 | 74 | 170 | 194 | 266 | 302 | 590 | 1202 | 2030 | 5810 ] for instance. See :file:`angular.f` for more details. +* `n_points_radial_grid` which is the number of radial angular points. This can be any strictly positive integer. Nevertheless, a minimum of 50 is in general necessary. * `final_grid_points` which are the (x,y,z) coordinates of the grid points. * `final_weight_at_r_vector` which are the weights at each grid point -For a simple example of how to use the grid, see :file:`example.irp.f`. +For a simple example of how to use the grid, see :file:`example.irp.f`. -The spherical integration uses Lebedev-Laikov grids, which was used from the code distributed through CCL (http://www.ccl.net/). -See next section for explanations and citation policies. +The spherical integration uses Lebedev-Laikov grids, which was used from the code distributed through CCL (http://www.ccl.net/). +See next section for explanations and citation policies. .. code-block:: text This subroutine is part of a set of subroutines that generate - Lebedev grids [1-6] for integration on a sphere. The original - C-code [1] was kindly provided by Dr. Dmitri N. Laikov and + Lebedev grids [1-6] for integration on a sphere. The original + C-code [1] was kindly provided by Dr. Dmitri N. Laikov and translated into fortran by Dr. Christoph van Wuellen. This subroutine was translated using a C to fortran77 conversion tool written by Dr. Christoph van Wuellen. - + Users of this code are asked to include reference [1] in their - publications, and in the user- and programmers-manuals + publications, and in the user- and programmers-manuals describing their codes. - + This code was distributed through CCL (http://www.ccl.net/). - + [1] V.I. Lebedev, and D.N. Laikov "A quadrature formula for the sphere of the 131st algebraic order of accuracy" Doklady Mathematics, Vol. 59, No. 3, 1999, pp. 477-481. - + [2] V.I. Lebedev "A quadrature formula for the sphere of 59th algebraic order of accuracy" - Russian Acad. Sci. Dokl. Math., Vol. 50, 1995, pp. 283-286. - + Russian Acad. Sci. Dokl. Math., Vol. 50, 1995, pp. 283-286. + [3] V.I. Lebedev, and A.L. Skorokhodov "Quadrature formulas of orders 41, 47, and 53 for the sphere" - Russian Acad. Sci. Dokl. Math., Vol. 45, 1992, pp. 587-592. - + Russian Acad. Sci. Dokl. Math., Vol. 45, 1992, pp. 587-592. + [4] V.I. Lebedev "Spherical quadrature formulas exact to orders 25-29" - Siberian Mathematical Journal, Vol. 18, 1977, pp. 99-107. - + Siberian Mathematical Journal, Vol. 18, 1977, pp. 99-107. + [5] V.I. Lebedev "Quadratures on a sphere" Computational Mathematics and Mathematical Physics, Vol. 16, - 1976, pp. 10-24. - + 1976, pp. 10-24. + [6] V.I. Lebedev - "Values of the nodes and weights of ninth to seventeenth + "Values of the nodes and weights of ninth to seventeenth order Gauss-Markov quadrature formulae invariant under the octahedron group with inversion" Computational Mathematics and Mathematical Physics, Vol. 15, 1975, pp. 44-51. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: grid_type_sgn - + Type of grid used for the Becke's numerical grid. Can be, by increasing accuracy: [ 0 | 1 | 2 | 3 ] - + Default: 2 - - -Providers ---------- - + + +Providers +--------- + .. c:var:: alpha_knowles @@ -104,7 +104,7 @@ Providers Recommended values for the alpha parameters according to the paper of Knowles (JCP, 104, 1996) as a function of the nuclear charge - + .. c:var:: angular_quadrature_points @@ -118,7 +118,7 @@ Providers weights and grid points for the integration on the angular variables on the unit sphere centered on (0,0,0) According to the LEBEDEV scheme - + .. c:var:: dr_radial_integral @@ -132,7 +132,7 @@ Providers points in [0,1] to map the radial integral [0,\infty] - + .. c:var:: final_grid_points @@ -154,7 +154,7 @@ Providers index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices - + .. c:var:: final_weight_at_r @@ -167,7 +167,7 @@ Providers Total weight on each grid point which takes into account all Lebedev, Voronoi and radial weights. - + .. c:var:: final_weight_at_r_vector @@ -189,7 +189,7 @@ Providers index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices - + .. c:var:: grid_points_per_atom @@ -202,7 +202,7 @@ Providers x,y,z coordinates of grid points used for integration in 3d space - + .. c:var:: grid_points_radial @@ -216,7 +216,7 @@ Providers points in [0,1] to map the radial integral [0,\infty] - + .. c:var:: index_final_points @@ -238,7 +238,7 @@ Providers index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices - + .. c:var:: index_final_points_reverse @@ -260,7 +260,7 @@ Providers index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices - + .. c:var:: m_knowles @@ -273,7 +273,7 @@ Providers value of the "m" parameter in the equation (7) of the paper of Knowles (JCP, 104, 1996) - + .. c:var:: n_points_final_grid @@ -286,7 +286,7 @@ Providers Number of points which are non zero - + .. c:var:: n_points_grid_per_atom @@ -299,7 +299,7 @@ Providers Number of grid points per atom - + .. c:var:: n_points_integration_angular @@ -317,7 +317,7 @@ Providers These numbers are automatically set by setting the grid_type_sgn parameter - + .. c:var:: n_points_radial_grid @@ -335,7 +335,7 @@ Providers These numbers are automatically set by setting the grid_type_sgn parameter - + .. c:var:: weight_at_r @@ -350,7 +350,7 @@ Providers The "n" discrete variable represents the nucleis which in this array is represented by the last dimension and the points are labelled by the other dimensions. - + .. c:var:: weights_angular_points @@ -364,11 +364,11 @@ Providers weights and grid points for the integration on the angular variables on the unit sphere centered on (0,0,0) According to the LEBEDEV scheme - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: cell_function_becke @@ -382,7 +382,7 @@ Subroutines / functions atom_number :: atom on which the cell function of Becke (1988, JCP,88(4)) r(1:3) :: x,y,z coordinantes of the current point - + .. c:function:: derivative_knowles_function @@ -396,7 +396,7 @@ Subroutines / functions Derivative of the function proposed by Knowles (JCP, 104, 1996) for distributing the radial points - + .. c:function:: example_becke_numerical_grid @@ -410,7 +410,7 @@ Subroutines / functions subroutine that illustrates the main features available in becke_numerical_grid - + .. c:function:: f_function_becke @@ -424,7 +424,7 @@ Subroutines / functions - + .. c:function:: knowles_function @@ -438,7 +438,7 @@ Subroutines / functions Function proposed by Knowles (JCP, 104, 1996) for distributing the radial points : the Log "m" function ( equation (7) in the paper ) - + .. c:function:: step_function_becke diff --git a/docs/source/modules/bitmask.rst b/docs/source/modules/bitmask.rst index 9cf72275..10e13bda 100644 --- a/docs/source/modules/bitmask.rst +++ b/docs/source/modules/bitmask.rst @@ -1,9 +1,9 @@ -.. _bitmask: - -.. program:: bitmask - -.. default-role:: option - +.. _bitmask: + +.. program:: bitmask + +.. default-role:: option + ============== bitmask module ============== @@ -31,13 +31,13 @@ transforming a bit string to a list of integers for example. bit_kind = bit_kind_size / 8 -For an example of how to use the bitmaks, see the file :file:`example.irp.f`. - - - -Providers ---------- - +For an example of how to use the bitmaks, see the file :file:`example.irp.f`. + + + +Providers +--------- + .. c:var:: cas_bitmask @@ -50,7 +50,7 @@ Providers Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference) - + .. c:var:: closed_shell_ref_bitmask @@ -63,7 +63,7 @@ Providers - + .. c:var:: core_bitmask @@ -77,7 +77,7 @@ Providers Core + deleted orbitals bitmask - + .. c:var:: core_inact_act_bitmask_4 @@ -90,7 +90,7 @@ Providers - + .. c:var:: core_inact_virt_bitmask @@ -104,7 +104,7 @@ Providers Reunion of the inactive and virtual bitmasks - + .. c:var:: full_ijkl_bitmask @@ -117,7 +117,7 @@ Providers Bitmask to include all possible MOs - + .. c:var:: full_ijkl_bitmask_4 @@ -130,7 +130,7 @@ Providers - + .. c:var:: generators_bitmask @@ -159,7 +159,7 @@ Providers - + .. c:var:: generators_bitmask_restart @@ -188,7 +188,7 @@ Providers - + .. c:var:: hf_bitmask @@ -201,7 +201,7 @@ Providers Hartree Fock bit mask - + .. c:var:: i_bitmask_gen @@ -214,7 +214,7 @@ Providers Current bitmask for the generators - + .. c:var:: inact_bitmask @@ -230,7 +230,7 @@ Providers inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons in post CAS methods n_virt_orb : Number of virtual orbitals - + .. c:var:: inact_virt_bitmask @@ -244,7 +244,7 @@ Providers Reunion of the inactive and virtual bitmasks - + .. c:var:: index_holes_bitmask @@ -257,7 +257,7 @@ Providers Index of the holes in the generators_bitmasks - + .. c:var:: index_particl_bitmask @@ -270,7 +270,7 @@ Providers Index of the holes in the generators_bitmasks - + .. c:var:: list_act @@ -286,7 +286,7 @@ Providers list_act_reverse : reverse list of active orbitals list_act_reverse(i) = 0 ::> not an active list_act_reverse(i) = k ::> IS the kth active orbital - + .. c:var:: list_act_reverse @@ -302,7 +302,7 @@ Providers list_act_reverse : reverse list of active orbitals list_act_reverse(i) = 0 ::> not an active list_act_reverse(i) = k ::> IS the kth active orbital - + .. c:var:: list_core @@ -316,7 +316,7 @@ Providers List of the core orbitals that are never excited in post CAS method - + .. c:var:: list_core_inact @@ -330,7 +330,7 @@ Providers - + .. c:var:: list_core_inact_act @@ -344,7 +344,7 @@ Providers - + .. c:var:: list_core_inact_act_reverse @@ -358,7 +358,7 @@ Providers - + .. c:var:: list_core_inact_reverse @@ -372,7 +372,7 @@ Providers - + .. c:var:: list_core_reverse @@ -386,7 +386,7 @@ Providers List of the core orbitals that are never excited in post CAS method - + .. c:var:: list_inact @@ -402,7 +402,7 @@ Providers list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons in post CAS methods list_inact_reverse : reverse list of inactive orbitals list_inact_reverse(i) = 0 ::> not an inactive list_inact_reverse(i) = k ::> IS the kth inactive list_virt_reverse : reverse list of virtual orbitals list_virt_reverse(i) = 0 ::> not an virtual list_virt_reverse(i) = k ::> IS the kth virtual - + .. c:var:: list_inact_reverse @@ -418,7 +418,7 @@ Providers list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons in post CAS methods list_inact_reverse : reverse list of inactive orbitals list_inact_reverse(i) = 0 ::> not an inactive list_inact_reverse(i) = k ::> IS the kth inactive list_virt_reverse : reverse list of virtual orbitals list_virt_reverse(i) = 0 ::> not an virtual list_virt_reverse(i) = k ::> IS the kth virtual - + .. c:var:: list_virt @@ -434,7 +434,7 @@ Providers list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons in post CAS methods list_inact_reverse : reverse list of inactive orbitals list_inact_reverse(i) = 0 ::> not an inactive list_inact_reverse(i) = k ::> IS the kth inactive list_virt_reverse : reverse list of virtual orbitals list_virt_reverse(i) = 0 ::> not an virtual list_virt_reverse(i) = k ::> IS the kth virtual - + .. c:var:: list_virt_reverse @@ -450,7 +450,7 @@ Providers list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons in post CAS methods list_inact_reverse : reverse list of inactive orbitals list_inact_reverse(i) = 0 ::> not an inactive list_inact_reverse(i) = k ::> IS the kth inactive list_virt_reverse : reverse list of virtual orbitals list_virt_reverse(i) = 0 ::> not an virtual list_virt_reverse(i) = k ::> IS the kth virtual - + .. c:var:: mpi_bit_kind @@ -463,7 +463,7 @@ Providers MPI bit kind type - + .. c:var:: n_act_orb @@ -476,7 +476,7 @@ Providers number of active orbitals - + .. c:var:: n_cas_bitmask @@ -489,7 +489,7 @@ Providers Number of bitmasks for CAS - + .. c:var:: n_core_inact_act_orb @@ -503,7 +503,7 @@ Providers Reunion of the core, inactive and active bitmasks - + .. c:var:: n_core_inact_orb @@ -516,7 +516,7 @@ Providers - + .. c:var:: n_core_orb @@ -530,7 +530,7 @@ Providers Core + deleted orbitals bitmask - + .. c:var:: n_core_orb_allocate @@ -543,7 +543,7 @@ Providers - + .. c:var:: n_generators_bitmask @@ -556,7 +556,7 @@ Providers Number of bitmasks for generators - + .. c:var:: n_generators_bitmask_restart @@ -569,7 +569,7 @@ Providers Number of bitmasks for generators - + .. c:var:: n_inact_orb @@ -585,7 +585,7 @@ Providers inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons in post CAS methods n_virt_orb : Number of virtual orbitals - + .. c:var:: n_inact_orb_allocate @@ -598,7 +598,7 @@ Providers - + .. c:var:: n_int @@ -611,7 +611,7 @@ Providers Number of 64-bit integers needed to represent determinants as binary strings - + .. c:var:: n_virt_orb @@ -627,7 +627,7 @@ Providers inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons in post CAS methods n_virt_orb : Number of virtual orbitals - + .. c:var:: n_virt_orb_allocate @@ -640,7 +640,7 @@ Providers - + .. c:var:: ref_bitmask @@ -653,7 +653,7 @@ Providers Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask - + .. c:var:: reunion_of_bitmask @@ -666,7 +666,7 @@ Providers Reunion of the inactive, active and virtual bitmasks - + .. c:var:: reunion_of_cas_inact_bitmask @@ -679,7 +679,7 @@ Providers Reunion of the inactive, active and virtual bitmasks - + .. c:var:: reunion_of_core_inact_act_bitmask @@ -693,7 +693,7 @@ Providers Reunion of the core, inactive and active bitmasks - + .. c:var:: reunion_of_core_inact_bitmask @@ -706,7 +706,7 @@ Providers Reunion of the core and inactive and virtual bitmasks - + .. c:var:: unpaired_alpha_electrons @@ -719,7 +719,7 @@ Providers Bitmask reprenting the unpaired alpha electrons in the HF_bitmask - + .. c:var:: virt_bitmask @@ -735,7 +735,7 @@ Providers inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons in post CAS methods n_virt_orb : Number of virtual orbitals - + .. c:var:: virt_bitmask_4 @@ -748,11 +748,11 @@ Providers - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: bitstring_to_hexa @@ -766,7 +766,7 @@ Subroutines / functions Transform a bit string to a string in hexadecimal format for printing - + .. c:function:: bitstring_to_list @@ -780,7 +780,7 @@ Subroutines / functions Gives the inidices(+1) of the bits set to 1 in the bit string - + .. c:function:: bitstring_to_str @@ -794,7 +794,7 @@ Subroutines / functions Transform a bit string to a string for printing - + .. c:function:: broadcast_chunks_bit_kind @@ -808,7 +808,7 @@ Subroutines / functions Broadcast with chunks of ~2GB - + .. c:function:: clear_bit_to_integer @@ -822,7 +822,7 @@ Subroutines / functions set to 0 the bit number i_physical in the bitstring key - + .. c:function:: debug_det @@ -836,7 +836,7 @@ Subroutines / functions Subroutine to print the content of a determinant in '+-' notation and hexadecimal representation. - + .. c:function:: debug_spindet @@ -850,7 +850,7 @@ Subroutines / functions Subroutine to print the content of a determinant in '+-' notation and hexadecimal representation. - + .. c:function:: example_bitmask @@ -864,7 +864,7 @@ Subroutines / functions subroutine that illustrates the main features available in bitmask - + .. c:function:: initialize_bitmask_to_restart_ones @@ -878,7 +878,7 @@ Subroutines / functions Initialization of the generators_bitmask to the restart bitmask - + .. c:function:: is_a_1h @@ -892,7 +892,7 @@ Subroutines / functions - + .. c:function:: is_a_1h1p @@ -906,7 +906,7 @@ Subroutines / functions - + .. c:function:: is_a_1h2p @@ -920,7 +920,7 @@ Subroutines / functions - + .. c:function:: is_a_1p @@ -934,7 +934,7 @@ Subroutines / functions - + .. c:function:: is_a_2h @@ -948,7 +948,7 @@ Subroutines / functions - + .. c:function:: is_a_2h1p @@ -962,7 +962,7 @@ Subroutines / functions - + .. c:function:: is_a_2p @@ -976,7 +976,7 @@ Subroutines / functions - + .. c:function:: is_a_two_holes_two_particles @@ -990,7 +990,7 @@ Subroutines / functions logical function that returns True if the determinant 'key_in' belongs to the 2h-2p excitation class of the DDCI space this is calculated using the CAS_bitmask that defines the active orbital space, the inact_bitmasl that defines the inactive oribital space and the virt_bitmask that defines the virtual orbital space - + .. c:function:: is_i_in_virtual @@ -1004,7 +1004,7 @@ Subroutines / functions - + .. c:function:: is_the_hole_in_det @@ -1018,7 +1018,7 @@ Subroutines / functions - + .. c:function:: is_the_particl_in_det @@ -1032,7 +1032,7 @@ Subroutines / functions - + .. c:function:: list_to_bitstring @@ -1046,7 +1046,7 @@ Subroutines / functions Returns the physical string "string(N_int,2)" from the array of occupations "list(N_int*bit_kind_size,2) - + .. c:function:: modify_bitmasks_for_hole @@ -1060,7 +1060,7 @@ Subroutines / functions modify the generators_bitmask in order that one can only excite the electrons occupying i_hole - + .. c:function:: modify_bitmasks_for_hole_in_out @@ -1074,7 +1074,7 @@ Subroutines / functions modify the generators_bitmask in order that one can only excite the electrons occupying i_hole - + .. c:function:: modify_bitmasks_for_particl @@ -1088,7 +1088,7 @@ Subroutines / functions modify the generators_bitmask in order that one can only excite the electrons to the orbital i_part - + .. c:function:: number_of_holes @@ -1102,7 +1102,7 @@ Subroutines / functions Function that returns the number of holes in the inact space - + .. c:function:: number_of_holes_verbose @@ -1116,7 +1116,7 @@ Subroutines / functions function that returns the number of holes in the inact space - + .. c:function:: number_of_particles @@ -1130,7 +1130,7 @@ Subroutines / functions function that returns the number of particles in the virtual space - + .. c:function:: number_of_particles_verbose @@ -1144,7 +1144,7 @@ Subroutines / functions function that returns the number of particles in the inact space - + .. c:function:: print_det @@ -1158,7 +1158,7 @@ Subroutines / functions Subroutine to print the content of a determinant using the '+-' notation - + .. c:function:: print_generators_bitmasks_holes @@ -1172,7 +1172,7 @@ Subroutines / functions - + .. c:function:: print_generators_bitmasks_holes_for_one_generator @@ -1186,7 +1186,7 @@ Subroutines / functions - + .. c:function:: print_generators_bitmasks_particles @@ -1200,7 +1200,7 @@ Subroutines / functions - + .. c:function:: print_generators_bitmasks_particles_for_one_generator @@ -1214,7 +1214,7 @@ Subroutines / functions - + .. c:function:: print_spindet @@ -1228,7 +1228,7 @@ Subroutines / functions Subroutine to print the content of a determinant using the '+-' notation - + .. c:function:: set_bit_to_integer @@ -1242,7 +1242,7 @@ Subroutines / functions set to 1 the bit number i_physical in the bitstring key - + .. c:function:: set_bitmask_hole_as_input @@ -1256,7 +1256,7 @@ Subroutines / functions set the generators_bitmask for the holes as the input_bimask - + .. c:function:: set_bitmask_particl_as_input diff --git a/docs/source/modules/cipsi.rst b/docs/source/modules/cipsi.rst index 6dc9f0af..baa89664 100644 --- a/docs/source/modules/cipsi.rst +++ b/docs/source/modules/cipsi.rst @@ -1,9 +1,9 @@ -.. _cipsi: - -.. program:: cipsi - -.. default-role:: option - +.. _cipsi: + +.. program:: cipsi + +.. default-role:: option + ===== cipsi ===== @@ -76,17 +76,17 @@ When the deterministic algorithm is chosen (:option:`perturbation do_pt2` is set to |false|), :math:`Psi_G` is a truncation of |Psi| using :option:`determinants threshold_generators`, and :math:`Psi_S` is a truncation of |Psi| using :option:`determinants threshold_selectors`, and re-weighted -by :math:`1/\langle \Psi_s | \Psi_s \rangle`. +by :math:`1/\langle \Psi_s | \Psi_s \rangle`. At every iteration, while computing the |PT2|, the variance of the wave function is also computed: -.. math:: +.. math:: \sigma^2 & = \langle \Psi | \hat{H}^2 | \Psi \rangle - \langle \Psi | \hat{H} | \Psi \rangle^2 \\ & = \sum_{i \in \text{FCI}} - \langle \Psi | \hat{H} | i \rangle + \langle \Psi | \hat{H} | i \rangle \langle i | \hat{H} | \Psi \rangle - \langle \Psi | \hat{H} | \Psi \rangle^2 \\ & = \sum_{ \alpha } @@ -101,7 +101,7 @@ a selection method by minimization of the energy. If :option:`perturbation do_pt2` is set to |false|, then the stochastic |PT2| is not computed, and an approximate value is obtained from the |CIPSI| -selection. The calculation is faster, but the extrapolated |FCI| value is +selection. The calculation is faster, but the extrapolated |FCI| value is less accurate. This way of running the code should be used when the only goal is to generate a wave function, as for using |CIPSI| wave functions as trial wave functions of |QMC| calculations for example. @@ -132,12 +132,12 @@ The extrapolations are given considering the 2 last points, the 3 last points, . the 7 last points. The extrapolated value should be chosen such that the extrpolated value is stable with the number of points. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: initialize_pt2_e0_denominator @@ -150,7 +150,7 @@ Providers If true, initialize pt2_E0_denominator - + .. c:var:: pt2_collector @@ -164,7 +164,7 @@ Providers - + .. c:var:: pt2_cw @@ -181,7 +181,7 @@ Providers - + .. c:var:: pt2_e0_denominator @@ -194,7 +194,7 @@ Providers E0 in the denominator of the PT2 - + .. c:var:: pt2_f @@ -208,7 +208,7 @@ Providers - + .. c:var:: pt2_j @@ -222,7 +222,7 @@ Providers - + .. c:var:: pt2_mindetinfirstteeth @@ -236,7 +236,7 @@ Providers - + .. c:var:: pt2_n_0 @@ -253,7 +253,7 @@ Providers - + .. c:var:: pt2_n_tasks @@ -266,7 +266,7 @@ Providers Number of parallel tasks for the Monte Carlo - + .. c:var:: pt2_n_tasks_max @@ -280,7 +280,7 @@ Providers - + .. c:var:: pt2_n_teeth @@ -294,7 +294,7 @@ Providers - + .. c:var:: pt2_r @@ -308,7 +308,7 @@ Providers - + .. c:var:: pt2_stoch_istate @@ -321,7 +321,7 @@ Providers State for stochatsic PT2 - + .. c:var:: pt2_u @@ -334,7 +334,7 @@ Providers - + .. c:var:: pt2_u_0 @@ -351,7 +351,7 @@ Providers - + .. c:var:: pt2_w @@ -368,7 +368,7 @@ Providers - + .. c:var:: pt2_w_t @@ -385,7 +385,7 @@ Providers - + .. c:var:: selection_weight @@ -395,14 +395,14 @@ Providers File: :file:`selection.irp.f` - Weights in the state-average calculation of the density matrix + Weights used in the selection criterion - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: add_to_selection_buffer @@ -416,7 +416,7 @@ Subroutines / functions - + .. c:function:: bitstring_to_list_in_selection @@ -430,7 +430,7 @@ Subroutines / functions Gives the inidices(+1) of the bits set to 1 in the bit string - + .. c:function:: create_selection_buffer @@ -444,7 +444,7 @@ Subroutines / functions - + .. c:function:: delete_selection_buffer @@ -458,7 +458,7 @@ Subroutines / functions - + .. c:function:: fill_buffer_double @@ -472,7 +472,7 @@ Subroutines / functions - + .. c:function:: get_d0 @@ -486,7 +486,7 @@ Subroutines / functions - + .. c:function:: get_d1 @@ -500,7 +500,7 @@ Subroutines / functions - + .. c:function:: get_d2 @@ -514,7 +514,7 @@ Subroutines / functions - + .. c:function:: get_mask_phase @@ -528,7 +528,7 @@ Subroutines / functions - + .. c:function:: get_phase_bi @@ -542,7 +542,7 @@ Subroutines / functions - + .. c:function:: make_selection_buffer_s2 @@ -556,7 +556,7 @@ Subroutines / functions - + .. c:function:: merge_selection_buffers @@ -570,7 +570,7 @@ Subroutines / functions Merges the selection buffers b1 and b2 into b2 - + .. c:function:: past_d1 @@ -584,7 +584,7 @@ Subroutines / functions - + .. c:function:: past_d2 @@ -598,7 +598,7 @@ Subroutines / functions - + .. c:function:: provide_everything @@ -612,7 +612,7 @@ Subroutines / functions - + .. c:function:: pt2_find_sample @@ -626,7 +626,7 @@ Subroutines / functions - + .. c:function:: pt2_find_sample_lr @@ -640,7 +640,7 @@ Subroutines / functions - + .. c:function:: pt2_slave_inproc @@ -654,7 +654,7 @@ Subroutines / functions - + .. c:function:: pull_pt2_results @@ -668,7 +668,7 @@ Subroutines / functions - + .. c:function:: pull_selection_results @@ -682,7 +682,7 @@ Subroutines / functions - + .. c:function:: push_pt2_results @@ -696,7 +696,7 @@ Subroutines / functions - + .. c:function:: push_selection_results @@ -710,7 +710,7 @@ Subroutines / functions - + .. c:function:: remove_duplicates_in_selection_buffer @@ -724,7 +724,7 @@ Subroutines / functions - + .. c:function:: run_cipsi @@ -738,7 +738,7 @@ Subroutines / functions Selected Full Configuration Interaction with deterministic selection and stochastic PT2. - + .. c:function:: run_pt2_slave @@ -752,7 +752,7 @@ Subroutines / functions - + .. c:function:: run_selection_slave @@ -766,7 +766,7 @@ Subroutines / functions - + .. c:function:: run_slave_cipsi @@ -780,7 +780,7 @@ Subroutines / functions Helper program for distributed parallelism - + .. c:function:: run_slave_main @@ -794,7 +794,7 @@ Subroutines / functions - + .. c:function:: run_stochastic_cipsi @@ -808,7 +808,7 @@ Subroutines / functions Selected Full Configuration Interaction with Stochastic selection and PT2. - + .. c:function:: select_connected @@ -822,7 +822,7 @@ Subroutines / functions - + .. c:function:: select_singles_and_doubles @@ -836,7 +836,7 @@ Subroutines / functions WARNING /!\ : It is assumed that the generators and selectors are psi_det_sorted - + .. c:function:: selection_collector @@ -850,7 +850,7 @@ Subroutines / functions - + .. c:function:: selection_slave_inproc @@ -864,7 +864,7 @@ Subroutines / functions - + .. c:function:: sort_selection_buffer @@ -878,7 +878,7 @@ Subroutines / functions - + .. c:function:: splash_pq @@ -892,7 +892,7 @@ Subroutines / functions - + .. c:function:: spot_isinwf @@ -906,7 +906,7 @@ Subroutines / functions - + .. c:function:: testteethbuilding @@ -920,7 +920,7 @@ Subroutines / functions - + .. c:function:: zmq_pt2 @@ -934,7 +934,7 @@ Subroutines / functions - + .. c:function:: zmq_selection diff --git a/docs/source/modules/cis.rst b/docs/source/modules/cis.rst index 05c1e0be..1a56f96a 100644 --- a/docs/source/modules/cis.rst +++ b/docs/source/modules/cis.rst @@ -1,24 +1,24 @@ -.. _cis: - -.. program:: cis - -.. default-role:: option - +.. _cis: + +.. program:: cis + +.. default-role:: option + === cis === -This module contains a CIS program. +This module contains a CIS program. The user point of view ---------------------- -The :command:`cis` program performs the CI of the ROHF-like + all single excitations on top of it. +The :command:`cis` program performs the CI of the ROHF-like + all single excitations on top of it. This program can be very useful to : -* **Ground state calculations**: generate a guess for the ground state wave function if one is not sure that the :c:func:`scf` program gave the lowest SCF solution. In combination with :c:func:`save_natorb` it can produce new |MOs| in order to reperform an :c:func:`scf` optimization. +* **Ground state calculations**: generate a guess for the ground state wave function if one is not sure that the :c:func:`scf` program gave the lowest SCF solution. In combination with :c:func:`save_natorb` it can produce new |MOs| in order to reperform an :c:func:`scf` optimization. -* **Excited states calculations**: generate guess for all the :option:`determinants n_states` wave functions, that will be used by the :c:func:`fci` program. +* **Excited states calculations**: generate guess for all the :option:`determinants n_states` wave functions, that will be used by the :c:func:`fci` program. The main keywords/options to be used are: @@ -44,63 +44,26 @@ This module have been built by setting the following rules: These rules are set in the ``H_apply.irp.f`` file. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: energy - + Variational |CIS| energy - - - -Subroutines / functions ------------------------ - - - -.. c:function:: cis - - .. code:: text - - subroutine cis - - File: :file:`cis.irp.f` - - Configuration Interaction with Single excitations. - - This program takes a reference Slater determinant of ROHF-like occupancy, - - and performs all single excitations on top of it, disregarding spatial symmetry and compute the "n_states" lowest eigenstates of that CI matrix. (see :option:`determinants n_states`) - - This program can be useful in many cases: - - * GROUND STATE CALCULATION: to be sure to have the lowest scf solution, perform an :c:func:`scf` (see the :ref:`hartree_fock` module), then a :c:func:`cis`, save the natural orbitals (see :c:func:`save_natorb`) and reperform an :c:func:`scf` optimization from this MO guess - - - - - - - - * EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single-excitations. Therefore, running a :c:func:`cis` will save the "n_states" lowest states within the CIS space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi-state fci calculation if you specify "read_wf" = True before running the fci executable (see :option:`determinants read_wf`). Also, if you specify "s2_eig" = True, the cis will only retain states having the good value :math:`S^2` value (see :option:`determinants s2_eig` and :option:`determinants expected_s2`). If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are. - - - - - - Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify: - - * "core" orbitals which will be always doubly occupied - - * "act" orbitals where an electron can be either excited from or to - - * "del" orbitals which will be never occupied - - - + + + +Programs +-------- + + * :ref:`cis` + +Subroutines / functions +----------------------- + .. c:function:: h_apply_cis @@ -114,7 +77,7 @@ Subroutines / functions Calls H_apply on the |HF| determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. - + .. c:function:: h_apply_cis_diexc @@ -128,7 +91,7 @@ Subroutines / functions - + .. c:function:: h_apply_cis_diexcorg @@ -142,7 +105,7 @@ Subroutines / functions Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. - + .. c:function:: h_apply_cis_diexcp @@ -156,7 +119,7 @@ Subroutines / functions - + .. c:function:: h_apply_cis_monoexc diff --git a/docs/source/modules/cisd.rst b/docs/source/modules/cisd.rst index bbd282de..d11c1b44 100644 --- a/docs/source/modules/cisd.rst +++ b/docs/source/modules/cisd.rst @@ -1,24 +1,24 @@ -.. _cisd: - -.. program:: cisd - -.. default-role:: option - +.. _cisd: + +.. program:: cisd + +.. default-role:: option + ==== cisd ==== -This module contains a CI of single and double excitations. +This module contains a CI of single and double excitations. The user point of view ---------------------- -The :command:`cisd` program performs the CI of the ROHF-like + all single and double excitations on top of it. +The :command:`cisd` program performs the CI of the ROHF-like + all single and double excitations on top of it. This program can be very useful to : -* **Ground state calculations**: generate a guess for the ground state wave function if one is not sure that the :c:func:`scf` program gave the lowest SCF solution. In combination with :c:func:`save_natorb` it can produce new |MOs| in order to reperform an :c:func:`scf` optimization. +* **Ground state calculations**: generate a guess for the ground state wave function if one is not sure that the :c:func:`scf` program gave the lowest SCF solution. In combination with :c:func:`save_natorb` it can produce new |MOs| in order to reperform an :c:func:`scf` optimization. -* **Excited states calculations**: generate guess for all the :option:`determinants n_states` wave functions, that will be used by the :c:func:`fci` program. +* **Excited states calculations**: generate guess for all the :option:`determinants n_states` wave functions, that will be used by the :c:func:`fci` program. The main keywords/options to be used are: @@ -42,61 +42,26 @@ This module have been built by setting the following rules: These rules are set in the ``H_apply.irp.f`` file. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: energy - + Variational |CISD| energy - - - -Subroutines / functions ------------------------ - - - -.. c:function:: cisd - - .. code:: text - - subroutine cisd - - File: :file:`cisd.irp.f` - - Configuration Interaction with Single and Double excitations. - - This program takes a reference Slater determinant of ROHF-like occupancy, - - and performs all single and double excitations on top of it, disregarding spatial symmetry and compute the "n_states" lowest eigenstates of that CI matrix (see :option:`determinants n_states`). - - This program can be useful in many cases: - - * GROUND STATE CALCULATION: if even after a :c:func:`cis` calculation, natural orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf solution, do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural orbitals as a guess for the :c:func:`scf`. - - - - - - * EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single- or double-excitations. Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within the CISD space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi-state fci calculation if you specify "read_wf" = True before running the fci executable (see :option:`determinants read_wf`). Also, if you specify "s2_eig" = True, the cisd will only retain states having the good value :math:`S^2` value (see :option:`determinants expected_s2` and :option:`determinants s2_eig`). If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are. - - - - - - Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify: - - * "core" orbitals which will be always doubly occupied - - * "act" orbitals where an electron can be either excited from or to - - * "del" orbitals which will be never occupied - - - + + + +Programs +-------- + + * :ref:`cisd` + +Subroutines / functions +----------------------- + .. c:function:: h_apply_cisd @@ -110,7 +75,7 @@ Subroutines / functions Calls H_apply on the |HF| determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. - + .. c:function:: h_apply_cisd_diexc @@ -124,7 +89,7 @@ Subroutines / functions - + .. c:function:: h_apply_cisd_diexcorg @@ -138,7 +103,7 @@ Subroutines / functions Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. - + .. c:function:: h_apply_cisd_diexcp @@ -152,7 +117,7 @@ Subroutines / functions - + .. c:function:: h_apply_cisd_monoexc diff --git a/docs/source/modules/davidson.rst b/docs/source/modules/davidson.rst index 0b8c30bd..906ef4b6 100644 --- a/docs/source/modules/davidson.rst +++ b/docs/source/modules/davidson.rst @@ -1,9 +1,9 @@ -.. _davidson: - -.. program:: davidson - -.. default-role:: option - +.. _davidson: + +.. program:: davidson + +.. default-role:: option + ======== davidson ======== @@ -16,60 +16,60 @@ the :ref:`davidson` module should be used, and it has a default zero dressing ve The important providers for that module are: -# `psi_energy` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the Hamiltonian, dressed or not. It uses the general subroutine `u_0_H_u_0`. -# `psi_energy_two_e` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the standard two-electrons coulomb operator. It uses the general routine `u_0_H_u_0_two_e`. - - - -EZFIO parameters ----------------- - +# `psi_energy` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the Hamiltonian, dressed or not. It uses the general subroutine `u_0_H_u_0`. +# `psi_energy_two_e` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the standard two-electrons coulomb operator. It uses the general routine `u_0_H_u_0_two_e`. + + + +EZFIO parameters +---------------- + .. option:: threshold_davidson - + Thresholds of Davidson's algorithm - + Default: 1.e-10 - + .. option:: n_states_diag - + Number of states to consider during the Davdison diagonalization - + Default: 4 - + .. option:: davidson_sze_max - + Number of micro-iterations before re-contracting - + Default: 8 - + .. option:: state_following - + If |true|, the states are re-ordered to match the input states - + Default: False - + .. option:: disk_based_davidson - + If |true|, disk space is used to store the vectors - + Default: False - + .. option:: distributed_davidson - + If |true|, use the distributed algorithm - + Default: True - + .. option:: only_expected_s2 - + If |true|, use filter out all vectors with bad |S^2| values - + Default: True - - -Providers ---------- - + + +Providers +--------- + .. c:var:: ci_eigenvectors @@ -84,7 +84,7 @@ Providers Eigenvectors/values of the |CI| matrix - + .. c:var:: ci_eigenvectors_s2 @@ -99,7 +99,7 @@ Providers Eigenvectors/values of the |CI| matrix - + .. c:var:: ci_electronic_energy @@ -114,7 +114,7 @@ Providers Eigenvectors/values of the |CI| matrix - + .. c:var:: ci_energy @@ -127,7 +127,7 @@ Providers :c:data:`n_states` lowest eigenvalues of the |CI| matrix - + .. c:var:: davidson_criterion @@ -140,7 +140,7 @@ Providers Can be : [ energy | residual | both | wall_time | cpu_time | iterations ] - + .. c:var:: dressed_column_idx @@ -153,7 +153,7 @@ Providers Index of the dressed columns - + .. c:var:: n_states_diag @@ -166,7 +166,7 @@ Providers Number of states to consider during the Davdison diagonalization - + .. c:var:: nthreads_davidson @@ -179,7 +179,7 @@ Providers Number of threads for Davidson - + .. c:var:: psi_energy @@ -192,7 +192,7 @@ Providers Electronic energy of the current wave function - + .. c:var:: psi_energy_two_e @@ -205,7 +205,7 @@ Providers Energy of the current wave function - + .. c:var:: psi_energy_with_nucl_rep @@ -218,11 +218,11 @@ Providers Energy of the wave function with the nuclear repulsion energy. - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: davidson_collector @@ -236,7 +236,7 @@ Subroutines / functions Routine collecting the results of the workers in Davidson's algorithm. - + .. c:function:: davidson_converged @@ -250,7 +250,7 @@ Subroutines / functions True if the Davidson algorithm is converged - + .. c:function:: davidson_diag_hjj_sjj @@ -282,7 +282,7 @@ Subroutines / functions Initial guess vectors are not necessarily orthonormal - + .. c:function:: davidson_diag_hs2 @@ -308,7 +308,7 @@ Subroutines / functions Initial guess vectors are not necessarily orthonormal - + .. c:function:: davidson_pull_results @@ -322,7 +322,7 @@ Subroutines / functions Pull the results of :math:`H|U \rangle` on the master. - + .. c:function:: davidson_push_results @@ -336,7 +336,7 @@ Subroutines / functions Push the results of :math:`H|U \rangle` from a worker to the master. - + .. c:function:: davidson_run_slave @@ -350,7 +350,7 @@ Subroutines / functions Slave routine for Davidson's diagonalization. - + .. c:function:: davidson_slave_inproc @@ -364,7 +364,7 @@ Subroutines / functions - + .. c:function:: davidson_slave_tcp @@ -378,7 +378,7 @@ Subroutines / functions - + .. c:function:: davidson_slave_work @@ -392,7 +392,7 @@ Subroutines / functions - + .. c:function:: diagonalize_ci @@ -406,7 +406,7 @@ Subroutines / functions Replace the coefficients of the |CI| states by the coefficients of the eigenstates of the |CI| matrix. - + .. c:function:: h_s2_u_0_nstates_openmp @@ -424,7 +424,7 @@ Subroutines / functions istart, iend, ishift, istep are used in ZMQ parallelization. - + .. c:function:: h_s2_u_0_nstates_openmp_work @@ -440,7 +440,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_nstates_openmp_work_1 @@ -456,7 +456,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_nstates_openmp_work_2 @@ -472,7 +472,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_nstates_openmp_work_3 @@ -488,7 +488,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_nstates_openmp_work_4 @@ -504,7 +504,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_nstates_openmp_work_n_int @@ -520,7 +520,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_nstates_zmq @@ -540,7 +540,7 @@ Subroutines / functions S2_jj : array of :math:`\langle j|S^2|j \rangle` - + .. c:function:: h_s2_u_0_two_e_nstates_openmp @@ -558,7 +558,7 @@ Subroutines / functions istart, iend, ishift, istep are used in ZMQ parallelization. - + .. c:function:: h_s2_u_0_two_e_nstates_openmp_work @@ -574,7 +574,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_two_e_nstates_openmp_work_1 @@ -590,7 +590,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_two_e_nstates_openmp_work_2 @@ -606,7 +606,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_two_e_nstates_openmp_work_3 @@ -622,7 +622,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_two_e_nstates_openmp_work_4 @@ -638,7 +638,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: h_s2_u_0_two_e_nstates_openmp_work_n_int @@ -654,7 +654,7 @@ Subroutines / functions Default should be 1,N_det,0,1 - + .. c:function:: u_0_h_u_0 @@ -672,7 +672,7 @@ Subroutines / functions - + .. c:function:: u_0_h_u_0_two_e @@ -690,7 +690,7 @@ Subroutines / functions - + .. c:function:: zmq_get_n_states_diag @@ -704,7 +704,7 @@ Subroutines / functions Get N_states_diag from the qp_run scheduler - + .. c:function:: zmq_put_n_states_diag diff --git a/docs/source/modules/davidson_dressed.rst b/docs/source/modules/davidson_dressed.rst index 4697104f..6df63160 100644 --- a/docs/source/modules/davidson_dressed.rst +++ b/docs/source/modules/davidson_dressed.rst @@ -1,13 +1,13 @@ -.. _davidson_dressed: - -.. program:: davidson_dressed - -.. default-role:: option - +.. _davidson_dressed: + +.. program:: davidson_dressed + +.. default-role:: option + ================ davidson_dressed ================ Davidson with single-column dressing. - + diff --git a/docs/source/modules/davidson_undressed.rst b/docs/source/modules/davidson_undressed.rst index e785b4ca..159070ad 100644 --- a/docs/source/modules/davidson_undressed.rst +++ b/docs/source/modules/davidson_undressed.rst @@ -1,21 +1,21 @@ -.. _davidson_undressed: - -.. program:: davidson_undressed - -.. default-role:: option - +.. _davidson_undressed: + +.. program:: davidson_undressed + +.. default-role:: option + ================== davidson_undressed ================== Module for main files Davidson's algorithm with no dressing. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: dressing_column_h @@ -29,7 +29,7 @@ Providers Null dressing vectors - + .. c:var:: dressing_column_s diff --git a/docs/source/modules/density_for_dft.rst b/docs/source/modules/density_for_dft.rst index ecae22f2..e1efcd5b 100644 --- a/docs/source/modules/density_for_dft.rst +++ b/docs/source/modules/density_for_dft.rst @@ -1,43 +1,43 @@ -.. _density_for_dft: - -.. program:: density_for_dft - -.. default-role:: option - +.. _density_for_dft: + +.. program:: density_for_dft + +.. default-role:: option + =============== density_for_dft =============== -This module defines the *provider* of the density used for the DFT related calculations. -This definition is done through the keyword :option:`density_for_dft density_for_dft`. -The density can be: +This module defines the *provider* of the density used for the DFT related calculations. +This definition is done through the keyword :option:`density_for_dft density_for_dft`. +The density can be: * WFT : the density is computed with a potentially multi determinant wave function (see variables `psi_det` and `psi_det`)# input_density : the density is set to a density previously stored in the |EZFIO| folder (see ``aux_quantities``) * damping_rs_dft : the density is damped between the input_density and the WFT density, with a damping factor of :option:`density_for_dft damping_for_rs_dft` - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: density_for_dft - + Type of density used for DFT calculation. If set to WFT , it uses the density of the wave function stored in (psi_det,psi_coef). If set to input_density it uses the one-body dm stored in aux_quantities/ . If set to damping_rs_dft it uses the damped density between WFT and input_density. In the ks_scf and rs_ks_scf programs, it is set to WFT. - + Default: WFT - + .. option:: damping_for_rs_dft - + damping factor for the density used in RSFT. - + Default: 0.5 - - -Providers ---------- - + + +Providers +--------- + .. c:var:: one_body_dm_mo_alpha_one_det @@ -51,7 +51,7 @@ Providers One body density matrix on the |MO| basis for a single determinant - + .. c:var:: one_body_dm_mo_beta_one_det @@ -65,7 +65,7 @@ Providers One body density matrix on the |MO| basis for a single determinant - + .. c:var:: one_e_dm_alpha_ao_for_dft @@ -79,7 +79,7 @@ Providers one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft - + .. c:var:: one_e_dm_average_mo_for_dft @@ -92,7 +92,7 @@ Providers - + .. c:var:: one_e_dm_beta_ao_for_dft @@ -106,7 +106,7 @@ Providers one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft - + .. c:var:: one_e_dm_mo_alpha_for_dft @@ -119,7 +119,7 @@ Providers density matrix for alpha electrons in the MO basis used for all DFT calculations based on the density - + .. c:var:: one_e_dm_mo_beta_for_dft @@ -132,7 +132,7 @@ Providers density matrix for beta electrons in the MO basis used for all DFT calculations based on the density - + .. c:var:: one_e_dm_mo_for_dft diff --git a/docs/source/modules/determinants.rst b/docs/source/modules/determinants.rst index c71fd51a..817237b9 100644 --- a/docs/source/modules/determinants.rst +++ b/docs/source/modules/determinants.rst @@ -1,9 +1,9 @@ -.. _determinants: - -.. program:: determinants - -.. default-role:: option - +.. _determinants: + +.. program:: determinants + +.. default-role:: option + ============ determinants ============ @@ -13,122 +13,122 @@ Contains everything for the computation of the Hamiltonian matrix elements in th The main providers for this module are: * :option:`determinants n_states`: number of states to be computed -* `psi_det`: list of determinants in the wave function used in many routines/providers of the |QP|. -* `psi_coef`: list of coefficients, for all :option:`determinants n_states` states, and all determinants. +* `psi_det`: list of determinants in the wave function used in many routines/providers of the |QP|. +* `psi_coef`: list of coefficients, for all :option:`determinants n_states` states, and all determinants. The main routines for this module are: * `i_H_j`: computes the Hamiltonian matrix element between two arbitrary Slater determinants. * `i_H_j_s2`: computes the Hamiltonian and (:math:`S^2`) matrix element between two arbitrary Slater determinants. -* `i_H_j_verbose`: returns the decomposition in terms of one- and two-body components of the Hamiltonian matrix elements between two arbitrary Slater determinants. Also return the fermionic phase factor. -* `i_H_psi`: computes the Hamiltonian matrix element between an arbitrary Slater determinant and a wave function composed of a sum of arbitrary Slater determinants. +* `i_H_j_verbose`: returns the decomposition in terms of one- and two-body components of the Hamiltonian matrix elements between two arbitrary Slater determinants. Also return the fermionic phase factor. +* `i_H_psi`: computes the Hamiltonian matrix element between an arbitrary Slater determinant and a wave function composed of a sum of arbitrary Slater determinants. -For an example of how to use these routines and providers, take a look at :file:`example.irp.f`. - - - -EZFIO parameters ----------------- - +For an example of how to use these routines and providers, take a look at :file:`example.irp.f`. + + + +EZFIO parameters +---------------- + .. option:: n_det_max - + Maximum number of determinants in the wave function - + Default: 1000000 - + .. option:: n_det_print_wf - + Maximum number of determinants to be printed with the program print_wf - + Default: 10000 - + .. option:: n_det_max_full - + Maximum number of determinants where |H| is fully diagonalized - + Default: 1000 - + .. option:: n_states - + Number of states to consider - + Default: 1 - + .. option:: read_wf - + If |true|, read the wave function from the |EZFIO| file - + Default: False - + .. option:: s2_eig - + Force the wave function to be an eigenfunction of |S^2| - + Default: True - + .. option:: used_weight - - 0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi)) - - Default: 0 - + + Weight used in the calculation of the one-electron density matrix. 0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi)) + + Default: 1 + .. option:: threshold_generators - + Thresholds on generators (fraction of the square of the norm) - + Default: 0.99 - + .. option:: n_int - + Number of integers required to represent bitstrings (set in module :ref:`bitmask`) - - + + .. option:: bit_kind - + (set in module :ref:`bitmask`) - - + + .. option:: mo_label - + Label of the |MOs| on which the determinants are expressed - - + + .. option:: n_det - + Number of determinants in the current wave function - - + + .. option:: psi_coef - + Coefficients of the wave function - - + + .. option:: psi_det - + Determinants of the variational space - - + + .. option:: expected_s2 - + Expected value of |S^2| - - + + .. option:: target_energy - + Energy that should be obtained when truncating the wave function (optional) - + Default: 0. - + .. option:: state_average_weight - + Weight of the states in state-average calculations. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: abs_psi_coef_max @@ -144,7 +144,7 @@ Providers Max and min values of the coefficients - + .. c:var:: abs_psi_coef_min @@ -160,7 +160,7 @@ Providers Max and min values of the coefficients - + .. c:var:: barycentric_electronic_energy @@ -173,7 +173,7 @@ Providers :math:`E_n = \sum_i {c_i^{(n)}}^2 H_{ii}` - + .. c:var:: c0_weight @@ -186,7 +186,7 @@ Providers Weight of the states in the selection : :math:`\frac{1}{c_0^2}` . - + .. c:var:: det_alpha_norm @@ -202,7 +202,7 @@ Providers :math:`||D_\alpha||_i = \sum_j C_{ij}^2` - + .. c:var:: det_beta_norm @@ -218,7 +218,7 @@ Providers :math:`||D_\alpha||_i = \sum_j C_{ij}^2` - + .. c:var:: det_to_occ_pattern @@ -231,7 +231,7 @@ Providers Returns the index of the occupation pattern for each determinant - + .. c:var:: diag_algorithm @@ -244,7 +244,7 @@ Providers Diagonalization algorithm (Davidson or Lapack) - + .. c:var:: diagonal_h_matrix_on_psi_det @@ -257,7 +257,7 @@ Providers Diagonal of the Hamiltonian ordered as psi_det - + .. c:var:: double_exc_bitmask @@ -278,7 +278,7 @@ Providers for a given couple of hole/particle excitations i. - + .. c:var:: expected_s2 @@ -291,7 +291,7 @@ Providers Expected value of |S^2| : S*(S+1) - + .. c:var:: fock_operator_closed_shell_ref_bitmask @@ -304,7 +304,7 @@ Providers - + .. c:var:: fock_wee_closed_shell @@ -317,7 +317,7 @@ Providers - + .. c:var:: h_apply_buffer_allocated @@ -331,7 +331,7 @@ Providers Buffer of determinants/coefficients/perturbative energy for H_apply. Uninitialized. Filled by H_apply subroutines. - + .. c:var:: h_apply_buffer_lock @@ -345,7 +345,7 @@ Providers Buffer of determinants/coefficients/perturbative energy for H_apply. Uninitialized. Filled by H_apply subroutines. - + .. c:var:: h_matrix_all_dets @@ -358,7 +358,7 @@ Providers |H| matrix on the basis of the Slater determinants defined by psi_det - + .. c:var:: h_matrix_cas @@ -371,7 +371,7 @@ Providers - + .. c:var:: idx_cas @@ -387,7 +387,7 @@ Providers |CAS| wave function, defined from the application of the |CAS| bitmask on the determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. - + .. c:var:: idx_non_cas @@ -403,7 +403,7 @@ Providers Set of determinants which are not part of the |CAS|, defined from the application of the |CAS| bitmask on the determinants. idx_non_cas gives the indice of the determinant in psi_det. - + .. c:var:: max_degree_exc @@ -416,7 +416,7 @@ Providers Maximum degree of excitation in the wave function with respect to the Hartree-Fock determinant. - + .. c:var:: mo_energy_expval @@ -429,7 +429,7 @@ Providers Third index is spin. Fourth index is 1:creation, 2:annihilation - + .. c:var:: n_det @@ -442,7 +442,7 @@ Providers Number of determinants in the wave function - + .. c:var:: n_det_alpha_unique @@ -456,7 +456,7 @@ Providers Unique :math:`\alpha` determinants - + .. c:var:: n_det_beta_unique @@ -470,7 +470,7 @@ Providers Unique :math:`\beta` determinants - + .. c:var:: n_det_cas @@ -486,7 +486,7 @@ Providers |CAS| wave function, defined from the application of the |CAS| bitmask on the determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. - + .. c:var:: n_det_non_cas @@ -502,7 +502,7 @@ Providers Set of determinants which are not part of the |CAS|, defined from the application of the |CAS| bitmask on the determinants. idx_non_cas gives the indice of the determinant in psi_det. - + .. c:var:: n_double_exc_bitmasks @@ -515,7 +515,7 @@ Providers Number of double excitation bitmasks - + .. c:var:: n_occ_pattern @@ -535,7 +535,7 @@ Providers The occ patterns are sorted by :c:func:`occ_pattern_search_key` - + .. c:var:: n_single_exc_bitmasks @@ -548,7 +548,7 @@ Providers Number of single excitation bitmasks - + .. c:var:: one_e_dm_ao_alpha @@ -562,7 +562,7 @@ Providers One body density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha), \rho_{AO}(\beta)` . - + .. c:var:: one_e_dm_ao_beta @@ -576,7 +576,7 @@ Providers One body density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha), \rho_{AO}(\beta)` . - + .. c:var:: one_e_dm_dagger_mo_spin_index @@ -589,7 +589,7 @@ Providers - + .. c:var:: one_e_dm_mo @@ -602,7 +602,7 @@ Providers One-body density matrix - + .. c:var:: one_e_dm_mo_alpha @@ -616,7 +616,7 @@ Providers :math:`\alpha` and :math:`\beta` one-body density matrix for each state - + .. c:var:: one_e_dm_mo_alpha_average @@ -630,7 +630,7 @@ Providers :math:`\alpha` and :math:`\beta` one-body density matrix for each state - + .. c:var:: one_e_dm_mo_beta @@ -644,7 +644,7 @@ Providers :math:`\alpha` and :math:`\beta` one-body density matrix for each state - + .. c:var:: one_e_dm_mo_beta_average @@ -658,7 +658,7 @@ Providers :math:`\alpha` and :math:`\beta` one-body density matrix for each state - + .. c:var:: one_e_dm_mo_diff @@ -671,7 +671,7 @@ Providers Difference of the one-body density matrix with respect to the ground state - + .. c:var:: one_e_dm_mo_spin_index @@ -684,7 +684,7 @@ Providers - + .. c:var:: one_e_spin_density_ao @@ -697,7 +697,7 @@ Providers One body spin density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha) - \rho_{AO}(\beta)` - + .. c:var:: one_e_spin_density_mo @@ -710,7 +710,7 @@ Providers :math:`\rho(\alpha) - \rho(\beta)` - + .. c:var:: psi_average_norm_contrib @@ -723,7 +723,7 @@ Providers Contribution of determinants to the state-averaged density. - + .. c:var:: psi_average_norm_contrib_sorted @@ -741,7 +741,7 @@ Providers psi_det_sorted_order(i) -> k : index in psi_det - + .. c:var:: psi_bilinear_matrix @@ -756,7 +756,7 @@ Providers :math:`D_\alpha^\dagger.C.D_\beta` - + .. c:var:: psi_bilinear_matrix_columns @@ -776,7 +776,7 @@ Providers Order refers to psi_det - + .. c:var:: psi_bilinear_matrix_columns_loc @@ -795,7 +795,7 @@ Providers Order refers to :c:data:`psi_det` - + .. c:var:: psi_bilinear_matrix_order @@ -815,7 +815,7 @@ Providers Order refers to psi_det - + .. c:var:: psi_bilinear_matrix_order_reverse @@ -828,7 +828,7 @@ Providers Order which allows to go from :c:data:`psi_bilinear_matrix` to :c:data:`psi_det` - + .. c:var:: psi_bilinear_matrix_order_transp_reverse @@ -841,7 +841,7 @@ Providers Order which allows to go from :c:data:`psi_bilinear_matrix_order_transp` to :c:data:`psi_bilinear_matrix` - + .. c:var:: psi_bilinear_matrix_rows @@ -861,7 +861,7 @@ Providers Order refers to psi_det - + .. c:var:: psi_bilinear_matrix_transp_columns @@ -881,7 +881,7 @@ Providers Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major format. - + .. c:var:: psi_bilinear_matrix_transp_order @@ -901,7 +901,7 @@ Providers Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major format. - + .. c:var:: psi_bilinear_matrix_transp_rows @@ -921,7 +921,7 @@ Providers Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major format. - + .. c:var:: psi_bilinear_matrix_transp_rows_loc @@ -934,7 +934,7 @@ Providers Location of the columns in the :c:data:`psi_bilinear_matrix` - + .. c:var:: psi_bilinear_matrix_transp_values @@ -954,7 +954,7 @@ Providers Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major format. - + .. c:var:: psi_bilinear_matrix_values @@ -974,7 +974,7 @@ Providers Order refers to psi_det - + .. c:var:: psi_cas @@ -990,7 +990,7 @@ Providers |CAS| wave function, defined from the application of the |CAS| bitmask on the determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. - + .. c:var:: psi_cas_coef @@ -1006,7 +1006,7 @@ Providers |CAS| wave function, defined from the application of the |CAS| bitmask on the determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. - + .. c:var:: psi_cas_coef_sorted_bit @@ -1020,7 +1020,7 @@ Providers |CAS| determinants sorted to accelerate the search of a random determinant in the wave function. - + .. c:var:: psi_cas_energy @@ -1033,7 +1033,7 @@ Providers Variational energy of :math:`\Psi_{CAS}` , where :math:`\Psi_{CAS} = \sum_{I \in CAS} \I \rangle \langle I | \Psi \rangle` . - + .. c:var:: psi_cas_energy_diagonalized @@ -1047,7 +1047,7 @@ Providers - + .. c:var:: psi_cas_sorted_bit @@ -1061,7 +1061,7 @@ Providers |CAS| determinants sorted to accelerate the search of a random determinant in the wave function. - + .. c:var:: psi_coef @@ -1074,7 +1074,7 @@ Providers The wave function coefficients. Initialized with Hartree-Fock if the |EZFIO| file is empty. - + .. c:var:: psi_coef_cas_diagonalized @@ -1088,7 +1088,7 @@ Providers - + .. c:var:: psi_coef_max @@ -1104,7 +1104,7 @@ Providers Max and min values of the coefficients - + .. c:var:: psi_coef_min @@ -1120,7 +1120,7 @@ Providers Max and min values of the coefficients - + .. c:var:: psi_coef_sorted @@ -1138,7 +1138,7 @@ Providers psi_det_sorted_order(i) -> k : index in psi_det - + .. c:var:: psi_coef_sorted_bit @@ -1152,7 +1152,7 @@ Providers Determinants on which we apply :math:`\langle i|H|psi \rangle` for perturbation. They are sorted by determinants interpreted as integers. Useful to accelerate the search of a random determinant in the wave function. - + .. c:var:: psi_det @@ -1165,7 +1165,7 @@ Providers The determinants of the wave function. Initialized with Hartree-Fock if the |EZFIO| file is empty. - + .. c:var:: psi_det_alpha @@ -1178,7 +1178,7 @@ Providers List of :math:`\alpha` determinants of psi_det - + .. c:var:: psi_det_alpha_unique @@ -1192,7 +1192,7 @@ Providers Unique :math:`\alpha` determinants - + .. c:var:: psi_det_beta @@ -1205,7 +1205,7 @@ Providers List of :math:`\beta` determinants of psi_det - + .. c:var:: psi_det_beta_unique @@ -1219,7 +1219,7 @@ Providers Unique :math:`\beta` determinants - + .. c:var:: psi_det_hii @@ -1232,7 +1232,7 @@ Providers :math:`\langle i|h|i \rangle` for all determinants. - + .. c:var:: psi_det_size @@ -1245,7 +1245,7 @@ Providers Size of the psi_det and psi_coef arrays - + .. c:var:: psi_det_sorted @@ -1263,7 +1263,7 @@ Providers psi_det_sorted_order(i) -> k : index in psi_det - + .. c:var:: psi_det_sorted_bit @@ -1277,7 +1277,7 @@ Providers Determinants on which we apply :math:`\langle i|H|psi \rangle` for perturbation. They are sorted by determinants interpreted as integers. Useful to accelerate the search of a random determinant in the wave function. - + .. c:var:: psi_det_sorted_order @@ -1295,7 +1295,7 @@ Providers psi_det_sorted_order(i) -> k : index in psi_det - + .. c:var:: psi_energy_h_core @@ -1310,7 +1310,7 @@ Providers computed using the :c:data:`one_e_dm_mo_alpha` + :c:data:`one_e_dm_mo_beta` and :c:data:`mo_one_e_integrals` - + .. c:var:: psi_non_cas @@ -1326,7 +1326,7 @@ Providers Set of determinants which are not part of the |CAS|, defined from the application of the |CAS| bitmask on the determinants. idx_non_cas gives the indice of the determinant in psi_det. - + .. c:var:: psi_non_cas_coef @@ -1342,7 +1342,7 @@ Providers Set of determinants which are not part of the |CAS|, defined from the application of the |CAS| bitmask on the determinants. idx_non_cas gives the indice of the determinant in psi_det. - + .. c:var:: psi_non_cas_coef_sorted_bit @@ -1356,7 +1356,7 @@ Providers |CAS| determinants sorted to accelerate the search of a random determinant in the wave function. - + .. c:var:: psi_non_cas_sorted_bit @@ -1370,7 +1370,7 @@ Providers |CAS| determinants sorted to accelerate the search of a random determinant in the wave function. - + .. c:var:: psi_occ_pattern @@ -1390,7 +1390,7 @@ Providers The occ patterns are sorted by :c:func:`occ_pattern_search_key` - + .. c:var:: psi_occ_pattern_hii @@ -1403,7 +1403,7 @@ Providers :math:`\langle I|H|I \rangle` where :math:`|I\rangle` is an occupation pattern. This is the minimum :math:`H_{ii}` , where the :math:`|i\rangle` are the determinants of :math:`|I\rangle` . - + .. c:var:: ref_bitmask_e_n_energy @@ -1420,7 +1420,7 @@ Providers Energy of the reference bitmask used in Slater rules - + .. c:var:: ref_bitmask_energy @@ -1437,7 +1437,7 @@ Providers Energy of the reference bitmask used in Slater rules - + .. c:var:: ref_bitmask_kinetic_energy @@ -1454,7 +1454,7 @@ Providers Energy of the reference bitmask used in Slater rules - + .. c:var:: ref_bitmask_one_e_energy @@ -1471,7 +1471,7 @@ Providers Energy of the reference bitmask used in Slater rules - + .. c:var:: ref_bitmask_two_e_energy @@ -1488,7 +1488,7 @@ Providers Energy of the reference bitmask used in Slater rules - + .. c:var:: ref_closed_shell_bitmask @@ -1501,7 +1501,7 @@ Providers - + .. c:var:: s2_matrix_all_dets @@ -1514,7 +1514,7 @@ Providers |S^2| matrix on the basis of the Slater determinants defined by psi_det - + .. c:var:: s2_values @@ -1527,7 +1527,7 @@ Providers array of the averaged values of the S^2 operator on the various states - + .. c:var:: s_z @@ -1541,7 +1541,7 @@ Providers z component of the Spin - + .. c:var:: s_z2_sz @@ -1555,7 +1555,7 @@ Providers z component of the Spin - + .. c:var:: single_exc_bitmask @@ -1572,7 +1572,7 @@ Providers for a given couple of hole/particle excitations i. - + .. c:var:: singles_alpha_csc @@ -1585,7 +1585,7 @@ Providers Indices of all single excitations - + .. c:var:: singles_alpha_csc_idx @@ -1601,7 +1601,7 @@ Providers singles_alpha_csc_idx : Index where the single excitations of determinant i start - + .. c:var:: singles_alpha_csc_size @@ -1617,7 +1617,7 @@ Providers singles_alpha_csc_idx : Index where the single excitations of determinant i start - + .. c:var:: singles_beta_csc @@ -1630,7 +1630,7 @@ Providers Indices of all single excitations - + .. c:var:: singles_beta_csc_idx @@ -1646,7 +1646,7 @@ Providers singles_beta_csc_idx : Index where the single excitations of determinant i start - + .. c:var:: singles_beta_csc_size @@ -1662,7 +1662,7 @@ Providers singles_beta_csc_idx : Index where the single excitations of determinant i start - + .. c:var:: state_average_weight @@ -1675,7 +1675,7 @@ Providers Weights in the state-average calculation of the density matrix - + .. c:var:: weight_occ_pattern @@ -1688,11 +1688,11 @@ Providers Weight of the occupation patterns in the wave function - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: a_operator @@ -1706,7 +1706,7 @@ Subroutines / functions Needed for :c:func:`diag_H_mat_elem`. - + .. c:function:: a_operator_two_e @@ -1720,7 +1720,7 @@ Subroutines / functions Needed for :c:func:`diag_Wee_mat_elem`. - + .. c:function:: ac_operator @@ -1734,7 +1734,7 @@ Subroutines / functions Needed for :c:func:`diag_H_mat_elem`. - + .. c:function:: ac_operator_two_e @@ -1748,7 +1748,7 @@ Subroutines / functions Needed for :c:func:`diag_Wee_mat_elem`. - + .. c:function:: apply_excitation @@ -1762,7 +1762,7 @@ Subroutines / functions - + .. c:function:: apply_hole @@ -1776,7 +1776,7 @@ Subroutines / functions - + .. c:function:: apply_holes @@ -1790,7 +1790,7 @@ Subroutines / functions - + .. c:function:: apply_particle @@ -1804,7 +1804,7 @@ Subroutines / functions - + .. c:function:: apply_particles @@ -1818,7 +1818,7 @@ Subroutines / functions - + .. c:function:: au0_h_au0 @@ -1832,7 +1832,7 @@ Subroutines / functions - + .. c:function:: bitstring_to_list_ab @@ -1846,7 +1846,7 @@ Subroutines / functions Gives the inidices(+1) of the bits set to 1 in the bit string For alpha/beta determinants. - + .. c:function:: build_fock_tmp @@ -1860,7 +1860,7 @@ Subroutines / functions Build the diagonal of the Fock matrix corresponding to a generator determinant. :math:`F_{00}` is :math:`\langle i|H|i \rangle = E_0` . - + .. c:function:: connected_to_ref @@ -1886,7 +1886,7 @@ Subroutines / functions -i : key is the ith determinant of the reference wf keys - + .. c:function:: connected_to_ref_by_mono @@ -1912,7 +1912,7 @@ Subroutines / functions -i : key is the ith determinant of the reference wf keys - + .. c:function:: copy_h_apply_buffer_to_wf @@ -1926,7 +1926,7 @@ Subroutines / functions Copies the H_apply buffer to psi_coef. After calling this subroutine, N_det, psi_det and psi_coef need to be touched - + .. c:function:: copy_psi_bilinear_to_psi @@ -1940,7 +1940,7 @@ Subroutines / functions Overwrites :c:data:`psi_det` and :c:data:`psi_coef` with the wave function in bilinear order - + .. c:function:: create_microlist @@ -1954,7 +1954,7 @@ Subroutines / functions - + .. c:function:: create_minilist @@ -1968,7 +1968,7 @@ Subroutines / functions - + .. c:function:: create_minilist_find_previous @@ -1982,7 +1982,7 @@ Subroutines / functions - + .. c:function:: create_wf_of_psi_bilinear_matrix @@ -1996,7 +1996,7 @@ Subroutines / functions Generates a wave function containing all possible products of :math:`\alpha` and :math:`\beta` determinants - + .. c:function:: decode_exc @@ -2010,7 +2010,7 @@ Subroutines / functions Decodes the exc arrays returned by get_excitation. h1,h2 : Holes p1,p2 : Particles s1,s2 : Spins (1:alpha, 2:beta) degree : Degree of excitation - + .. c:function:: decode_exc_spin @@ -2028,7 +2028,7 @@ Subroutines / functions p1,p2 : Particles - + .. c:function:: det_inf @@ -2042,7 +2042,7 @@ Subroutines / functions Ordering function for determinants. - + .. c:function:: det_search_key @@ -2056,7 +2056,7 @@ Subroutines / functions Return an integer*8 corresponding to a determinant index for searching - + .. c:function:: detcmp @@ -2070,7 +2070,7 @@ Subroutines / functions - + .. c:function:: deteq @@ -2084,7 +2084,7 @@ Subroutines / functions - + .. c:function:: diag_h_mat_elem @@ -2098,7 +2098,7 @@ Subroutines / functions Computes :math:`\langle i|H|i \rangle` . - + .. c:function:: diag_h_mat_elem_au0_h_au0 @@ -2112,7 +2112,7 @@ Subroutines / functions Computes :math:`\langle i|H|i \rangle` for any determinant :math:`|i\rangle` . Used for wave functions with an additional electron. - + .. c:function:: diag_h_mat_elem_fock @@ -2126,7 +2126,7 @@ Subroutines / functions Computes :math:`\langle i|H|i \rangle` when :math:`i` is at most a double excitation from a reference. - + .. c:function:: diag_h_mat_elem_one_e @@ -2140,7 +2140,7 @@ Subroutines / functions Computes :math:`\langle i|H|i \rangle` . - + .. c:function:: diag_s_mat_elem @@ -2154,7 +2154,7 @@ Subroutines / functions Returns - + .. c:function:: diag_wee_mat_elem @@ -2168,7 +2168,7 @@ Subroutines / functions Computes :math:`\langle i|H|i \rangle` . - + .. c:function:: do_mono_excitation @@ -2182,7 +2182,7 @@ Subroutines / functions Apply the single excitation operator : a^{dager}_(i_particle) a_(i_hole) of spin = ispin on key_in ispin = 1 == alpha ispin = 2 == beta i_ok = 1 == the excitation is possible i_ok = -1 == the excitation is not possible - + .. c:function:: example_determinants @@ -2196,7 +2196,7 @@ Subroutines / functions subroutine that illustrates the main features available in determinants - + .. c:function:: example_determinants_psi_det @@ -2210,7 +2210,7 @@ Subroutines / functions subroutine that illustrates the main features available in determinants using the psi_det/psi_coef - + .. c:function:: fill_h_apply_buffer_no_selection @@ -2224,7 +2224,7 @@ Subroutines / functions Fill the H_apply buffer with determiants for |CISD| - + .. c:function:: filter_connected @@ -2246,7 +2246,7 @@ Subroutines / functions idx(0) is the number of determinants that interact with key1 - + .. c:function:: filter_connected_i_h_psi0 @@ -2266,7 +2266,7 @@ Subroutines / functions idx(0) is the number of determinants that interact with key1 - + .. c:function:: filter_not_connected @@ -2286,7 +2286,7 @@ Subroutines / functions idx(0) is the number of determinants that DO NOT interact with key1 - + .. c:function:: generate_all_alpha_beta_det_products @@ -2300,7 +2300,7 @@ Subroutines / functions Creates a wave function from all possible :math:`\alpha \times \beta` determinants - + .. c:function:: get_all_spin_doubles @@ -2318,7 +2318,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_doubles_1 @@ -2336,7 +2336,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_doubles_2 @@ -2354,7 +2354,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_doubles_3 @@ -2372,7 +2372,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_doubles_4 @@ -2390,7 +2390,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_doubles_n_int @@ -2408,7 +2408,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles @@ -2426,7 +2426,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_1 @@ -2444,7 +2444,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_2 @@ -2462,7 +2462,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_3 @@ -2480,7 +2480,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_4 @@ -2498,7 +2498,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_and_doubles @@ -2518,7 +2518,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_and_doubles_1 @@ -2538,7 +2538,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_and_doubles_2 @@ -2558,7 +2558,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_and_doubles_3 @@ -2578,7 +2578,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_and_doubles_4 @@ -2598,7 +2598,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_and_doubles_n_int @@ -2618,7 +2618,7 @@ Subroutines / functions - + .. c:function:: get_all_spin_singles_n_int @@ -2636,7 +2636,7 @@ Subroutines / functions - + .. c:function:: get_double_excitation @@ -2650,7 +2650,7 @@ Subroutines / functions Returns the two excitation operators between two doubly excited determinants and the phase. - + .. c:function:: get_double_excitation_spin @@ -2664,7 +2664,7 @@ Subroutines / functions Returns the two excitation operators between two doubly excited spin-determinants and the phase. - + .. c:function:: get_excitation @@ -2678,7 +2678,7 @@ Subroutines / functions Returns the excitation operators between two determinants and the phase. - + .. c:function:: get_excitation_degree @@ -2692,7 +2692,7 @@ Subroutines / functions Returns the excitation degree between two determinants. - + .. c:function:: get_excitation_degree_spin @@ -2706,7 +2706,7 @@ Subroutines / functions Returns the excitation degree between two determinants. - + .. c:function:: get_excitation_degree_vector @@ -2720,7 +2720,7 @@ Subroutines / functions Applies get_excitation_degree to an array of determinants. - + .. c:function:: get_excitation_degree_vector_double_alpha_beta @@ -2734,7 +2734,7 @@ Subroutines / functions Applies get_excitation_degree to an array of determinants and return only the single excitations and the connections through exchange integrals. - + .. c:function:: get_excitation_degree_vector_mono @@ -2748,7 +2748,7 @@ Subroutines / functions Applies get_excitation_degree to an array of determinants and returns only the single excitations. - + .. c:function:: get_excitation_degree_vector_mono_or_exchange @@ -2762,7 +2762,7 @@ Subroutines / functions Applies get_excitation_degree to an array of determinants and return only the single excitations and the connections through exchange integrals. - + .. c:function:: get_excitation_degree_vector_mono_or_exchange_verbose @@ -2776,7 +2776,7 @@ Subroutines / functions Applies get_excitation_degree to an array of determinants and return only the single excitations and the connections through exchange integrals. - + .. c:function:: get_excitation_spin @@ -2790,7 +2790,7 @@ Subroutines / functions Returns the excitation operators between two determinants and the phase. - + .. c:function:: get_index_in_psi_det_alpha_unique @@ -2804,7 +2804,7 @@ Subroutines / functions Returns the index of the determinant in the :c:data:`psi_det_alpha_unique` array - + .. c:function:: get_index_in_psi_det_beta_unique @@ -2818,7 +2818,7 @@ Subroutines / functions Returns the index of the determinant in the :c:data:`psi_det_beta_unique` array - + .. c:function:: get_index_in_psi_det_sorted_bit @@ -2832,7 +2832,7 @@ Subroutines / functions Returns the index of the determinant in the ``psi_det_sorted_bit`` array - + .. c:function:: get_mono_excitation @@ -2846,7 +2846,7 @@ Subroutines / functions Returns the excitation operator between two singly excited determinants and the phase. - + .. c:function:: get_mono_excitation_from_fock @@ -2860,7 +2860,7 @@ Subroutines / functions - + .. c:function:: get_mono_excitation_spin @@ -2874,7 +2874,7 @@ Subroutines / functions Returns the excitation operator between two singly excited determinants and the phase. - + .. c:function:: get_phase @@ -2888,7 +2888,7 @@ Subroutines / functions Returns the phase between key1 and key2. - + .. c:function:: get_phasemask_bit @@ -2902,7 +2902,7 @@ Subroutines / functions - + .. c:function:: get_s2 @@ -2916,7 +2916,7 @@ Subroutines / functions Returns - + .. c:function:: get_uj_s2_ui @@ -2930,7 +2930,7 @@ Subroutines / functions returns the matrix elements of S^2 "s2(i,j)" between the "nstates" states psi_coefs_tmp(:,i) and psi_coefs_tmp(:,j) - + .. c:function:: getmobiles @@ -2944,7 +2944,7 @@ Subroutines / functions - + .. c:function:: i_h_j @@ -2958,7 +2958,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants. - + .. c:function:: i_h_j_double_alpha_beta @@ -2972,7 +2972,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants differing by an opposite-spin double excitation. - + .. c:function:: i_h_j_double_spin @@ -2986,7 +2986,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants differing by a same-spin double excitation. - + .. c:function:: i_h_j_mono_spin @@ -3000,7 +3000,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants differing by a single excitation. - + .. c:function:: i_h_j_mono_spin_one_e @@ -3014,7 +3014,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants differing by a single excitation. - + .. c:function:: i_h_j_one_e @@ -3028,7 +3028,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants. - + .. c:function:: i_h_j_s2 @@ -3042,7 +3042,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` and :math:`\langle i|S^2|j \rangle` where :math:`i` and :math:`j` are determinants. - + .. c:function:: i_h_j_two_e @@ -3056,7 +3056,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants. - + .. c:function:: i_h_j_verbose @@ -3070,7 +3070,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants. - + .. c:function:: i_h_psi @@ -3086,7 +3086,7 @@ Subroutines / functions Uses filter_connected_i_H_psi0 to get all the :math:`|J \rangle` to which :math:`|i \rangle` is connected. The i_H_psi_minilist is much faster but requires to build the minilists. - + .. c:function:: i_h_psi_minilist @@ -3102,7 +3102,7 @@ Subroutines / functions Uses filter_connected_i_H_psi0 to get all the :math:`|J \rangle` to which :math:`|i \rangle` is connected. The :math:`|J\rangle` are searched in short pre-computed lists. - + .. c:function:: i_s2_psi_minilist @@ -3118,7 +3118,7 @@ Subroutines / functions Uses filter_connected_i_H_psi0 to get all the :math:`|J\rangle` to which :math:`|i\rangle` is connected. The :math:`|J\rangle` are searched in short pre-computed lists. - + .. c:function:: i_wee_j_mono @@ -3132,7 +3132,7 @@ Subroutines / functions Returns :math:`\langle i|H|j \rangle` where :math:`i` and :math:`j` are determinants differing by a single excitation. - + .. c:function:: is_connected_to @@ -3146,7 +3146,7 @@ Subroutines / functions Returns |true| if determinant ``key`` is connected to ``keys`` - + .. c:function:: is_connected_to_by_mono @@ -3160,7 +3160,7 @@ Subroutines / functions Returns |true| is ``key`` is connected to ``keys`` by a single excitation. - + .. c:function:: is_in_wavefunction @@ -3174,7 +3174,7 @@ Subroutines / functions |true| if the determinant ``det`` is in the wave function - + .. c:function:: is_spin_flip_possible @@ -3188,7 +3188,7 @@ Subroutines / functions returns |true| if the spin-flip of spin ispin in the orbital i_flip is possible on key_in - + .. c:function:: make_s2_eigenfunction @@ -3202,7 +3202,7 @@ Subroutines / functions - + .. c:function:: mono_excitation_wee @@ -3216,7 +3216,7 @@ Subroutines / functions - + .. c:function:: occ_pattern_of_det @@ -3236,7 +3236,7 @@ Subroutines / functions - + .. c:function:: occ_pattern_search_key @@ -3250,7 +3250,7 @@ Subroutines / functions Return an integer*8 corresponding to a determinant index for searching - + .. c:function:: occ_pattern_to_dets @@ -3264,7 +3264,7 @@ Subroutines / functions Generate all possible determinants for a give occ_pattern - + .. c:function:: occ_pattern_to_dets_size @@ -3278,7 +3278,7 @@ Subroutines / functions Number of possible determinants for a given occ_pattern - + .. c:function:: pull_pt2 @@ -3292,7 +3292,7 @@ Subroutines / functions Pull |PT2| calculation in the collector - + .. c:function:: push_pt2 @@ -3306,7 +3306,7 @@ Subroutines / functions Push |PT2| calculation to the collector - + .. c:function:: read_dets @@ -3320,7 +3320,7 @@ Subroutines / functions Reads the determinants from the |EZFIO| file - + .. c:function:: remove_duplicates_in_psi_det @@ -3334,7 +3334,7 @@ Subroutines / functions Removes duplicate determinants in the wave function. - + .. c:function:: resize_h_apply_buffer @@ -3348,7 +3348,7 @@ Subroutines / functions Resizes the H_apply buffer of proc iproc. The buffer lock should be set before calling this function. - + .. c:function:: routine_example_psi_det @@ -3362,7 +3362,7 @@ Subroutines / functions subroutine that illustrates the main features available in determinants using many determinants - + .. c:function:: s2_u_0 @@ -3380,7 +3380,7 @@ Subroutines / functions - + .. c:function:: s2_u_0_nstates @@ -3398,7 +3398,7 @@ Subroutines / functions - + .. c:function:: save_natural_mos @@ -3412,7 +3412,7 @@ Subroutines / functions Save natural orbitals, obtained by diagonalization of the one-body density matrix in the |MO| basis - + .. c:function:: save_ref_determinant @@ -3426,7 +3426,7 @@ Subroutines / functions - + .. c:function:: save_wavefunction @@ -3440,7 +3440,7 @@ Subroutines / functions Save the wave function into the |EZFIO| file - + .. c:function:: save_wavefunction_general @@ -3454,7 +3454,7 @@ Subroutines / functions Save the wave function into the |EZFIO| file - + .. c:function:: save_wavefunction_specified @@ -3468,7 +3468,7 @@ Subroutines / functions Save the wave function into the |EZFIO| file - + .. c:function:: save_wavefunction_truncated @@ -3482,7 +3482,7 @@ Subroutines / functions Save the wave function into the |EZFIO| file - + .. c:function:: save_wavefunction_unsorted @@ -3496,7 +3496,7 @@ Subroutines / functions Save the wave function into the |EZFIO| file - + .. c:function:: set_natural_mos @@ -3510,7 +3510,7 @@ Subroutines / functions Set natural orbitals, obtained by diagonalization of the one-body density matrix in the |MO| basis - + .. c:function:: sort_dets_ab @@ -3524,7 +3524,7 @@ Subroutines / functions Deprecated routine - + .. c:function:: sort_dets_ab_v @@ -3538,7 +3538,7 @@ Subroutines / functions Deprecated routine - + .. c:function:: sort_dets_ba_v @@ -3552,7 +3552,7 @@ Subroutines / functions Deprecated routine - + .. c:function:: sort_dets_by_det_search_key @@ -3570,7 +3570,7 @@ Subroutines / functions - + .. c:function:: spin_det_search_key @@ -3584,7 +3584,7 @@ Subroutines / functions Returns an integer(8) corresponding to a determinant index for searching - + .. c:function:: tamiser @@ -3598,7 +3598,7 @@ Subroutines / functions - + .. c:function:: u_0_s2_u_0 @@ -3616,7 +3616,7 @@ Subroutines / functions - + .. c:function:: wf_of_psi_bilinear_matrix @@ -3630,7 +3630,7 @@ Subroutines / functions Generate a wave function containing all possible products of :math:`\alpha` and :math:`\beta` determinants - + .. c:function:: write_spindeterminants @@ -3644,7 +3644,7 @@ Subroutines / functions - + .. c:function:: zmq_get_n_det @@ -3658,7 +3658,7 @@ Subroutines / functions Get N_det from the qp_run scheduler - + .. c:function:: zmq_get_n_det_alpha_unique @@ -3672,7 +3672,7 @@ Subroutines / functions Get N_det_alpha_unique from the qp_run scheduler - + .. c:function:: zmq_get_n_det_beta_unique @@ -3686,7 +3686,7 @@ Subroutines / functions Get N_det_beta_unique from the qp_run scheduler - + .. c:function:: zmq_get_n_states @@ -3700,7 +3700,7 @@ Subroutines / functions Get N_states from the qp_run scheduler - + .. c:function:: zmq_get_psi @@ -3714,7 +3714,7 @@ Subroutines / functions Get the wave function from the qp_run scheduler - + .. c:function:: zmq_get_psi_bilinear @@ -3728,7 +3728,7 @@ Subroutines / functions Get the wave function from the qp_run scheduler - + .. c:function:: zmq_get_psi_bilinear_matrix_columns @@ -3742,7 +3742,7 @@ Subroutines / functions Get psi_bilinear_matrix_columns on the qp_run scheduler - + .. c:function:: zmq_get_psi_bilinear_matrix_order @@ -3756,7 +3756,7 @@ Subroutines / functions Get psi_bilinear_matrix_order on the qp_run scheduler - + .. c:function:: zmq_get_psi_bilinear_matrix_rows @@ -3770,7 +3770,7 @@ Subroutines / functions Get psi_bilinear_matrix_rows on the qp_run scheduler - + .. c:function:: zmq_get_psi_bilinear_matrix_values @@ -3784,7 +3784,7 @@ Subroutines / functions get psi_bilinear_matrix_values on the qp_run scheduler - + .. c:function:: zmq_get_psi_coef @@ -3798,7 +3798,7 @@ Subroutines / functions get psi_coef on the qp_run scheduler - + .. c:function:: zmq_get_psi_det @@ -3812,7 +3812,7 @@ Subroutines / functions Get psi_det on the qp_run scheduler - + .. c:function:: zmq_get_psi_det_alpha_unique @@ -3826,7 +3826,7 @@ Subroutines / functions Get psi_det_alpha_unique on the qp_run scheduler - + .. c:function:: zmq_get_psi_det_beta_unique @@ -3840,7 +3840,7 @@ Subroutines / functions Get psi_det_beta_unique on the qp_run scheduler - + .. c:function:: zmq_get_psi_det_size @@ -3854,7 +3854,7 @@ Subroutines / functions Get psi_det_size from the qp_run scheduler - + .. c:function:: zmq_get_psi_notouch @@ -3868,7 +3868,7 @@ Subroutines / functions Get the wave function from the qp_run scheduler - + .. c:function:: zmq_put_n_det @@ -3882,7 +3882,7 @@ Subroutines / functions Put N_det on the qp_run scheduler - + .. c:function:: zmq_put_n_det_alpha_unique @@ -3896,7 +3896,7 @@ Subroutines / functions Put N_det_alpha_unique on the qp_run scheduler - + .. c:function:: zmq_put_n_det_beta_unique @@ -3910,7 +3910,7 @@ Subroutines / functions Put N_det_beta_unique on the qp_run scheduler - + .. c:function:: zmq_put_n_states @@ -3924,7 +3924,7 @@ Subroutines / functions Put N_states on the qp_run scheduler - + .. c:function:: zmq_put_psi @@ -3938,7 +3938,7 @@ Subroutines / functions Put the wave function on the qp_run scheduler - + .. c:function:: zmq_put_psi_bilinear @@ -3952,7 +3952,7 @@ Subroutines / functions Put the wave function on the qp_run scheduler - + .. c:function:: zmq_put_psi_bilinear_matrix_columns @@ -3966,7 +3966,7 @@ Subroutines / functions Put psi_bilinear_matrix_columns on the qp_run scheduler - + .. c:function:: zmq_put_psi_bilinear_matrix_order @@ -3980,7 +3980,7 @@ Subroutines / functions Put psi_bilinear_matrix_order on the qp_run scheduler - + .. c:function:: zmq_put_psi_bilinear_matrix_rows @@ -3994,7 +3994,7 @@ Subroutines / functions Put psi_bilinear_matrix_rows on the qp_run scheduler - + .. c:function:: zmq_put_psi_bilinear_matrix_values @@ -4008,7 +4008,7 @@ Subroutines / functions Put psi_bilinear_matrix_values on the qp_run scheduler - + .. c:function:: zmq_put_psi_coef @@ -4022,7 +4022,7 @@ Subroutines / functions Put psi_coef on the qp_run scheduler - + .. c:function:: zmq_put_psi_det @@ -4036,7 +4036,7 @@ Subroutines / functions Put psi_det on the qp_run scheduler - + .. c:function:: zmq_put_psi_det_alpha_unique @@ -4050,7 +4050,7 @@ Subroutines / functions Put psi_det_alpha_unique on the qp_run scheduler - + .. c:function:: zmq_put_psi_det_beta_unique @@ -4064,7 +4064,7 @@ Subroutines / functions Put psi_det_beta_unique on the qp_run scheduler - + .. c:function:: zmq_put_psi_det_size diff --git a/docs/source/modules/dft_keywords.rst b/docs/source/modules/dft_keywords.rst index 8a5fe1a5..9e94a05b 100644 --- a/docs/source/modules/dft_keywords.rst +++ b/docs/source/modules/dft_keywords.rst @@ -1,9 +1,9 @@ -.. _dft_keywords: - -.. program:: dft_keywords - -.. default-role:: option - +.. _dft_keywords: + +.. program:: dft_keywords + +.. default-role:: option + ============ dft_keywords ============ @@ -14,37 +14,37 @@ This module contains the main keywords related to a DFT calculation or RS-DFT ca * :option:`dft_keywords correlation_functional` * :option:`dft_keywords HF_exchange` : only relevent for the :c:func:`rs_ks_scf` program -The keyword for the **range separation parameter** :math:`\mu` is the :option:`ao_two_e_erf_ints mu_erf` keyword. +The keyword for the **range separation parameter** :math:`\mu` is the :option:`ao_two_e_erf_ints mu_erf` keyword. The keyword for the type of density used in RS-DFT calculation with a multi-configurational wave function is the :option:`density_for_dft density_for_dft` keyword. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: exchange_functional - + name of the exchange functional - + Default: short_range_LDA - + .. option:: correlation_functional - + name of the correlation functional - + Default: short_range_LDA - + .. option:: HF_exchange - + Percentage of HF exchange in the DFT model - + Default: 0. - - -Providers ---------- - + + +Providers +--------- + .. c:var:: dft_type diff --git a/docs/source/modules/dft_utils_in_r.rst b/docs/source/modules/dft_utils_in_r.rst index 0c4c49d8..f2eaa79b 100644 --- a/docs/source/modules/dft_utils_in_r.rst +++ b/docs/source/modules/dft_utils_in_r.rst @@ -1,16 +1,16 @@ -.. _dft_utils_in_r: - -.. program:: dft_utils_in_r - -.. default-role:: option - +.. _dft_utils_in_r: + +.. program:: dft_utils_in_r + +.. default-role:: option + ============== dft_utils_in_r ============== -This module contains most of the fundamental quantities (AOs, MOs or density derivatives) evaluated in real-space representation that are needed for the various DFT modules. +This module contains most of the fundamental quantities (AOs, MOs or density derivatives) evaluated in real-space representation that are needed for the various DFT modules. -As these quantities might be used and re-used, the values at each point of the grid are stored (see ``becke_numerical_grid`` for more information on the grid). +As these quantities might be used and re-used, the values at each point of the grid are stored (see ``becke_numerical_grid`` for more information on the grid). The main providers for this module are: @@ -18,12 +18,12 @@ The main providers for this module are: * `mos_in_r_array`: values of the |MO| basis on the grid point. * `one_e_dm_and_grad_alpha_in_r`: values of the density and its gradienst on the grid points. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: aos_grad_in_r_array @@ -42,7 +42,7 @@ Providers k = 1 : x, k= 2, y, k 3, z - + .. c:var:: aos_grad_in_r_array_transp @@ -61,7 +61,7 @@ Providers k = 1 : x, k= 2, y, k 3, z - + .. c:var:: aos_grad_in_r_array_transp_xyz @@ -80,7 +80,7 @@ Providers k = 1 : x, k= 2, y, k 3, z - + .. c:var:: aos_in_r_array @@ -96,7 +96,7 @@ Providers aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point - + .. c:var:: aos_in_r_array_transp @@ -112,7 +112,7 @@ Providers aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point - + .. c:var:: aos_lapl_in_r_array @@ -130,7 +130,7 @@ Providers k = 1 : x, k= 2, y, k 3, z - + .. c:var:: aos_lapl_in_r_array_transp @@ -148,7 +148,7 @@ Providers k = 1 : x, k= 2, y, k 3, z - + .. c:var:: mos_grad_in_r_array @@ -165,7 +165,7 @@ Providers k = 1 : x, k= 2, y, k 3, z - + .. c:var:: mos_in_r_array @@ -181,7 +181,7 @@ Providers mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point - + .. c:var:: mos_in_r_array_transp @@ -197,7 +197,7 @@ Providers mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point - + .. c:var:: mos_lapl_in_r_array @@ -214,7 +214,7 @@ Providers k = 1 : x, k= 2, y, k 3, z - + .. c:var:: one_e_dm_alpha_at_r @@ -228,7 +228,7 @@ Providers one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate) where r_i is the ith point of the grid and istate is the state number - + .. c:var:: one_e_dm_alpha_in_r @@ -242,7 +242,7 @@ Providers - + .. c:var:: one_e_dm_and_grad_alpha_in_r @@ -258,7 +258,7 @@ Providers one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number - + .. c:var:: one_e_dm_and_grad_beta_in_r @@ -274,7 +274,7 @@ Providers one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number - + .. c:var:: one_e_dm_beta_at_r @@ -288,7 +288,7 @@ Providers one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate) where r_i is the ith point of the grid and istate is the state number - + .. c:var:: one_e_dm_beta_in_r @@ -302,7 +302,7 @@ Providers - + .. c:var:: one_e_grad_2_dm_alpha_at_r @@ -318,7 +318,7 @@ Providers one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number - + .. c:var:: one_e_grad_2_dm_beta_at_r @@ -334,11 +334,11 @@ Providers one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r @@ -352,7 +352,7 @@ Subroutines / functions input : r(1) ==> r(1) = x, r(2) = y, r(3) = z output : dm_a = alpha density evaluated at r : dm_b = beta density evaluated at r : aos_array(i) = ao(i) evaluated at r : grad_dm_a(1) = X gradient of the alpha density evaluated in r : grad_dm_a(1) = X gradient of the beta density evaluated in r : grad_aos_array(1) = X gradient of the aos(i) evaluated at r - + .. c:function:: dm_dft_alpha_beta_and_all_aos_at_r @@ -366,7 +366,7 @@ Subroutines / functions input: r(1) ==> r(1) = x, r(2) = y, r(3) = z output : dm_a = alpha density evaluated at r output : dm_b = beta density evaluated at r output : aos_array(i) = ao(i) evaluated at r - + .. c:function:: dm_dft_alpha_beta_at_r diff --git a/docs/source/modules/dft_utils_one_e.rst b/docs/source/modules/dft_utils_one_e.rst index e07bb442..d4fd5abd 100644 --- a/docs/source/modules/dft_utils_one_e.rst +++ b/docs/source/modules/dft_utils_one_e.rst @@ -1,15 +1,15 @@ -.. _dft_utils_one_e: - -.. program:: dft_utils_one_e - -.. default-role:: option - +.. _dft_utils_one_e: + +.. program:: dft_utils_one_e + +.. default-role:: option + =============== dft_utils_one_e =============== -This module contains all the one-body related quantities needed to perform DFT or RS-DFT calculations. -Therefore, it contains most of the properties which depends on the one-body density and density matrix. +This module contains all the one-body related quantities needed to perform DFT or RS-DFT calculations. +Therefore, it contains most of the properties which depends on the one-body density and density matrix. The most important files and variables are: @@ -17,10 +17,10 @@ The most important files and variables are: * The general *providers* for the x/c potentials in :file:`pot_general.irp.f` * The short-range hartree operator and all related quantities in :file:`sr_coulomb.irp.f` -These *providers* will be used in many DFT-related programs, such as :file:`ks_scf.irp.f` or :file:`rs_ks_scf.irp.f`. -It is also needed to compute the effective one-body operator needed in multi-determinant RS-DFT (see plugins by eginer). +These *providers* will be used in many DFT-related programs, such as :file:`ks_scf.irp.f` or :file:`rs_ks_scf.irp.f`. +It is also needed to compute the effective one-body operator needed in multi-determinant RS-DFT (see plugins by eginer). -Some other interesting quantities: +Some other interesting quantities: * The LDA and PBE *providers* for the x/c energies in :file:`e_xc.irp.f` and :file:`sr_exc.irp.f` * The LDA and PBE *providers* for the x/c potentials on the AO basis in :file:`pot_ao.irp.f` and :file:`sr_pot_ao.irp.f` @@ -28,12 +28,44 @@ Some other interesting quantities: * LDA and PBE short-range functionals *subroutines* in :file:`exc_sr_lda.irp.f` and :file:`exc_sr_pbe.irp.f` + + + +Providers +--------- + + +.. c:var:: ao_effective_one_e_potential + + .. code:: text + + double precision, allocatable :: ao_effective_one_e_potential (ao_num,ao_num,N_states) + double precision, allocatable :: ao_effective_one_e_potential_without_kin (ao_num,ao_num,N_states) + + File: :file:`effective_pot.irp.f` + + ao_effective_one_e_potential(i,j) = :math:`\rangle i_{AO}| v_{H}^{sr} |j_{AO}\rangle + \rangle i_{AO}| h_{core} |j_{AO}\rangle + \rangle i_{AO}|v_{xc} |j_{AO}\rangle` -Providers ---------- + + +.. c:var:: ao_effective_one_e_potential_without_kin + + .. code:: text + + double precision, allocatable :: ao_effective_one_e_potential (ao_num,ao_num,N_states) + double precision, allocatable :: ao_effective_one_e_potential_without_kin (ao_num,ao_num,N_states) + + File: :file:`effective_pot.irp.f` + + ao_effective_one_e_potential(i,j) = :math:`\rangle i_{AO}| v_{H}^{sr} |j_{AO}\rangle + \rangle i_{AO}| h_{core} |j_{AO}\rangle + \rangle i_{AO}|v_{xc} |j_{AO}\rangle` + + + + + .. c:var:: aos_dsr_vc_alpha_pbe_w @@ -57,7 +89,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_dsr_vc_beta_pbe_w @@ -81,7 +113,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_dsr_vx_alpha_pbe_w @@ -105,7 +137,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_dsr_vx_beta_pbe_w @@ -129,7 +161,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_dvc_alpha_pbe_w @@ -153,7 +185,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_dvc_beta_pbe_w @@ -177,7 +209,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_dvx_alpha_pbe_w @@ -201,7 +233,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_dvx_beta_pbe_w @@ -225,7 +257,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vc_alpha_lda_w @@ -241,7 +273,7 @@ Providers aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vc_alpha_pbe_w @@ -265,7 +297,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vc_beta_lda_w @@ -281,7 +313,7 @@ Providers aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vc_beta_pbe_w @@ -305,7 +337,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vx_alpha_lda_w @@ -321,7 +353,7 @@ Providers aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vx_alpha_pbe_w @@ -345,7 +377,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vx_beta_lda_w @@ -361,7 +393,7 @@ Providers aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_sr_vx_beta_pbe_w @@ -385,7 +417,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vc_alpha_lda_w @@ -401,7 +433,7 @@ Providers aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vc_alpha_pbe_w @@ -425,7 +457,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vc_beta_lda_w @@ -441,7 +473,7 @@ Providers aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vc_beta_pbe_w @@ -465,7 +497,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vx_alpha_lda_w @@ -481,7 +513,7 @@ Providers aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vx_alpha_pbe_w @@ -505,7 +537,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vx_beta_lda_w @@ -521,7 +553,7 @@ Providers aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: aos_vx_beta_pbe_w @@ -545,7 +577,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: effective_one_e_potential @@ -563,7 +595,7 @@ Providers shifted_effective_one_e_potential_without_kin = effective_one_e_potential_without_kin + shifting_constant on the diagonal - + .. c:var:: effective_one_e_potential_without_kin @@ -581,7 +613,7 @@ Providers shifted_effective_one_e_potential_without_kin = effective_one_e_potential_without_kin + shifting_constant on the diagonal - + .. c:var:: energy_c @@ -595,7 +627,7 @@ Providers correlation and exchange energies general providers. - + .. c:var:: energy_c_lda @@ -609,7 +641,7 @@ Providers exchange/correlation energy with the short range LDA functional - + .. c:var:: energy_c_pbe @@ -623,7 +655,7 @@ Providers exchange/correlation energy with the short range PBE functional - + .. c:var:: energy_sr_c_lda @@ -637,7 +669,7 @@ Providers exchange/correlation energy with the short range LDA functional - + .. c:var:: energy_sr_c_pbe @@ -651,7 +683,7 @@ Providers exchange/correlation energy with the short range PBE functional - + .. c:var:: energy_sr_x_lda @@ -665,7 +697,7 @@ Providers exchange/correlation energy with the short range LDA functional - + .. c:var:: energy_sr_x_pbe @@ -679,7 +711,7 @@ Providers exchange/correlation energy with the short range PBE functional - + .. c:var:: energy_x @@ -693,7 +725,7 @@ Providers correlation and exchange energies general providers. - + .. c:var:: energy_x_lda @@ -707,7 +739,7 @@ Providers exchange/correlation energy with the short range LDA functional - + .. c:var:: energy_x_pbe @@ -721,7 +753,7 @@ Providers exchange/correlation energy with the short range PBE functional - + .. c:var:: gga_sr_type_functionals @@ -736,7 +768,7 @@ Providers routine that helps in building the x/c potentials on the AO basis for a GGA functional with a short-range interaction - + .. c:var:: gga_type_functionals @@ -751,7 +783,7 @@ Providers routine that helps in building the x/c potentials on the AO basis for a GGA functional - + .. c:var:: grad_aos_dsr_vc_alpha_pbe_w @@ -775,7 +807,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: grad_aos_dsr_vc_beta_pbe_w @@ -799,7 +831,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: grad_aos_dsr_vx_alpha_pbe_w @@ -823,7 +855,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: grad_aos_dsr_vx_beta_pbe_w @@ -847,7 +879,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: grad_aos_dvc_alpha_pbe_w @@ -871,7 +903,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: grad_aos_dvc_beta_pbe_w @@ -895,7 +927,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: grad_aos_dvx_alpha_pbe_w @@ -919,7 +951,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: grad_aos_dvx_beta_pbe_w @@ -943,7 +975,7 @@ Providers aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) - + .. c:var:: mu_erf_dft @@ -956,7 +988,7 @@ Providers range separation parameter used in RS-DFT. It is set to mu_erf in order to be consistent with the two electrons integrals erf - + .. c:var:: potential_c_alpha_ao @@ -972,7 +1004,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the AO basis - + .. c:var:: potential_c_alpha_ao_lda @@ -988,7 +1020,7 @@ Providers short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis - + .. c:var:: potential_c_alpha_ao_pbe @@ -1004,7 +1036,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_c_alpha_mo @@ -1020,7 +1052,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the MO basis - + .. c:var:: potential_c_beta_ao @@ -1036,7 +1068,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the AO basis - + .. c:var:: potential_c_beta_ao_lda @@ -1052,7 +1084,7 @@ Providers short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis - + .. c:var:: potential_c_beta_ao_pbe @@ -1068,7 +1100,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_c_beta_mo @@ -1084,7 +1116,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the MO basis - + .. c:var:: potential_sr_c_alpha_ao_lda @@ -1098,7 +1130,7 @@ Providers short range correlation alpha/beta potentials with LDA functional on the |AO| basis - + .. c:var:: potential_sr_c_alpha_ao_pbe @@ -1114,7 +1146,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_sr_c_beta_ao_lda @@ -1128,7 +1160,7 @@ Providers short range correlation alpha/beta potentials with LDA functional on the |AO| basis - + .. c:var:: potential_sr_c_beta_ao_pbe @@ -1144,7 +1176,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_sr_x_alpha_ao_lda @@ -1158,7 +1190,7 @@ Providers short range exchange alpha/beta potentials with LDA functional on the |AO| basis - + .. c:var:: potential_sr_x_alpha_ao_pbe @@ -1174,7 +1206,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_sr_x_beta_ao_lda @@ -1188,7 +1220,7 @@ Providers short range exchange alpha/beta potentials with LDA functional on the |AO| basis - + .. c:var:: potential_sr_x_beta_ao_pbe @@ -1204,7 +1236,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_x_alpha_ao @@ -1220,7 +1252,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the AO basis - + .. c:var:: potential_x_alpha_ao_lda @@ -1236,7 +1268,7 @@ Providers short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis - + .. c:var:: potential_x_alpha_ao_pbe @@ -1252,7 +1284,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_x_alpha_mo @@ -1268,7 +1300,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the MO basis - + .. c:var:: potential_x_beta_ao @@ -1284,7 +1316,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the AO basis - + .. c:var:: potential_x_beta_ao_lda @@ -1300,7 +1332,7 @@ Providers short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis - + .. c:var:: potential_x_beta_ao_pbe @@ -1316,7 +1348,7 @@ Providers exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis - + .. c:var:: potential_x_beta_mo @@ -1332,7 +1364,7 @@ Providers general providers for the alpha/beta exchange/correlation potentials on the MO basis - + .. c:var:: psi_dft_energy_h_core @@ -1347,7 +1379,7 @@ Providers kinetic, electron-nuclear and total h_core energy computed with the density matrix one_e_dm_mo_beta_for_dft+one_e_dm_mo_alpha_for_dft - + .. c:var:: psi_dft_energy_kinetic @@ -1362,7 +1394,7 @@ Providers kinetic, electron-nuclear and total h_core energy computed with the density matrix one_e_dm_mo_beta_for_dft+one_e_dm_mo_alpha_for_dft - + .. c:var:: psi_dft_energy_nuclear_elec @@ -1377,7 +1409,7 @@ Providers kinetic, electron-nuclear and total h_core energy computed with the density matrix one_e_dm_mo_beta_for_dft+one_e_dm_mo_alpha_for_dft - + .. c:var:: shifting_constant @@ -1390,7 +1422,7 @@ Providers shifting_constant = (E_{Hxc} - <\Psi | V_{Hxc} | \Psi>) / N_elec constant to add to the potential in order to obtain the variational energy as the eigenvalue of the effective long-range Hamiltonian (see original paper of Levy PRL 113, 113002 (2014), equation (17) ) - + .. c:var:: short_range_hartree @@ -1408,7 +1440,7 @@ Providers = :math:`1/2 \int dr \int r' \rho(r) \rho(r') W_{ee}^{sr}` - + .. c:var:: short_range_hartree_operator @@ -1426,7 +1458,7 @@ Providers = :math:`1/2 \int dr \int r' \rho(r) \rho(r') W_{ee}^{sr}` - + .. c:var:: trace_v_h @@ -1441,7 +1473,7 @@ Providers Trace_v_xc = \sum_{i,j} (rho_{ij}_\alpha v^{xc}_{ij}^\alpha + rho_{ij}_\beta v^{xc}_{ij}^\beta) Trace_v_Hxc = \sum_{i,j} v^{H}_{ij} (rho_{ij}_\alpha + rho_{ij}_\beta) Trace_v_Hxc = \sum_{i,j} rho_{ij} v^{Hxc}_{ij} - + .. c:var:: trace_v_hxc @@ -1456,7 +1488,7 @@ Providers Trace_v_xc = \sum_{i,j} (rho_{ij}_\alpha v^{xc}_{ij}^\alpha + rho_{ij}_\beta v^{xc}_{ij}^\beta) Trace_v_Hxc = \sum_{i,j} v^{H}_{ij} (rho_{ij}_\alpha + rho_{ij}_\beta) Trace_v_Hxc = \sum_{i,j} rho_{ij} v^{Hxc}_{ij} - + .. c:var:: trace_v_xc @@ -1471,11 +1503,11 @@ Providers Trace_v_xc = \sum_{i,j} (rho_{ij}_\alpha v^{xc}_{ij}^\alpha + rho_{ij}_\beta v^{xc}_{ij}^\beta) Trace_v_Hxc = \sum_{i,j} v^{H}_{ij} (rho_{ij}_\alpha + rho_{ij}_\beta) Trace_v_Hxc = \sum_{i,j} rho_{ij} v^{Hxc}_{ij} - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: berf @@ -1489,7 +1521,7 @@ Subroutines / functions - + .. c:function:: dberfda @@ -1503,7 +1535,7 @@ Subroutines / functions - + .. c:function:: dpol @@ -1517,7 +1549,7 @@ Subroutines / functions - + .. c:function:: dpold @@ -1531,7 +1563,7 @@ Subroutines / functions - + .. c:function:: dpoldd @@ -1545,7 +1577,7 @@ Subroutines / functions - + .. c:function:: ec_lda @@ -1559,7 +1591,7 @@ Subroutines / functions - + .. c:function:: ec_lda_sr @@ -1573,7 +1605,7 @@ Subroutines / functions - + .. c:function:: ec_only_lda_sr @@ -1587,7 +1619,7 @@ Subroutines / functions - + .. c:function:: ec_pbe_only @@ -1619,7 +1651,7 @@ Subroutines / functions - + .. c:function:: ec_pbe_sr @@ -1661,7 +1693,7 @@ Subroutines / functions vsigmaoo = derivative with respect to the square of the gradient of the psin density - + .. c:function:: ecorrlr @@ -1675,7 +1707,7 @@ Subroutines / functions - + .. c:function:: ecpw @@ -1689,7 +1721,7 @@ Subroutines / functions - + .. c:function:: ex_lda @@ -1703,7 +1735,7 @@ Subroutines / functions - + .. c:function:: ex_lda_sr @@ -1717,7 +1749,7 @@ Subroutines / functions - + .. c:function:: ex_pbe_sr @@ -1731,7 +1763,7 @@ Subroutines / functions mu = range separation parameter rho_a = density alpha rho_b = density beta grd_rho_a_2 = (gradient rho_a)^2 grd_rho_b_2 = (gradient rho_b)^2 grd_rho_a_b = (gradient rho_a).(gradient rho_b) ex = exchange energy density at the density and corresponding gradients of the density vx_rho_a = d ex / d rho_a vx_rho_b = d ex / d rho_b vx_grd_rho_a_2 = d ex / d grd_rho_a_2 vx_grd_rho_b_2 = d ex / d grd_rho_b_2 vx_grd_rho_a_b = d ex / d grd_rho_a_b - + .. c:function:: ex_pbe_sr_only @@ -1745,7 +1777,7 @@ Subroutines / functions rho_a = density alpha rho_b = density beta grd_rho_a_2 = (gradient rho_a)^2 grd_rho_b_2 = (gradient rho_b)^2 grd_rho_a_b = (gradient rho_a).(gradient rho_b) ex = exchange energy density at point r - + .. c:function:: g0d @@ -1759,7 +1791,7 @@ Subroutines / functions - + .. c:function:: g0dd @@ -1773,7 +1805,7 @@ Subroutines / functions - + .. c:function:: g0f @@ -1787,7 +1819,7 @@ Subroutines / functions - + .. c:function:: gpw @@ -1801,7 +1833,7 @@ Subroutines / functions - + .. c:function:: grad_rho_ab_to_grad_rho_oc @@ -1815,7 +1847,7 @@ Subroutines / functions - + .. c:function:: qrpa @@ -1829,7 +1861,7 @@ Subroutines / functions - + .. c:function:: qrpad @@ -1843,7 +1875,7 @@ Subroutines / functions - + .. c:function:: qrpadd @@ -1857,7 +1889,7 @@ Subroutines / functions - + .. c:function:: rho_ab_to_rho_oc @@ -1871,7 +1903,7 @@ Subroutines / functions - + .. c:function:: rho_oc_to_rho_ab @@ -1885,7 +1917,7 @@ Subroutines / functions - + .. c:function:: v_grad_rho_oc_to_v_grad_rho_ab @@ -1899,7 +1931,7 @@ Subroutines / functions - + .. c:function:: v_rho_ab_to_v_rho_oc @@ -1913,7 +1945,7 @@ Subroutines / functions - + .. c:function:: v_rho_oc_to_v_rho_ab @@ -1927,7 +1959,7 @@ Subroutines / functions - + .. c:function:: vcorrlr diff --git a/docs/source/modules/dressing.rst b/docs/source/modules/dressing.rst index a4b3285d..dbe51dd9 100644 --- a/docs/source/modules/dressing.rst +++ b/docs/source/modules/dressing.rst @@ -1,9 +1,9 @@ -.. _dressing: - -.. program:: dressing - -.. default-role:: option - +.. _dressing: + +.. program:: dressing + +.. default-role:: option + ========= dress_zmq ========= @@ -11,26 +11,26 @@ dress_zmq Module to facilitate the construction of modules using dressed Hamiltonians, parallelized with |ZeroMQ|. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: thresh_dressed_ci - + Threshold on the convergence of the dressed |CI| energy - + Default: 1.e-5 - + .. option:: n_it_max_dressed_ci - + Maximum number of dressed |CI| iterations - + Default: 10 - + .. option:: dress_relative_error - + Stop stochastic dressing when the relative error is smaller than :option:`perturbation PT2_relative_error` - + Default: 0.001 diff --git a/docs/source/modules/electrons.rst b/docs/source/modules/electrons.rst index 97fee97c..2fbc6e73 100644 --- a/docs/source/modules/electrons.rst +++ b/docs/source/modules/electrons.rst @@ -1,9 +1,9 @@ -.. _electrons: - -.. program:: electrons - -.. default-role:: option - +.. _electrons: + +.. program:: electrons + +.. default-role:: option + ========= electrons ========= @@ -21,32 +21,32 @@ Assumptions * `elec_alpha_num` >= `elec_beta_num` - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: elec_alpha_num - + Numbers of electrons alpha ("up") - - + + .. option:: elec_beta_num - + Numbers of electrons beta ("down") - - + + .. option:: elec_num - + Numbers total of electrons (alpha + beta) - + Default: = electrons.elec_alpha_num + electrons.elec_beta_num - - -Providers ---------- - + + +Providers +--------- + .. c:var:: elec_num @@ -60,7 +60,7 @@ Providers Numbers of alpha ("up") , beta ("down") and total electrons - + .. c:var:: elec_num_tab diff --git a/docs/source/modules/ezfio_files.rst b/docs/source/modules/ezfio_files.rst index 7bfdc840..0901cb1a 100644 --- a/docs/source/modules/ezfio_files.rst +++ b/docs/source/modules/ezfio_files.rst @@ -1,9 +1,9 @@ -.. _ezfio_files: - -.. program:: ezfio_files - -.. default-role:: option - +.. _ezfio_files: + +.. program:: ezfio_files + +.. default-role:: option + =========== ezfio_files =========== @@ -12,12 +12,12 @@ This modules essentially contains the name of the |EZFIO| directory in the :c:data:`ezfio_filename` variable. This is read as the first argument of the command-line, or as the :envvar:`QP_INPUT` environment variable. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: ezfio_filename @@ -30,7 +30,7 @@ Providers Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment variable if it is set, or as the 1st argument of the command line. - + .. c:var:: ezfio_work_dir @@ -43,7 +43,7 @@ Providers EZFIO/work/ - + .. c:var:: output_cpu_time_0 @@ -57,7 +57,7 @@ Providers Initial CPU and wall times when printing in the output files - + .. c:var:: output_wall_time_0 @@ -71,11 +71,11 @@ Providers Initial CPU and wall times when printing in the output files - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: getunitandopen @@ -93,7 +93,7 @@ Subroutines / functions - + .. c:function:: write_bool @@ -107,7 +107,7 @@ Subroutines / functions Write an logical value in output - + .. c:function:: write_double @@ -121,7 +121,7 @@ Subroutines / functions Write a double precision value in output - + .. c:function:: write_int @@ -135,7 +135,7 @@ Subroutines / functions Write an integer value in output - + .. c:function:: write_time diff --git a/docs/source/modules/fci.rst b/docs/source/modules/fci.rst index 4be5b4eb..9f08fb65 100644 --- a/docs/source/modules/fci.rst +++ b/docs/source/modules/fci.rst @@ -1,9 +1,9 @@ -.. _fci: - -.. program:: fci - -.. default-role:: option - +.. _fci: + +.. program:: fci + +.. default-role:: option + === fci === @@ -20,25 +20,25 @@ The user point of view database. -The main keywords/options for this module are: +The main keywords/options for this module are: -* :option:`determinants n_det_max` : maximum number of Slater determinants in the CIPSI wave function. The :command:`fci` program will stop when the size of the CIPSI wave function will exceed :option:`determinants n_det_max`. +* :option:`determinants n_det_max` : maximum number of Slater determinants in the CIPSI wave function. The :command:`fci` program will stop when the size of the CIPSI wave function will exceed :option:`determinants n_det_max`. -* :option:`perturbation pt2_max` : absolute value of the |PT2| to stop the CIPSI calculation. Once the |PT2| :math:`<` :option:`perturbation pt2_max`, the CIPSI calculation stops. +* :option:`perturbation pt2_max` : absolute value of the |PT2| to stop the CIPSI calculation. Once the |PT2| :math:`<` :option:`perturbation pt2_max`, the CIPSI calculation stops. * :option:`determinants n_states` : number of states to consider in the CIPSI calculation. -* :option:`determinants read_wf` : if False, starts with a ROHF-like determinant, if True, starts with the current wave function(s) stored in the |EZFIO| folder. +* :option:`determinants read_wf` : if False, starts with a ROHF-like determinant, if True, starts with the current wave function(s) stored in the |EZFIO| folder. -.. note:: - For a multi-state calculation, it is recommended to start with :c:func:`cis` or :c:func:`cisd` - wave functions as a guess. +.. note:: + For a multi-state calculation, it is recommended to start with :c:func:`cis` or :c:func:`cisd` + wave functions as a guess. -* :option:`determinants s2_eig` : if True, systematically add all the determinants needed to have a pure value of :math:`S^2`. Also, if True, it tracks only the states having the good :option:`determinants expected_s2`. +* :option:`determinants s2_eig` : if True, systematically add all the determinants needed to have a pure value of :math:`S^2`. Also, if True, it tracks only the states having the good :option:`determinants expected_s2`. -.. note:: - For a multi-state calculation, it is recommended to start with :c:func:`cis` or :c:func:`cisd` - wave functions as a guess. +.. note:: + For a multi-state calculation, it is recommended to start with :c:func:`cis` or :c:func:`cisd` + wave functions as a guess. * :option:`determinants expected_s2` : expected value of :math:`S^2` for the desired spin multiplicity. @@ -47,33 +47,39 @@ The main keywords/options for this module are: The programmer point of view ---------------------------- -This module have been created with the :ref:`cipsi` module. +This module have been created with the :ref:`cipsi` module. .. seealso:: The documentation of the :ref:`cipsi` module. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: energy - + Calculated Selected |FCI| energy - - + + .. option:: energy_pt2 - + Calculated |FCI| energy + |PT2| - - - -Providers ---------- - + + + +Programs +-------- + + * :ref:`fci` + * :ref:`pt2` + +Providers +--------- + .. c:var:: nthreads_pt2 @@ -86,83 +92,11 @@ Providers Number of threads for Davidson - - -Subroutines / functions ------------------------ - - - -.. c:function:: fci - - .. code:: text - - subroutine fci - - File: :file:`fci.irp.f` - - Selected Full Configuration Interaction with stochastic selection and PT2 . - - This program performs a CIPSI-like selected CI using a stochastic scheme for both - - the selection of the important Slater determinants and the computation of the PT2 correction. - - This CIPSI-like algorithm will be performed for the "n_states" lowest states of the variational space (see :option:`determinants n_det_max`) - - The fci program will stop when reaching at least one the two following conditions: - - * number of Slater determinant > "n_det_max" (see :option:`determinants n_det_max`) - - * |PT2| < "pt2_max" (see :option:`perturbation pt2_max`) - - - - The following other options can be of interest: - - If "read_wf" = False, it starts with a ROHF-like Slater determinant as a guess wave function. - - If "read_wf" = True , it starts with the wave function(s) stored in the EZFIO folder as guess wave function(s). - - (see :option:`determinants read_wf`) - - If "s2_eig" = True, it will systematically add all necessary Slater determinants in order - - to have a pure spin wave function with an :math:`S^2` value corresponding to "expected_s2". - - (see :option:`determinants s2_eig` and :option:`determinants expected_s2`) - - - - - - - - For excited states calculations, it is recommended to start with a :c:func:`cis` or :c:func:`cisd` guess wave functions - - for the "n_states", and to set "s2_eig" = True. - - - - - -.. c:function:: pt2 - - .. code:: text - - subroutine pt2 - - File: :file:`pt2.irp.f` - - Second order perturbative correction to the wave function contained in the EZFIO directory. - - This programs runs the stochastic PT2 correction on all "n_states" wave function stored in the EZFIO folder (see :option:`determinant n_states`). - - The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic - - error on the PT2 to reach before stopping the stochastic sampling. (see :option:`perturbation pt2_relative_error`) - - - + + +Subroutines / functions +----------------------- + .. c:function:: save_energy diff --git a/docs/source/modules/generators_cas.rst b/docs/source/modules/generators_cas.rst index a00b7a01..445a9c83 100644 --- a/docs/source/modules/generators_cas.rst +++ b/docs/source/modules/generators_cas.rst @@ -1,9 +1,9 @@ -.. _generators_cas: - -.. program:: generators_cas - -.. default-role:: option - +.. _generators_cas: + +.. program:: generators_cas + +.. default-role:: option + ============== generators_cas ============== @@ -13,7 +13,7 @@ The |MOs| belonging to the |CAS| are those which were set as active with the :ref:`qp_set_mo_class` command. This module is intended to be included in the :file:`NEED` file to define -the generators as the |CAS| determinants, which can be useful to define post-CAS approaches (see cassd module for instance). - +the generators as the |CAS| determinants, which can be useful to define post-CAS approaches (see cassd module for instance). + diff --git a/docs/source/modules/generators_full.rst b/docs/source/modules/generators_full.rst index 012457c0..ef72c4e7 100644 --- a/docs/source/modules/generators_full.rst +++ b/docs/source/modules/generators_full.rst @@ -1,9 +1,9 @@ -.. _generators_full: - -.. program:: generators_full - -.. default-role:: option - +.. _generators_full: + +.. program:: generators_full + +.. default-role:: option + =============== generators_full =============== @@ -13,12 +13,12 @@ variational space. This module is intended to be included in the :file:`NEED` file to define a full set of generators. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: degree_max_generators @@ -31,7 +31,34 @@ Providers Max degree of excitation (respect to HF) of the generators + +.. c:var:: n_det_generators + + .. code:: text + + integer :: n_det_generators + + File: :file:`generators.irp.f` + + For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant + + + + +.. c:var:: psi_coef_generators + + .. code:: text + + integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) + + File: :file:`generators.irp.f` + + For Single reference wave functions, the generator is the Hartree-Fock determinant + + + .. c:var:: psi_coef_sorted_gen @@ -46,7 +73,21 @@ Providers For Single reference wave functions, the generator is the Hartree-Fock determinant + +.. c:var:: psi_det_generators + + .. code:: text + + integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) + + File: :file:`generators.irp.f` + + For Single reference wave functions, the generator is the Hartree-Fock determinant + + + .. c:var:: psi_det_sorted_gen @@ -61,7 +102,7 @@ Providers For Single reference wave functions, the generator is the Hartree-Fock determinant - + .. c:var:: psi_det_sorted_gen_order @@ -76,3 +117,29 @@ Providers For Single reference wave functions, the generator is the Hartree-Fock determinant + + +.. c:var:: select_max + + .. code:: text + + double precision, allocatable :: select_max (size_select_max) + + File: :file:`generators.irp.f` + + Memo to skip useless selectors + + + + +.. c:var:: size_select_max + + .. code:: text + + integer :: size_select_max + + File: :file:`generators.irp.f` + + Size of the select_max array + + diff --git a/docs/source/modules/hartree_fock.rst b/docs/source/modules/hartree_fock.rst index 7ca55dfe..e115ba57 100644 --- a/docs/source/modules/hartree_fock.rst +++ b/docs/source/modules/hartree_fock.rst @@ -1,9 +1,9 @@ -.. _hartree_fock: - -.. program:: hartree_fock - -.. default-role:: option - +.. _hartree_fock: + +.. program:: hartree_fock + +.. default-role:: option + ============ hartree_fock ============ @@ -12,7 +12,7 @@ hartree_fock The Hartree-Fock module performs *Restricted* Hartree-Fock calculations (the spatial part of the |MOs| is common for alpha and beta spinorbitals). -The Hartree-Fock in an SCF and therefore is based on the ``scf_utils`` structure. +The Hartree-Fock in an SCF and therefore is based on the ``scf_utils`` structure. It performs the following actions: #. Compute/Read all the one- and two-electron integrals, and store them in memory @@ -21,13 +21,13 @@ It performs the following actions: will read them as initial guess. Otherwise, it will create a guess. #. Perform the |SCF| iterations -The definition of the Fock matrix is in :file:`hartree_fock fock_matrix_hf.irp.f` -For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. -The main are: +The definition of the Fock matrix is in :file:`hartree_fock fock_matrix_hf.irp.f` +For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. +The main are: -# :option:`scf_utils thresh_scf` +# :option:`scf_utils thresh_scf` -# :option:`scf_utils level_shift` +# :option:`scf_utils level_shift` At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation crashes for any unexpected reason, the calculation can be restarted by running again @@ -47,21 +47,26 @@ To start a calculation from scratch, the simplest way is to remove the - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: energy - + Energy HF - - - -Providers ---------- - + + + +Programs +-------- + + * :ref:`scf` + +Providers +--------- + .. c:var:: ao_two_e_integral_alpha @@ -75,7 +80,7 @@ Providers Alpha Fock matrix in AO basis set - + .. c:var:: ao_two_e_integral_beta @@ -89,7 +94,7 @@ Providers Alpha Fock matrix in AO basis set - + .. c:var:: extra_e_contrib_density @@ -106,7 +111,7 @@ Providers For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - trace of the V_xc potential - + .. c:var:: fock_matrix_ao_alpha @@ -120,7 +125,7 @@ Providers Alpha Fock matrix in AO basis set - + .. c:var:: fock_matrix_ao_beta @@ -134,7 +139,7 @@ Providers Alpha Fock matrix in AO basis set - + .. c:var:: hf_energy @@ -149,7 +154,7 @@ Providers Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. - + .. c:var:: hf_one_electron_energy @@ -164,7 +169,7 @@ Providers Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. - + .. c:var:: hf_two_electron_energy @@ -179,11 +184,11 @@ Providers Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: create_guess @@ -197,7 +202,7 @@ Subroutines / functions Create a MO guess if no MOs are present in the EZFIO directory - + .. c:function:: run @@ -211,23 +216,3 @@ Subroutines / functions Run SCF calculation - - - -.. c:function:: scf - - .. code:: text - - subroutine scf - - File: :file:`scf.irp.f` - - Produce `Hartree_Fock` |MOs| - - output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ - - output: hartree_fock.energy - - optional: mo_basis.mo_coef - - diff --git a/docs/source/modules/iterations.rst b/docs/source/modules/iterations.rst index ed35c921..326dc502 100644 --- a/docs/source/modules/iterations.rst +++ b/docs/source/modules/iterations.rst @@ -1,46 +1,46 @@ -.. _iterations: - -.. program:: iterations - -.. default-role:: option - +.. _iterations: + +.. program:: iterations + +.. default-role:: option + ========== iterations ========== Module which saves the computed energies for an extrapolation to the |FCI| limit. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: n_iter - + Number of saved iterations - + Default: 1 - + .. option:: n_det_iterations - + Number of determinants at each iteration - - + + .. option:: energy_iterations - + The variational energy at each iteration - - + + .. option:: pt2_iterations - + The |PT2| correction at each iteration - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: extrapolated_energy @@ -53,7 +53,7 @@ Providers Extrapolated energy, using E_var = f(PT2) where PT2=0 - + .. c:var:: n_iter @@ -66,11 +66,11 @@ Providers number of iterations - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: print_extrapolated_energy @@ -84,7 +84,7 @@ Subroutines / functions Print the extrapolated energy in the output - + .. c:function:: print_summary @@ -98,7 +98,7 @@ Subroutines / functions Print the extrapolated energy in the output - + .. c:function:: save_iterations diff --git a/docs/source/modules/kohn_sham.rst b/docs/source/modules/kohn_sham.rst index 21ad409d..6f60bf18 100644 --- a/docs/source/modules/kohn_sham.rst +++ b/docs/source/modules/kohn_sham.rst @@ -1,9 +1,9 @@ -.. _kohn_sham: - -.. program:: kohn_sham - -.. default-role:: option - +.. _kohn_sham: + +.. program:: kohn_sham + +.. default-role:: option + ========= kohn_sham ========= @@ -12,7 +12,7 @@ kohn_sham The Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the spatial part of the |MOs| is common for alpha and beta spinorbitals). -The Kohn-Sham in an SCF and therefore is based on the ``scf_utils`` structure. +The Kohn-Sham in an SCF and therefore is based on the ``scf_utils`` structure. It performs the following actions: #. Compute/Read all the one- and two-electron integrals, and store them in memory @@ -20,12 +20,12 @@ It performs the following actions: will read them as initial guess. Otherwise, it will create a guess. #. Perform the |SCF| iterations -The definition of the Fock matrix is in :file:`kohn_sham fock_matrix_ks.irp.f` -For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. -The main are: +The definition of the Fock matrix is in :file:`kohn_sham fock_matrix_ks.irp.f` +For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. +The main are: -#. :option:`scf_utils thresh_scf` -#. :option:`scf_utils level_shift` +#. :option:`scf_utils thresh_scf` +#. :option:`scf_utils level_shift` At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation crashes for any unexpected reason, the calculation can be restarted by running again @@ -45,111 +45,17 @@ To start a calculation from scratch, the simplest way is to remove the - - - -Providers ---------- - - -.. c:var:: ao_potential_alpha_xc - - .. code:: text - - double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num) - double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num) - - File: :file:`pot_functionals.irp.f` - - - - - - -.. c:var:: ao_potential_beta_xc - - .. code:: text - - double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num) - double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num) - - File: :file:`pot_functionals.irp.f` - - - - - - -.. c:var:: e_correlation_dft - - .. code:: text - - double precision :: e_correlation_dft - - File: :file:`pot_functionals.irp.f` - - - - - - -.. c:var:: e_exchange_dft - - .. code:: text - - double precision :: e_exchange_dft - - File: :file:`pot_functionals.irp.f` - - - - - - -.. c:var:: fock_matrix_alpha_no_xc_ao - - .. code:: text - - double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num) - double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num) - - File: :file:`fock_matrix_ks.irp.f` - - Mono electronic an Coulomb matrix in ao basis set - - - - -.. c:var:: fock_matrix_beta_no_xc_ao - - .. code:: text - - double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num) - double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num) - - File: :file:`fock_matrix_ks.irp.f` - - Mono electronic an Coulomb matrix in ao basis set - - - - -.. c:var:: fock_matrix_energy - - .. code:: text - - double precision :: ks_energy - double precision :: two_e_energy - double precision :: one_e_energy - double precision :: fock_matrix_energy - double precision :: trace_potential_xc - - File: :file:`ks_enery.irp.f` - - Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. - - - + + + +Programs +-------- + + * :ref:`ks_scf` + +Providers +--------- + .. c:var:: ks_energy @@ -166,83 +72,18 @@ Providers Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + +Subroutines / functions +----------------------- + -.. c:var:: one_e_energy +.. c:function:: ks_cf .. code:: text - double precision :: ks_energy - double precision :: two_e_energy - double precision :: one_e_energy - double precision :: fock_matrix_energy - double precision :: trace_potential_xc - - File: :file:`ks_enery.irp.f` - - Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. - - - - -.. c:var:: trace_potential_xc - - .. code:: text - - double precision :: ks_energy - double precision :: two_e_energy - double precision :: one_e_energy - double precision :: fock_matrix_energy - double precision :: trace_potential_xc - - File: :file:`ks_enery.irp.f` - - Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. - - - - -.. c:var:: two_e_energy - - .. code:: text - - double precision :: ks_energy - double precision :: two_e_energy - double precision :: one_e_energy - double precision :: fock_matrix_energy - double precision :: trace_potential_xc - - File: :file:`ks_enery.irp.f` - - Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. - - - - -Subroutines / functions ------------------------ - - - -.. c:function:: check_coherence_functional - - .. code:: text - - subroutine check_coherence_functional - - File: :file:`ks_scf.irp.f` - - - - - - - -.. c:function:: srs_ks_cf - - .. code:: text - - subroutine srs_ks_cf + subroutine ks_cf File: :file:`ks_scf.irp.f` diff --git a/docs/source/modules/kohn_sham_rs.rst b/docs/source/modules/kohn_sham_rs.rst index 544bb544..f3c74591 100644 --- a/docs/source/modules/kohn_sham_rs.rst +++ b/docs/source/modules/kohn_sham_rs.rst @@ -1,19 +1,19 @@ -.. _kohn_sham_rs: - -.. program:: kohn_sham_rs - -.. default-role:: option - +.. _kohn_sham_rs: + +.. program:: kohn_sham_rs + +.. default-role:: option + ============ kohn_sham_rs ============ The Range-separated Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the -spatial part of the |MOs| is common for alpha and beta spinorbitals) where the coulomb interaction is partially treated using exact exchange. -The splitting of the interaction between long- and short-range is determined by the range-separation parameter :option:`ao_two_e_erf_ints mu_erf`. The long-range part of the interaction is explicitly treated with exact exchange, and the short-range part of the interaction is treated with appropriate DFT functionals. +spatial part of the |MOs| is common for alpha and beta spinorbitals) where the coulomb interaction is partially treated using exact exchange. +The splitting of the interaction between long- and short-range is determined by the range-separation parameter :option:`ao_two_e_erf_ints mu_erf`. The long-range part of the interaction is explicitly treated with exact exchange, and the short-range part of the interaction is treated with appropriate DFT functionals. -The Range-separated Kohn-Sham in an SCF and therefore is based on the ``scf_utils`` structure. +The Range-separated Kohn-Sham in an SCF and therefore is based on the ``scf_utils`` structure. It performs the following actions: #. Compute/Read all the one- and two-electron integrals, and store them in memory @@ -21,11 +21,11 @@ It performs the following actions: will read them as initial guess. Otherwise, it will create a guess. #. Perform the |SCF| iterations -The definition of the Fock matrix is in :file:`kohn_sham_rs fock_matrix_rs_ks.irp.f` -For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. -The main are: -# :option:`scf_utils thresh_scf` -# :option:`scf_utils level_shift` +The definition of the Fock matrix is in :file:`kohn_sham_rs fock_matrix_rs_ks.irp.f` +For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. +The main are: +# :option:`scf_utils thresh_scf` +# :option:`scf_utils level_shift` At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation @@ -44,21 +44,142 @@ To start a calculation from scratch, the simplest way is to remove the - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: energy - + Energy range separated hybrid + + + +Programs +-------- + + * :ref:`rs_ks_scf` + +Providers +--------- + + +.. c:var:: ao_potential_alpha_xc + + .. code:: text + + double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num) + double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num) + + File: :file:`pot_functionals.irp.f` + + + -Providers ---------- +.. c:var:: ao_potential_beta_xc + .. code:: text + + double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num) + double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num) + + File: :file:`pot_functionals.irp.f` + + + + + + +.. c:var:: e_correlation_dft + + .. code:: text + + double precision :: e_correlation_dft + + File: :file:`pot_functionals.irp.f` + + + + + + +.. c:var:: e_exchange_dft + + .. code:: text + + double precision :: e_exchange_dft + + File: :file:`pot_functionals.irp.f` + + + + + + +.. c:var:: fock_matrix_alpha_no_xc_ao + + .. code:: text + + double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num) + double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num) + + File: :file:`fock_matrix_rs_ks.irp.f` + + Mono electronic an Coulomb matrix in AO basis set + + + + +.. c:var:: fock_matrix_beta_no_xc_ao + + .. code:: text + + double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num) + double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num) + + File: :file:`fock_matrix_rs_ks.irp.f` + + Mono electronic an Coulomb matrix in AO basis set + + + + +.. c:var:: fock_matrix_energy + + .. code:: text + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + File: :file:`rs_ks_energy.irp.f` + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + + + +.. c:var:: one_e_energy + + .. code:: text + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + File: :file:`rs_ks_energy.irp.f` + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + + .. c:var:: rs_ks_energy @@ -75,21 +196,55 @@ Providers Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + - -Subroutines / functions ------------------------ - - - -.. c:function:: rs_ks_scf +.. c:var:: trace_potential_xc .. code:: text - subroutine rs_ks_scf + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + File: :file:`rs_ks_energy.irp.f` + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + + + +.. c:var:: two_e_energy + + .. code:: text + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + File: :file:`rs_ks_energy.irp.f` + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + + + +Subroutines / functions +----------------------- + + + +.. c:function:: check_coherence_functional + + .. code:: text + + subroutine check_coherence_functional File: :file:`rs_ks_scf.irp.f` - Produce `Range_separated_Kohn_Sham` MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef + diff --git a/docs/source/modules/mo_basis.rst b/docs/source/modules/mo_basis.rst index 044702fe..0c9edd32 100644 --- a/docs/source/modules/mo_basis.rst +++ b/docs/source/modules/mo_basis.rst @@ -1,14 +1,14 @@ -.. _mo_basis: - -.. program:: mo_basis - -.. default-role:: option - +.. _mo_basis: + +.. program:: mo_basis + +.. default-role:: option + ======== mo_basis ======== -Molecular orbitals are expressed as +Molecular orbitals are expressed as .. math:: @@ -28,46 +28,46 @@ this is done with the script named :file:`save_current_mos.sh` in the - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: mo_num - + Total number of |MOs| - - + + .. option:: mo_coef - + Coefficient of the i-th |AO| on the j-th |MO| - - + + .. option:: mo_label - + Label characterizing the MOS (Local, Canonical, Natural, *etc*) - - + + .. option:: mo_occ - + |MO| occupation numbers - - + + .. option:: mo_class - + [ Core | Inactive | Active | Virtual | Deleted ], as defined by :ref:`qp_set_mo_class` - - + + .. option:: ao_md5 - + MD5 checksum characterizing the |AO| basis set. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: mo_coef @@ -84,7 +84,7 @@ Providers mo_label : Label characterizing the MOS (local, canonical, natural, etc) - + .. c:var:: mo_coef_begin_iteration @@ -99,7 +99,7 @@ Providers Usefull to track some orbitals - + .. c:var:: mo_coef_in_ao_ortho_basis @@ -114,7 +114,7 @@ Providers :math:`C^{-1}.C_{mo}` - + .. c:var:: mo_coef_transp @@ -127,7 +127,7 @@ Providers |MO| coefficients on |AO| basis set - + .. c:var:: mo_label @@ -144,7 +144,7 @@ Providers mo_label : Label characterizing the |MOs| (local, canonical, natural, etc) - + .. c:var:: mo_num @@ -157,7 +157,7 @@ Providers Number of MOs - + .. c:var:: mo_occ @@ -170,11 +170,11 @@ Providers |MO| occupation numbers - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: ao_ortho_cano_to_ao @@ -190,7 +190,7 @@ Subroutines / functions :math:`C^{-1}.A_{ao}.C^{\dagger-1}` - + .. c:function:: ao_to_mo @@ -206,7 +206,7 @@ Subroutines / functions :math:`C^\dagger.A_{ao}.C` - + .. c:function:: give_all_mos_and_grad_and_lapl_at_r @@ -220,7 +220,7 @@ Subroutines / functions - + .. c:function:: give_all_mos_and_grad_at_r @@ -234,7 +234,7 @@ Subroutines / functions - + .. c:function:: give_all_mos_at_r @@ -248,7 +248,7 @@ Subroutines / functions - + .. c:function:: initialize_mo_coef_begin_iteration @@ -264,7 +264,7 @@ Subroutines / functions Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef` - + .. c:function:: mix_mo_jk @@ -284,7 +284,7 @@ Subroutines / functions by convention, the '+' |MO| is in the lowest index (min(j,k)) by convention, the '-' |MO| is in the highest index (max(j,k)) - + .. c:function:: mo_as_eigvectors_of_mo_matrix @@ -298,7 +298,7 @@ Subroutines / functions - + .. c:function:: mo_as_svd_vectors_of_mo_matrix @@ -312,7 +312,7 @@ Subroutines / functions - + .. c:function:: mo_as_svd_vectors_of_mo_matrix_eig @@ -326,7 +326,7 @@ Subroutines / functions - + .. c:function:: reorder_core_orb @@ -340,7 +340,7 @@ Subroutines / functions routines that takes the current :c:data:`mo_coef` and reorder the core orbitals (see :c:data:`list_core` and :c:data:`n_core_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration` - + .. c:function:: save_mos @@ -354,7 +354,7 @@ Subroutines / functions - + .. c:function:: save_mos_truncated diff --git a/docs/source/modules/mo_guess.rst b/docs/source/modules/mo_guess.rst index 24dc1476..385907c2 100644 --- a/docs/source/modules/mo_guess.rst +++ b/docs/source/modules/mo_guess.rst @@ -1,21 +1,21 @@ -.. _mo_guess: - -.. program:: mo_guess - -.. default-role:: option - +.. _mo_guess: + +.. program:: mo_guess + +.. default-role:: option + ======== mo_guess ======== Guess for |MOs|. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: ao_ortho_canonical_nucl_elec_integrals @@ -28,7 +28,7 @@ Providers - + .. c:var:: ao_ortho_lowdin_coef @@ -41,7 +41,7 @@ Providers matrix of the coefficients of the mos generated by the orthonormalization by the S^{-1/2} canonical transformation of the aos ao_ortho_lowdin_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_lowdin orbital - + .. c:var:: ao_ortho_lowdin_nucl_elec_integrals @@ -54,7 +54,7 @@ Providers - + .. c:var:: ao_ortho_lowdin_overlap @@ -67,11 +67,11 @@ Providers overlap matrix of the ao_ortho_lowdin supposed to be the Identity - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: hcore_guess diff --git a/docs/source/modules/mo_one_e_ints.rst b/docs/source/modules/mo_one_e_ints.rst index 98ea57b7..85dc6bc3 100644 --- a/docs/source/modules/mo_one_e_ints.rst +++ b/docs/source/modules/mo_one_e_ints.rst @@ -1,76 +1,76 @@ -.. _mo_one_e_ints: - -.. program:: mo_one_e_ints - -.. default-role:: option - +.. _mo_one_e_ints: + +.. program:: mo_one_e_ints + +.. default-role:: option + ================== mo_one_e_integrals ================== All the one-electron integrals in |MO| basis are defined here. -The most important providers for usual quantum-chemistry calculation are: +The most important providers for usual quantum-chemistry calculation are: * `mo_kinetic_integrals` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_mo_ints.irp.f`) * `mo_integrals_n_e` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_mo_ints.irp.f`) * `mo_one_e_integrals` which are the the h_core operator integrals on the |AO| basis (see :file:`mo_mono_ints.irp.f`) -Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_mo.irp.f`. - - - -EZFIO parameters ----------------- - +Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_mo.irp.f`. + + + +EZFIO parameters +---------------- + .. option:: mo_integrals_e_n - + Nucleus-electron integrals in |MO| basis set - - + + .. option:: io_mo_integrals_e_n - + Read/Write |MO| electron-nucleus attraction integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: mo_integrals_kinetic - + Kinetic energy integrals in |MO| basis set - - + + .. option:: io_mo_integrals_kinetic - + Read/Write |MO| one-electron kinetic integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: mo_integrals_pseudo - + Pseudopotential integrals in |MO| basis set - - + + .. option:: io_mo_integrals_pseudo - + Read/Write |MO| pseudopotential integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: mo_one_e_integrals - + One-electron integrals in |MO| basis set - - + + .. option:: io_mo_one_e_integrals - + Read/Write |MO| one-electron integrals from/to disk [ Write | Read | None ] - + Default: None - - -Providers ---------- - + + +Providers +--------- + .. c:var:: mo_dipole_x @@ -85,7 +85,7 @@ Providers array of the integrals of MO_i * x MO_j array of the integrals of MO_i * y MO_j array of the integrals of MO_i * z MO_j - + .. c:var:: mo_dipole_y @@ -100,7 +100,7 @@ Providers array of the integrals of MO_i * x MO_j array of the integrals of MO_i * y MO_j array of the integrals of MO_i * z MO_j - + .. c:var:: mo_dipole_z @@ -115,7 +115,7 @@ Providers array of the integrals of MO_i * x MO_j array of the integrals of MO_i * y MO_j array of the integrals of MO_i * z MO_j - + .. c:var:: mo_integrals_n_e @@ -128,7 +128,7 @@ Providers Nucleus-electron interaction on the |MO| basis - + .. c:var:: mo_integrals_n_e_per_atom @@ -141,7 +141,7 @@ Providers mo_integrals_n_e_per_atom(i,j,k) = :math:`\langle \phi_i| -\frac{1}{|r-R_k|} | \phi_j \rangle` . where R_k is the coordinate of the k-th nucleus. - + .. c:var:: mo_kinetic_integrals @@ -154,7 +154,7 @@ Providers Kinetic energy integrals in the MO basis - + .. c:var:: mo_one_e_integrals @@ -167,7 +167,7 @@ Providers array of the mono electronic hamiltonian on the MOs basis : sum of the kinetic and nuclear electronic potential (and pseudo potential if needed) - + .. c:var:: mo_overlap @@ -180,7 +180,7 @@ Providers Provider to check that the MOs are indeed orthonormal. - + .. c:var:: mo_pseudo_integrals @@ -193,7 +193,7 @@ Providers Pseudopotential integrals in |MO| basis - + .. c:var:: mo_spread_x @@ -208,7 +208,7 @@ Providers array of the integrals of MO_i * x^2 MO_j array of the integrals of MO_i * y^2 MO_j array of the integrals of MO_i * z^2 MO_j - + .. c:var:: mo_spread_y @@ -223,7 +223,7 @@ Providers array of the integrals of MO_i * x^2 MO_j array of the integrals of MO_i * y^2 MO_j array of the integrals of MO_i * z^2 MO_j - + .. c:var:: mo_spread_z @@ -238,7 +238,7 @@ Providers array of the integrals of MO_i * x^2 MO_j array of the integrals of MO_i * y^2 MO_j array of the integrals of MO_i * z^2 MO_j - + .. c:var:: s_mo_coef @@ -251,11 +251,11 @@ Providers Product S.C where S is the overlap matrix in the AO basis and C the mo_coef matrix. - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: mo_to_ao @@ -271,7 +271,7 @@ Subroutines / functions :math:`(S.C).A_{mo}.(S.C)^\dagger` - + .. c:function:: mo_to_ao_no_overlap @@ -285,7 +285,7 @@ Subroutines / functions :math:`C.A_{mo}.C^\dagger` - + .. c:function:: orthonormalize_mos diff --git a/docs/source/modules/mo_two_e_erf_ints.rst b/docs/source/modules/mo_two_e_erf_ints.rst index 12f7c130..a6190758 100644 --- a/docs/source/modules/mo_two_e_erf_ints.rst +++ b/docs/source/modules/mo_two_e_erf_ints.rst @@ -1,45 +1,45 @@ -.. _mo_two_e_erf_ints: - -.. program:: mo_two_e_erf_ints - -.. default-role:: option - +.. _mo_two_e_erf_ints: + +.. program:: mo_two_e_erf_ints + +.. default-role:: option + ====================== mo_two_e_erf_ints ====================== Here, all two-electron integrals (:math:`erf({\mu}_{erf} * r_{12})/r_{12}`) are computed. As they have 4 indices and many are zero, they are stored in a map, as defined -in :file:`Utils/map_module.f90`. +in :file:`Utils/map_module.f90`. -The range separation parameter :math:`{\mu}_{erf}` is the variable :option:`ao_two_e_erf_ints mu_erf`. +The range separation parameter :math:`{\mu}_{erf}` is the variable :option:`ao_two_e_erf_ints mu_erf`. To fetch an |MO| integral, use `get_mo_two_e_integral_erf(i,j,k,l,mo_integrals_map_erf)` -The conventions are: +The conventions are: * For |MO| integrals : = <12|12> -Be aware that it might not be the same conventions for |MO| and |AO| integrals. +Be aware that it might not be the same conventions for |MO| and |AO| integrals. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: io_mo_two_e_integrals_erf - + Read/Write MO integrals with the long range interaction from/to disk [ Write | Read | None ] - + Default: None - - -Providers ---------- - + + +Providers +--------- + .. c:var:: core_energy_erf @@ -52,7 +52,7 @@ Providers energy from the core : contains all core-core contributionswith the erf interaction - + .. c:var:: core_fock_operator_erf @@ -65,7 +65,7 @@ Providers this is the contribution to the Fock operator from the core electrons with the erf interaction - + .. c:var:: insert_into_mo_integrals_erf_map @@ -79,7 +79,7 @@ Providers Create new entry into |MO| map, or accumulate in an existing entry - + .. c:var:: int_erf_3_index @@ -95,7 +95,7 @@ Providers int_erf_3_index_exc(i,j) = = (ij|ij) with the erf interaction - + .. c:var:: int_erf_3_index_exc @@ -111,7 +111,7 @@ Providers int_erf_3_index_exc(i,j) = = (ij|ij) with the erf interaction - + .. c:var:: mo_integrals_erf_cache @@ -124,7 +124,7 @@ Providers Cache of |MO| integrals for fast access - + .. c:var:: mo_integrals_erf_cache_max @@ -138,7 +138,7 @@ Providers Min and max values of the MOs for which the integrals are in the cache - + .. c:var:: mo_integrals_erf_cache_min @@ -152,7 +152,7 @@ Providers Min and max values of the MOs for which the integrals are in the cache - + .. c:var:: mo_integrals_erf_map @@ -165,7 +165,7 @@ Providers |MO| integrals - + .. c:var:: mo_two_e_int_erf_jj @@ -180,7 +180,7 @@ Providers mo_two_e_integrals_jj(i,j) = J_ij mo_two_e_integrals_jj_exchange(i,j) = K_ij mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_int_erf_jj_anti @@ -195,7 +195,7 @@ Providers mo_two_e_integrals_jj(i,j) = J_ij mo_two_e_integrals_jj_exchange(i,j) = K_ij mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_int_erf_jj_anti_from_ao @@ -210,7 +210,7 @@ Providers mo_two_e_integral_jj_from_ao(i,j) = J_ij mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_int_erf_jj_exchange @@ -225,7 +225,7 @@ Providers mo_two_e_integrals_jj(i,j) = J_ij mo_two_e_integrals_jj_exchange(i,j) = K_ij mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_int_erf_jj_exchange_from_ao @@ -240,7 +240,7 @@ Providers mo_two_e_integral_jj_from_ao(i,j) = J_ij mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_int_erf_jj_from_ao @@ -255,7 +255,7 @@ Providers mo_two_e_integral_jj_from_ao(i,j) = J_ij mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_integrals_erf_in_map @@ -268,11 +268,11 @@ Providers If True, the map of MO two-electron integrals is provided - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: add_integrals_to_map_erf @@ -286,7 +286,7 @@ Subroutines / functions Adds integrals to tha MO map according to some bitmask - + .. c:function:: clear_mo_erf_map @@ -300,7 +300,7 @@ Subroutines / functions Frees the memory of the MO map - + .. c:function:: get_mo_erf_map_size @@ -314,7 +314,7 @@ Subroutines / functions Returns the number of elements in the |MO| map - + .. c:function:: get_mo_two_e_integral_erf @@ -328,7 +328,7 @@ Subroutines / functions Returns one integral :math:`\langle ij|kl \rangle` in the |MO| basis - + .. c:function:: get_mo_two_e_integrals_erf @@ -342,7 +342,7 @@ Subroutines / functions Returns multiple integrals :math:`\langle ij|kl \rangle` in the |MO| basis, all i for j,k,l fixed. - + .. c:function:: get_mo_two_e_integrals_erf_coulomb_ii @@ -358,7 +358,7 @@ Subroutines / functions k(1)i(2) 1/r12 l(1)i(2) :: out_val(i1) for k,l fixed. - + .. c:function:: get_mo_two_e_integrals_erf_exch_ii @@ -374,7 +374,7 @@ Subroutines / functions :math:`\int k(1)i(2) \frac{1}{r_{12}} i(1)l(2)` :: out_val(i1) for k,l fixed. - + .. c:function:: get_mo_two_e_integrals_erf_i1j1 @@ -388,7 +388,7 @@ Subroutines / functions Returns multiple integrals :math:`\langle ik|jl \rangle` in the |MO| basis, all :math:`\int i(1)j(1) \frac{\erf(\mu * r_{12})}{r_{12}} k(2)l(2)` i, j for k,l fixed. - + .. c:function:: get_mo_two_e_integrals_erf_ij @@ -402,7 +402,7 @@ Subroutines / functions Returns multiple integrals :math:`\langle ij|kl \rangle` in the |MO| basis, all :math:`\int i(1)j(2) \frac{1}{r_{12}} k(1)l(2)` i, j for k,l fixed. - + .. c:function:: load_mo_integrals_erf @@ -416,7 +416,7 @@ Subroutines / functions Read from disk the |MO| erf integrals - + .. c:function:: mo_two_e_integral_erf @@ -430,7 +430,7 @@ Subroutines / functions Returns one integral :math:`\langle ij|kl \rangle` in the |MO| basis - + .. c:function:: mo_two_e_integrals_erf_index @@ -444,7 +444,7 @@ Subroutines / functions Computes an unique index for i,j,k,l integrals - + .. c:function:: provide_all_mo_integrals_erf @@ -458,7 +458,7 @@ Subroutines / functions - + .. c:function:: save_erf_two_e_integrals_mo @@ -472,7 +472,7 @@ Subroutines / functions - + .. c:function:: save_erf_two_e_ints_mo_into_ints_mo diff --git a/docs/source/modules/mo_two_e_ints.rst b/docs/source/modules/mo_two_e_ints.rst index 2dfdf1b4..6b521814 100644 --- a/docs/source/modules/mo_two_e_ints.rst +++ b/docs/source/modules/mo_two_e_ints.rst @@ -1,9 +1,9 @@ -.. _mo_two_e_ints: - -.. program:: mo_two_e_ints - -.. default-role:: option - +.. _mo_two_e_ints: + +.. program:: mo_two_e_ints + +.. default-role:: option + ================== mo_two_e_ints ================== @@ -25,46 +25,46 @@ The conventions are: - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: io_mo_two_e_integrals - + Read/Write |MO| integrals from/to disk [ Write | Read | None ] - + Default: None - + .. option:: mo_integrals_threshold - + If | | < `mo_integrals_threshold` then is zero - + Default: 1.e-15 - + .. option:: no_vvvv_integrals - + If `True`, computes all integrals except for the integrals having 4 virtual indices - + Default: False - + .. option:: no_ivvv_integrals - + Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual indices and 1 belonging to the core inactive active orbitals - + Default: False - + .. option:: no_vvv_integrals - + Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual orbitals - + Default: False - - -Providers ---------- - + + +Providers +--------- + .. c:var:: big_array_coulomb_integrals @@ -80,7 +80,7 @@ Providers big_array_exchange_integrals(i,j) = = (ij|ij) - + .. c:var:: big_array_exchange_integrals @@ -96,7 +96,7 @@ Providers big_array_exchange_integrals(i,j) = = (ij|ij) - + .. c:var:: core_energy @@ -109,7 +109,7 @@ Providers energy from the core : contains all core-core contributions - + .. c:var:: core_fock_operator @@ -122,7 +122,7 @@ Providers this is the contribution to the Fock operator from the core electrons - + .. c:var:: insert_into_mo_integrals_map @@ -136,7 +136,7 @@ Providers Create new entry into MO map, or accumulate in an existing entry - + .. c:var:: mo_integrals_cache @@ -149,7 +149,7 @@ Providers Cache of MO integrals for fast access - + .. c:var:: mo_integrals_cache_max @@ -165,7 +165,7 @@ Providers Min and max values of the MOs for which the integrals are in the cache - + .. c:var:: mo_integrals_cache_max_8 @@ -181,7 +181,7 @@ Providers Min and max values of the MOs for which the integrals are in the cache - + .. c:var:: mo_integrals_cache_min @@ -197,7 +197,7 @@ Providers Min and max values of the MOs for which the integrals are in the cache - + .. c:var:: mo_integrals_cache_min_8 @@ -213,7 +213,7 @@ Providers Min and max values of the MOs for which the integrals are in the cache - + .. c:var:: mo_integrals_map @@ -226,7 +226,7 @@ Providers MO integrals - + .. c:var:: mo_two_e_integral_jj_from_ao @@ -241,7 +241,7 @@ Providers mo_two_e_integral_jj_from_ao(i,j) = J_ij mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_integrals_in_map @@ -254,7 +254,7 @@ Providers If True, the map of MO two-electron integrals is provided - + .. c:var:: mo_two_e_integrals_jj @@ -269,7 +269,7 @@ Providers mo_two_e_integrals_jj(i,j) = J_ij mo_two_e_integrals_jj_exchange(i,j) = K_ij mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_integrals_jj_anti @@ -284,7 +284,7 @@ Providers mo_two_e_integrals_jj(i,j) = J_ij mo_two_e_integrals_jj_exchange(i,j) = K_ij mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_integrals_jj_anti_from_ao @@ -299,7 +299,7 @@ Providers mo_two_e_integral_jj_from_ao(i,j) = J_ij mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_integrals_jj_exchange @@ -314,7 +314,7 @@ Providers mo_two_e_integrals_jj(i,j) = J_ij mo_two_e_integrals_jj_exchange(i,j) = K_ij mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_integrals_jj_exchange_from_ao @@ -329,7 +329,7 @@ Providers mo_two_e_integral_jj_from_ao(i,j) = J_ij mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij - + .. c:var:: mo_two_e_integrals_vv_anti_from_ao @@ -344,7 +344,7 @@ Providers mo_two_e_integrals_vv_from_ao(i,j) = J_ij mo_two_e_integrals_vv_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_vv_anti_from_ao(i,j) = J_ij - K_ij but only for the virtual orbitals - + .. c:var:: mo_two_e_integrals_vv_exchange_from_ao @@ -359,7 +359,7 @@ Providers mo_two_e_integrals_vv_from_ao(i,j) = J_ij mo_two_e_integrals_vv_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_vv_anti_from_ao(i,j) = J_ij - K_ij but only for the virtual orbitals - + .. c:var:: mo_two_e_integrals_vv_from_ao @@ -374,11 +374,11 @@ Providers mo_two_e_integrals_vv_from_ao(i,j) = J_ij mo_two_e_integrals_vv_exchange_from_ao(i,j) = J_ij mo_two_e_integrals_vv_anti_from_ao(i,j) = J_ij - K_ij but only for the virtual orbitals - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: add_integrals_to_map @@ -392,7 +392,7 @@ Subroutines / functions Adds integrals to tha MO map according to some bitmask - + .. c:function:: add_integrals_to_map_no_exit_34 @@ -406,7 +406,7 @@ Subroutines / functions Adds integrals to tha MO map according to some bitmask - + .. c:function:: add_integrals_to_map_three_indices @@ -420,7 +420,7 @@ Subroutines / functions Adds integrals to tha MO map according to some bitmask - + .. c:function:: clear_mo_map @@ -434,7 +434,7 @@ Subroutines / functions Frees the memory of the MO map - + .. c:function:: dump_mo_integrals @@ -448,7 +448,7 @@ Subroutines / functions Save to disk the |MO| integrals - + .. c:function:: get_mo_map_size @@ -462,7 +462,7 @@ Subroutines / functions Return the number of elements in the MO map - + .. c:function:: get_mo_two_e_integrals @@ -476,7 +476,7 @@ Subroutines / functions Returns multiple integrals in the MO basis, all i for j,k,l fixed. - + .. c:function:: get_mo_two_e_integrals_coulomb_ii @@ -490,7 +490,7 @@ Subroutines / functions Returns multiple integrals k(1)i(2) 1/r12 l(1)i(2) :: out_val(i1) for k,l fixed. - + .. c:function:: get_mo_two_e_integrals_exch_ii @@ -504,7 +504,7 @@ Subroutines / functions Returns multiple integrals k(1)i(2) 1/r12 i(1)l(2) :: out_val(i1) for k,l fixed. - + .. c:function:: get_mo_two_e_integrals_i1j1 @@ -518,7 +518,7 @@ Subroutines / functions Returns multiple integrals in the MO basis, all i(1)j(1) 1/r12 k(2)l(2) i, j for k,l fixed. - + .. c:function:: get_mo_two_e_integrals_ij @@ -532,7 +532,7 @@ Subroutines / functions Returns multiple integrals in the MO basis, all i(1)j(2) 1/r12 k(1)l(2) i, j for k,l fixed. - + .. c:function:: get_two_e_integral @@ -546,7 +546,7 @@ Subroutines / functions Returns one integral in the MO basis - + .. c:function:: load_mo_integrals @@ -560,7 +560,7 @@ Subroutines / functions Read from disk the |MO| integrals - + .. c:function:: mo_two_e_integral @@ -574,7 +574,7 @@ Subroutines / functions Returns one integral in the MO basis - + .. c:function:: mo_two_e_integrals_index diff --git a/docs/source/modules/mpi.rst b/docs/source/modules/mpi.rst index d8c7290f..ca55a129 100644 --- a/docs/source/modules/mpi.rst +++ b/docs/source/modules/mpi.rst @@ -1,20 +1,20 @@ -.. _mpi: - -.. program:: mpi - -.. default-role:: option - +.. _mpi: + +.. program:: mpi + +.. default-role:: option + === mpi === Contains all the functions and providers for parallelization with |MPI|. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: mpi_initialized @@ -27,7 +27,7 @@ Providers Always true. Initialized MPI - + .. c:var:: mpi_master @@ -40,7 +40,7 @@ Providers If true, rank is zero - + .. c:var:: mpi_rank @@ -54,7 +54,7 @@ Providers Rank of MPI process and number of MPI processes - + .. c:var:: mpi_size @@ -68,11 +68,11 @@ Providers Rank of MPI process and number of MPI processes - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: broadcast_chunks_double @@ -86,7 +86,7 @@ Subroutines / functions Broadcast with chunks of ~2GB - + .. c:function:: broadcast_chunks_integer @@ -100,7 +100,7 @@ Subroutines / functions Broadcast with chunks of ~2GB - + .. c:function:: broadcast_chunks_integer8 @@ -114,7 +114,7 @@ Subroutines / functions Broadcast with chunks of ~2GB - + .. c:function:: mpi_print diff --git a/docs/source/modules/nuclei.rst b/docs/source/modules/nuclei.rst index 7f6a89ff..8af3d380 100644 --- a/docs/source/modules/nuclei.rst +++ b/docs/source/modules/nuclei.rst @@ -1,9 +1,9 @@ -.. _nuclei: - -.. program:: nuclei - -.. default-role:: option - +.. _nuclei: + +.. program:: nuclei + +.. default-role:: option + ====== nuclei ====== @@ -12,47 +12,47 @@ This module contains data relative to the nuclei (coordinates, charge, nuclear repulsion energy, etc). The coordinates are expressed in atomic units. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: nucl_num - + Number of nuclei - - + + .. option:: nucl_label - + Nuclear labels - - + + .. option:: nucl_charge - + Nuclear charges - - + + .. option:: nucl_coord - + Nuclear coordinates in the format (:, {x,y,z}) - - + + .. option:: disk_access_nuclear_repulsion - + Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ] - + Default: None - + .. option:: nuclear_repulsion - + Nuclear repulsion (Computed automaticaly or Read in the |EZFIO|) - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: center_of_mass @@ -65,7 +65,7 @@ Providers Center of mass of the molecule - + .. c:var:: element_mass @@ -79,7 +79,7 @@ Providers Array of the name of element, sorted by nuclear charge (integer) - + .. c:var:: element_name @@ -93,7 +93,7 @@ Providers Array of the name of element, sorted by nuclear charge (integer) - + .. c:var:: inertia_tensor @@ -106,7 +106,7 @@ Providers Inertia tensor - + .. c:var:: inertia_tensor_eigenvalues @@ -120,7 +120,7 @@ Providers Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation. - + .. c:var:: inertia_tensor_eigenvectors @@ -134,7 +134,7 @@ Providers Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation. - + .. c:var:: nucl_coord @@ -147,7 +147,7 @@ Providers Nuclear coordinates in the format (:, {x,y,z}) - + .. c:var:: nucl_coord_transp @@ -160,7 +160,7 @@ Providers Transposed array of nucl_coord - + .. c:var:: nucl_dist @@ -177,7 +177,7 @@ Providers nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors - + .. c:var:: nucl_dist_2 @@ -194,7 +194,7 @@ Providers nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors - + .. c:var:: nucl_dist_inv @@ -207,7 +207,7 @@ Providers Inverse of the distance between nucleus I and nucleus J - + .. c:var:: nucl_dist_vec_x @@ -224,7 +224,7 @@ Providers nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors - + .. c:var:: nucl_dist_vec_y @@ -241,7 +241,7 @@ Providers nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors - + .. c:var:: nucl_dist_vec_z @@ -258,7 +258,7 @@ Providers nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors - + .. c:var:: nuclear_repulsion @@ -271,7 +271,7 @@ Providers Nuclear repulsion energy - + .. c:var:: slater_bragg_radii @@ -284,7 +284,7 @@ Providers atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater execpt for the Hydrogen atom where we took the value of Becke (1988, JCP) - + .. c:var:: slater_bragg_radii_per_atom @@ -297,7 +297,7 @@ Providers - + .. c:var:: slater_bragg_radii_per_atom_ua @@ -310,7 +310,7 @@ Providers - + .. c:var:: slater_bragg_radii_ua @@ -323,7 +323,7 @@ Providers - + .. c:var:: slater_bragg_type_inter_distance @@ -336,7 +336,7 @@ Providers - + .. c:var:: slater_bragg_type_inter_distance_ua diff --git a/docs/source/modules/perturbation.rst b/docs/source/modules/perturbation.rst index 41dbd43f..81084785 100644 --- a/docs/source/modules/perturbation.rst +++ b/docs/source/modules/perturbation.rst @@ -1,9 +1,9 @@ -.. _perturbation: - -.. program:: perturbation - -.. default-role:: option - +.. _perturbation: + +.. program:: perturbation + +.. default-role:: option + ============ perturbation ============ @@ -38,19 +38,19 @@ The arguments of the `pt2_` are always: `psi_ref` bitstring of the determinants present in the various `N_st` states - + `psi_ref_coefs` coefficients of the determinants on the various `N_st` states - + `E_refs` Energy of the various `N_st` states - + `det_pert` Perturber determinant `c_pert` Perturbative coefficients for the various states - + `e_2_pert` Perturbative energetic contribution for the various states @@ -68,50 +68,44 @@ The arguments of the `pt2_` are always: - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: do_pt2 - + If `True`, compute the |PT2| contribution - + Default: True - + .. option:: pt2_max - + The selection process stops when the largest |PT2| (for all the state) is lower than `pt2_max` in absolute value - + Default: 0.0001 - + .. option:: pt2_relative_error - + Stop stochastic |PT2| when the relative error is smaller than `PT2_relative_error` - - Default: 0.005 - + + Default: 0.002 + .. option:: correlation_energy_ratio_max - + The selection process stops at a fixed correlation ratio (useful for getting same accuracy between molecules). Defined as :math:`{E_{CI}-E_{HF}}/{E_{CI}+E_{PT2} - E_{HF}}`. - + Default: 1.00 - -.. option:: h0_type - - Type of zeroth-order Hamiltonian [ EN | Barycentric | Variance | SOP ] - - Default: EN - - -Providers ---------- - + + +Providers +--------- + .. c:var:: fill_h_apply_buffer_selection @@ -125,7 +119,20 @@ Providers Fill the H_apply buffer with determiants for the selection + +.. c:var:: h0_type + + .. code:: text + + character*32 :: h0_type + + File: :file:`h0_type.irp.f` + + Type of zeroth-order Hamiltonian + + + .. c:var:: max_exc_pert @@ -138,7 +145,7 @@ Providers - + .. c:var:: selection_criterion @@ -153,7 +160,7 @@ Providers Threshold to select determinants. Set by selection routines. - + .. c:var:: selection_criterion_factor @@ -168,7 +175,7 @@ Providers Threshold to select determinants. Set by selection routines. - + .. c:var:: selection_criterion_min @@ -183,7 +190,7 @@ Providers Threshold to select determinants. Set by selection routines. - + .. c:var:: var_pt2_ratio @@ -196,11 +203,11 @@ Providers The selection process stops when the energy ratio variational/(variational+PT2) is equal to var_pt2_ratio - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: perturb_buffer_by_mono_dummy @@ -214,7 +221,7 @@ Subroutines / functions Applly pertubration ``dummy`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_by_mono_epstein_nesbet @@ -228,7 +235,7 @@ Subroutines / functions Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_by_mono_epstein_nesbet_2x2 @@ -242,7 +249,7 @@ Subroutines / functions Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag @@ -256,7 +263,7 @@ Subroutines / functions Applly pertubration ``epstein_nesbet_2x2_no_ci_diag`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_by_mono_h_core @@ -270,7 +277,7 @@ Subroutines / functions Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_by_mono_moller_plesset @@ -284,7 +291,7 @@ Subroutines / functions Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_by_mono_moller_plesset_general @@ -298,7 +305,7 @@ Subroutines / functions Applly pertubration ``moller_plesset_general`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_by_mono_qdpt @@ -312,7 +319,7 @@ Subroutines / functions Applly pertubration ``qdpt`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_dummy @@ -326,7 +333,7 @@ Subroutines / functions Applly pertubration ``dummy`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_epstein_nesbet @@ -340,7 +347,7 @@ Subroutines / functions Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_epstein_nesbet_2x2 @@ -354,7 +361,7 @@ Subroutines / functions Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_epstein_nesbet_2x2_no_ci_diag @@ -368,7 +375,7 @@ Subroutines / functions Applly pertubration ``epstein_nesbet_2x2_no_ci_diag`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_h_core @@ -382,7 +389,7 @@ Subroutines / functions Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_moller_plesset @@ -396,7 +403,7 @@ Subroutines / functions Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_moller_plesset_general @@ -410,7 +417,7 @@ Subroutines / functions Applly pertubration ``moller_plesset_general`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: perturb_buffer_qdpt @@ -424,7 +431,7 @@ Subroutines / functions Applly pertubration ``qdpt`` to the buffer of determinants generated in the H_apply routine. - + .. c:function:: pt2_dummy @@ -438,7 +445,7 @@ Subroutines / functions Dummy perturbation to add all connected determinants. - + .. c:function:: pt2_epstein_nesbet @@ -458,7 +465,7 @@ Subroutines / functions - + .. c:function:: pt2_epstein_nesbet_2x2 @@ -478,7 +485,7 @@ Subroutines / functions - + .. c:function:: pt2_epstein_nesbet_2x2_no_ci_diag @@ -500,7 +507,7 @@ Subroutines / functions - + .. c:function:: pt2_h_core @@ -522,7 +529,7 @@ Subroutines / functions - + .. c:function:: pt2_moller_plesset @@ -542,7 +549,7 @@ Subroutines / functions - + .. c:function:: pt2_moller_plesset_general @@ -562,7 +569,7 @@ Subroutines / functions - + .. c:function:: pt2_qdpt @@ -580,7 +587,7 @@ Subroutines / functions - + .. c:function:: remove_small_contributions @@ -594,7 +601,7 @@ Subroutines / functions Remove determinants with small contributions. N_states is assumed to be provided. - + .. c:function:: repeat_all_e_corr diff --git a/docs/source/modules/pseudo.rst b/docs/source/modules/pseudo.rst index b9ab7433..469b815f 100644 --- a/docs/source/modules/pseudo.rst +++ b/docs/source/modules/pseudo.rst @@ -1,94 +1,94 @@ -.. _pseudo: - -.. program:: pseudo - -.. default-role:: option - +.. _pseudo: + +.. program:: pseudo + +.. default-role:: option + ====== pseudo ====== This module defines the |EZFIO| parameters of the effective core potentials. - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: nucl_charge_remove - + Nuclear charges removed per atom - - + + .. option:: pseudo_klocmax - + Maximum value of k for the local component - - + + .. option:: pseudo_n_k - + Number of gaussians in the local component - - + + .. option:: pseudo_v_k - + Coefficients in the local component - - + + .. option:: pseudo_dz_k - + Exponents in the local component - - + + .. option:: pseudo_lmax - + Maximum angular momentum - - + + .. option:: pseudo_kmax - + Maximum number of functions in the non-local component - - + + .. option:: pseudo_n_kl - + Number of functions in the non-local component - - + + .. option:: pseudo_v_kl - + Coefficients in the non-local component - - + + .. option:: pseudo_dz_kl - + Exponents in the non-local component - - + + .. option:: do_pseudo - + If `True`, pseudo-potentials are used. - + Default: False - + .. option:: pseudo_grid_size - + Nb of points of the grid for the QMC interfaces - + Default: 1000 - + .. option:: pseudo_grid_rmax - + R_max of the QMC grid - + Default: 10.0 - + .. option:: ao_pseudo_grid - + Grid for the QMC interface - - + + .. option:: mo_pseudo_grid - + Grid for the QMC interface - + diff --git a/docs/source/modules/psiref_cas.rst b/docs/source/modules/psiref_cas.rst index fe4e38ae..3d9a7645 100644 --- a/docs/source/modules/psiref_cas.rst +++ b/docs/source/modules/psiref_cas.rst @@ -1,14 +1,14 @@ -.. _psiref_cas: - -.. program:: psiref_cas - -.. default-role:: option - +.. _psiref_cas: + +.. program:: psiref_cas + +.. default-role:: option + ========== psiref_cas ========== -Reference wave function is defined as a |CAS| wave function. +Reference wave function is defined as a |CAS| wave function. This module is required for |CAS-SD|, |MRPT| or |MRCC|. - + diff --git a/docs/source/modules/psiref_utils.rst b/docs/source/modules/psiref_utils.rst index 634ecb61..2211b1aa 100644 --- a/docs/source/modules/psiref_utils.rst +++ b/docs/source/modules/psiref_utils.rst @@ -1,9 +1,9 @@ -.. _psiref_utils: - -.. program:: psiref_utils - -.. default-role:: option - +.. _psiref_utils: + +.. program:: psiref_utils + +.. default-role:: option + ============ psiref_utils ============ @@ -13,4 +13,4 @@ Utilities related to the use of a reference wave function. This module needs to be loaded with any `psi_ref_*` module. - + diff --git a/docs/source/modules/scf_utils.rst b/docs/source/modules/scf_utils.rst index 8866bd75..4c64a6af 100644 --- a/docs/source/modules/scf_utils.rst +++ b/docs/source/modules/scf_utils.rst @@ -1,9 +1,9 @@ -.. _scf_utils: - -.. program:: scf_utils - -.. default-role:: option - +.. _scf_utils: + +.. program:: scf_utils + +.. default-role:: option + ========= scf_utils ========= @@ -13,8 +13,8 @@ scf_utils The scf_utils module is an abstract module which contains the basics to perform *Restricted* SCF calculations (the spatial part of the |MOs| is common for alpha and beta spinorbitals) based on a single-determinant wave function. -This module does not produce any executable *and must not do*, but instead it contains everything one needs to perform an orbital optimization based on an Fock matrix. -The ``scf_utils`` module is meant to be included in the :file:`NEED` of the various single determinant SCF procedures, such as ``hartree_fock`` or ``kohn_sham``, where a specific definition of the Fock matrix is given (see :file:`hartree_fock fock_matrix_hf.irp.f` for an example). +This module does not produce any executable *and must not do*, but instead it contains everything one needs to perform an orbital optimization based on an Fock matrix. +The ``scf_utils`` module is meant to be included in the :file:`NEED` of the various single determinant SCF procedures, such as ``hartree_fock`` or ``kohn_sham``, where a specific definition of the Fock matrix is given (see :file:`hartree_fock fock_matrix_hf.irp.f` for an example). All SCF programs perform the following actions: @@ -23,13 +23,13 @@ All SCF programs perform the following actions: #. Check in the |EZFIO| database if there is a set of |MOs|. If there is, it will read them as initial guess. Otherwise, it will create a guess. -#. Perform the |SCF| iterations based on the definition of the Fock matrix +#. Perform the |SCF| iterations based on the definition of the Fock matrix -The main keywords/options are: +The main keywords/options are: -* :option:`scf_utils thresh_scf` -* :option:`scf_utils level_shift` +* :option:`scf_utils thresh_scf` +* :option:`scf_utils level_shift` At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation crashes for any unexpected reason, the calculation can be restarted by running again @@ -44,69 +44,69 @@ To start a calculation from scratch, the simplest way is to remove the .. _DIIS: https://en.wikipedia.org/w/index.php?title=DIIS .. _level-shifting: https://doi.org/10.1002/qua.560070407 - - - -EZFIO parameters ----------------- - + + + +EZFIO parameters +---------------- + .. option:: max_dim_diis - + Maximum size of the DIIS extrapolation procedure - + Default: 15 - + .. option:: threshold_diis - + Threshold on the convergence of the DIIS error vector during a Hartree-Fock calculation. If 0. is chosen, the square root of thresh_scf will be used. - + Default: 0. - + .. option:: thresh_scf - + Threshold on the convergence of the Hartree Fock energy. - + Default: 1.e-10 - + .. option:: n_it_scf_max - + Maximum number of SCF iterations - + Default: 500 - + .. option:: level_shift - + Energy shift on the virtual MOs to improve SCF convergence - + Default: 0. - + .. option:: scf_algorithm - + Type of SCF algorithm used. Possible choices are [ Simple | DIIS] - + Default: DIIS - + .. option:: mo_guess_type - + Initial MO guess. Can be [ Huckel | HCore ] - + Default: Huckel - + .. option:: energy - + Calculated HF energy - - + + .. option:: frozen_orb_scf - + If true, leave untouched all the orbitals defined as core and optimize all the orbitals defined as active with qp_set_mo_class - + Default: False - - -Providers ---------- - + + +Providers +--------- + .. c:var:: eigenvalues_fock_matrix_ao @@ -120,7 +120,7 @@ Providers Eigenvalues and eigenvectors of the Fock matrix over the AO basis - + .. c:var:: eigenvectors_fock_matrix_ao @@ -134,7 +134,7 @@ Providers Eigenvalues and eigenvectors of the Fock matrix over the AO basis - + .. c:var:: eigenvectors_fock_matrix_mo @@ -147,7 +147,7 @@ Providers Eigenvector of the Fock matrix in the MO basis obtained with level shift. - + .. c:var:: extrapolate_fock_matrix @@ -164,7 +164,7 @@ Providers Compute the extrapolated Fock matrix using the DIIS procedure - + .. c:var:: fock_matrix_ao @@ -177,7 +177,7 @@ Providers Fock matrix in AO basis set - + .. c:var:: fock_matrix_diag_mo @@ -201,7 +201,7 @@ Providers - + .. c:var:: fock_matrix_mo @@ -225,7 +225,7 @@ Providers - + .. c:var:: fock_matrix_mo_alpha @@ -238,7 +238,7 @@ Providers Fock matrix on the MO basis - + .. c:var:: fock_matrix_mo_beta @@ -251,7 +251,7 @@ Providers Fock matrix on the MO basis - + .. c:var:: fps_spf_matrix_ao @@ -264,7 +264,7 @@ Providers Commutator FPS - SPF - + .. c:var:: fps_spf_matrix_mo @@ -277,7 +277,7 @@ Providers Commutator FPS - SPF in MO basis - + .. c:var:: scf_density_matrix_ao @@ -290,7 +290,7 @@ Providers S^{-1}.P.S^{-1} where P = C.C^t - + .. c:var:: scf_density_matrix_ao_alpha @@ -303,7 +303,7 @@ Providers S^{-1}.P_alpha.S^{-1} - + .. c:var:: scf_density_matrix_ao_beta @@ -316,7 +316,7 @@ Providers S^{-1}.P_beta.S^{-1} - + .. c:var:: scf_energy @@ -329,7 +329,7 @@ Providers Hartree-Fock energy - + .. c:var:: threshold_diis_nonzero @@ -342,11 +342,11 @@ Providers If threshold_DIIS is zero, choose sqrt(thresh_scf) - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: damping_scf @@ -360,7 +360,7 @@ Subroutines / functions - + .. c:function:: huckel_guess @@ -374,7 +374,7 @@ Subroutines / functions Build the MOs using the extended Huckel model - + .. c:function:: roothaan_hall_scf diff --git a/docs/source/modules/selectors_cassd.rst b/docs/source/modules/selectors_cassd.rst index d6c2b8ff..d322e32a 100644 --- a/docs/source/modules/selectors_cassd.rst +++ b/docs/source/modules/selectors_cassd.rst @@ -1,13 +1,13 @@ -.. _selectors_cassd: - -.. program:: selectors_cassd - -.. default-role:: option - +.. _selectors_cassd: + +.. program:: selectors_cassd + +.. default-role:: option + =============== selectors_cassd =============== Selectors for |CAS-SD| calculations. The selectors are defined as first the generators from :ref:`Generators_CAS`, and then the rest of the wave function. - + diff --git a/docs/source/modules/selectors_full.rst b/docs/source/modules/selectors_full.rst index 9edb70b9..dd722241 100644 --- a/docs/source/modules/selectors_full.rst +++ b/docs/source/modules/selectors_full.rst @@ -1,9 +1,9 @@ -.. _selectors_full: - -.. program:: selectors_full - -.. default-role:: option - +.. _selectors_full: + +.. program:: selectors_full + +.. default-role:: option + ============== selectors_full ============== @@ -11,12 +11,12 @@ selectors_full All the determinants are possible selectors. Only the largest contributions are kept, where a threshold is applied to the squared norm of the wave function, with the :option:`determinants threshold_selectors` flag. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: n_det_selectors @@ -29,7 +29,7 @@ Providers For Single reference wave functions, the number of selectors is 1 : the Hartree-Fock determinant - + .. c:var:: psi_selectors @@ -43,7 +43,7 @@ Providers Determinants on which we apply for perturbation. - + .. c:var:: psi_selectors_coef @@ -57,7 +57,7 @@ Providers Determinants on which we apply for perturbation. - + .. c:var:: threshold_selectors diff --git a/docs/source/modules/selectors_utils.rst b/docs/source/modules/selectors_utils.rst index 959d2930..678d4587 100644 --- a/docs/source/modules/selectors_utils.rst +++ b/docs/source/modules/selectors_utils.rst @@ -1,21 +1,21 @@ -.. _selectors_utils: - -.. program:: selectors_utils - -.. default-role:: option - +.. _selectors_utils: + +.. program:: selectors_utils + +.. default-role:: option + =============== selectors_utils =============== Helper functions for selectors. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: coef_hf_selector @@ -41,7 +41,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: delta_e_per_selector @@ -67,7 +67,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: double_index_selectors @@ -86,7 +86,7 @@ Providers n_double_selectors = number of double excitations in the selectors determinants - + .. c:var:: e_corr_double_only @@ -112,7 +112,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: e_corr_per_selectors @@ -138,7 +138,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: e_corr_second_order @@ -164,7 +164,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: exc_degree_per_selectors @@ -183,7 +183,7 @@ Providers n_double_selectors = number of double excitations in the selectors determinants - + .. c:var:: i_h_hf_per_selectors @@ -209,7 +209,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: inv_selectors_coef_hf @@ -235,7 +235,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: inv_selectors_coef_hf_squared @@ -261,7 +261,7 @@ Providers coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - + .. c:var:: n_double_selectors @@ -280,7 +280,7 @@ Providers n_double_selectors = number of double excitations in the selectors determinants - + .. c:var:: psi_selectors_coef_transp @@ -293,7 +293,7 @@ Providers Transposed psi_selectors - + .. c:var:: psi_selectors_diag_h_mat @@ -306,7 +306,7 @@ Providers Diagonal elements of the H matrix for each selectors - + .. c:var:: psi_selectors_size @@ -319,11 +319,11 @@ Providers - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: zmq_get_n_det_generators @@ -337,7 +337,7 @@ Subroutines / functions Get N_det_generators from the qp_run scheduler - + .. c:function:: zmq_get_n_det_selectors @@ -351,7 +351,7 @@ Subroutines / functions Get N_det_selectors from the qp_run scheduler - + .. c:function:: zmq_put_n_det_generators @@ -365,7 +365,7 @@ Subroutines / functions Put N_det_generators on the qp_run scheduler - + .. c:function:: zmq_put_n_det_selectors diff --git a/docs/source/modules/single_ref_method.rst b/docs/source/modules/single_ref_method.rst index c0a6f43e..1365acc7 100644 --- a/docs/source/modules/single_ref_method.rst +++ b/docs/source/modules/single_ref_method.rst @@ -1,9 +1,9 @@ -.. _single_ref_method: - -.. program:: single_ref_method - -.. default-role:: option - +.. _single_ref_method: + +.. program:: single_ref_method + +.. default-role:: option + ================= single_ref_method ================= @@ -11,75 +11,4 @@ single_ref_method Include this module for single reference methods. Using this module, the only generator determinant is the Hartree-Fock determinant. - - - -Providers ---------- - - -.. c:var:: n_det_generators - - .. code:: text - - integer :: n_det_generators - - File: :file:`generators.irp.f` - - For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant - - - - -.. c:var:: psi_coef_generators - - .. code:: text - - integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) - double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) - - File: :file:`generators.irp.f` - - For Single reference wave functions, the generator is the Hartree-Fock determinant - - - - -.. c:var:: psi_det_generators - - .. code:: text - - integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) - double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) - - File: :file:`generators.irp.f` - - For Single reference wave functions, the generator is the Hartree-Fock determinant - - - - -.. c:var:: select_max - - .. code:: text - - double precision, allocatable :: select_max (1) - - File: :file:`generators.irp.f` - - Memo to skip useless selectors - - - - -.. c:var:: size_select_max - - .. code:: text - - integer :: size_select_max - - File: :file:`generators.irp.f` - - Size of select_max - - + diff --git a/docs/source/modules/tools.rst b/docs/source/modules/tools.rst index af5ebbfe..9e916ab2 100644 --- a/docs/source/modules/tools.rst +++ b/docs/source/modules/tools.rst @@ -1,134 +1,34 @@ -.. _tools: - -.. program:: tools - -.. default-role:: option - +.. _tools: + +.. program:: tools + +.. default-role:: option + ===== tools ===== Useful tools are grouped in this module. - - - -Subroutines / functions ------------------------ - - - -.. c:function:: diagonalize_h - - .. code:: text - - subroutine diagonalize_h - - File: :file:`diagonalize_h.irp.f` - - Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder. - - If :option:`determinants s2_eig` = True, it will retain only states - - which corresponds to the desired value of :option:`determinants expected_s2`. - - - - - -.. c:function:: fcidump - - .. code:: text - - subroutine fcidump - - File: :file:`fcidump.irp.f` - - Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder. - - To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`). - - The fcidump program supports 3 types of MO_class : - - * the "core" orbitals which are always doubly occupied in the calculation - - * the "del" orbitals that are never occupied in the calculation - - * the "act" orbitals that will be occupied by a varying number of electrons - - - - - -.. c:function:: four_idx_transform - - .. code:: text - - subroutine four_idx_transform - - File: :file:`four_idx_transform.irp.f` - - 4-index transformation of two-electron integrals from |AO| to |MO| integrals. - - This program will compute the two-electron integrals on the |MO| basis and store it into the |EZFIO| folder. - - This program can be useful if the AO --> MO transformation is an expensive step by itself. - - - - - -.. c:function:: molden - - .. code:: text - - subroutine molden - - File: :file:`molden.irp.f` - - Produce a Molden file - - - - - -.. c:function:: print_e_conv - - .. code:: text - - subroutine print_e_conv - - File: :file:`print_e_conv.irp.f` - - program that prints in a human readable format the convergence of the CIPSI algorithm. - - for all istate, this program produces - - * a file "EZFIO.istate.conv" containing the variational and var+PT2 energies as a function of N_det - - * for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det - - - - - -.. c:function:: print_wf - - .. code:: text - - subroutine print_wf - - File: :file:`print_wf.irp.f` - - Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization. - - It also prints a lot of information regarding the excitation operators from the reference determinant - - and a first-order perturbative analysis of the wave function. - - If the wave function strongly deviates from the first-order analysis, something funny is going on :) - - - + + + +Programs +-------- + + * :ref:`diagonalize_h` + * :ref:`fcidump` + * :ref:`four_idx_transform` + * :ref:`molden` + * :ref:`print_e_conv` + * :ref:`print_wf` + * :ref:`save_natorb` + * :ref:`save_one_e_dm` + * :ref:`save_ortho_mos` + * :ref:`write_integrals_erf` + +Subroutines / functions +----------------------- + .. c:function:: routine @@ -142,7 +42,7 @@ Subroutines / functions - + .. c:function:: routine_e_conv @@ -156,7 +56,7 @@ Subroutines / functions routine called by :c:func:`print_e_conv` - + .. c:function:: routine_save_one_e_dm @@ -170,67 +70,7 @@ Subroutines / functions routine called by :c:func:`save_one_e_dm` - - - -.. c:function:: save_natorb - - .. code:: text - - subroutine save_natorb - - File: :file:`save_natorb.irp.f` - - Save natural MOs into the EZFIO - - This program reads the wave function stored in the EZFIO folder, - - extracts the corresponding natural orbitals and set them as the new MOs - - If this is a multi-state calculation, the density matrix that produces the natural orbitals - - is obtained from a state-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight). - - - - - -.. c:function:: save_one_e_dm - - .. code:: text - - subroutine save_one_e_dm - - File: :file:`save_one_e_dm.irp.f` - - programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities. - - Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation. - - This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module). - - - - - -.. c:function:: save_ortho_mos - - .. code:: text - - subroutine save_ortho_mos - - File: :file:`save_ortho_mos.irp.f` - - Save orthonormalized MOs in the EZFIO. - - This program reads the current MOs, computes the corresponding overlap matrix in the MO basis - - and perform a Lowdin orthonormalization : :math:`MO_{new} = S^{-1/2} MO_{guess}`. - - Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs. - - - + .. c:function:: write_ao_basis @@ -244,7 +84,7 @@ Subroutines / functions - + .. c:function:: write_geometry @@ -258,21 +98,7 @@ Subroutines / functions - - - -.. c:function:: write_integrals - - .. code:: text - - subroutine write_integrals - - File: :file:`write_integrals_erf.irp.f` - - Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder - - - + .. c:function:: write_intro_gamess @@ -286,7 +112,7 @@ Subroutines / functions - + .. c:function:: write_mo_basis diff --git a/docs/source/modules/utils.rst b/docs/source/modules/utils.rst index 6437de1f..4c828d09 100644 --- a/docs/source/modules/utils.rst +++ b/docs/source/modules/utils.rst @@ -1,21 +1,21 @@ -.. _utils: - -.. program:: utils - -.. default-role:: option - +.. _utils: + +.. program:: utils + +.. default-role:: option + ===== utils ===== Contains general purpose utilities (sorting, maps, etc). - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: binom @@ -29,7 +29,7 @@ Providers Binomial coefficients - + .. c:var:: binom_int @@ -43,7 +43,7 @@ Providers Binomial coefficients, as integers*8 - + .. c:var:: binom_int_transp @@ -57,7 +57,7 @@ Providers Binomial coefficients, as integers*8 - + .. c:var:: binom_transp @@ -71,7 +71,7 @@ Providers Binomial coefficients - + .. c:var:: degree_max_integration_lebedev @@ -84,7 +84,7 @@ Providers integrate correctly a polynom of order "degree_max_integration_lebedev" needed for the angular integration according to LEBEDEV formulae - + .. c:var:: dtranspose @@ -97,7 +97,7 @@ Providers Transpose input matrix A into output matrix B - + .. c:var:: fact_inv @@ -110,7 +110,7 @@ Providers 1/n! - + .. c:var:: i2radix_sort @@ -123,7 +123,7 @@ Providers Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. - + .. c:var:: i8radix_sort @@ -136,7 +136,7 @@ Providers Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. - + .. c:var:: i8radix_sort_big @@ -149,7 +149,7 @@ Providers Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. - + .. c:var:: inv_int @@ -162,7 +162,7 @@ Providers 1/i - + .. c:var:: iradix_sort @@ -175,7 +175,7 @@ Providers Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. - + .. c:var:: iradix_sort_big @@ -188,7 +188,7 @@ Providers Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. - + .. c:var:: n_points_integration_angular_lebedev @@ -201,7 +201,7 @@ Providers Number of points needed for the angular integral - + .. c:var:: nproc @@ -214,7 +214,7 @@ Providers Number of current OpenMP threads - + .. c:var:: overlap_gaussian_xyz @@ -232,7 +232,7 @@ Providers - + .. c:var:: phi_angular_integration_lebedev @@ -247,7 +247,7 @@ Providers Theta phi values together with the weights values for the angular integration : integral [dphi,dtheta] f(x,y,z) = 4 * pi * sum (1 - + .. c:function:: u_dot_v @@ -1930,7 +1930,7 @@ Subroutines / functions Compute - + .. c:function:: wall_time @@ -1944,7 +1944,7 @@ Subroutines / functions The equivalent of cpu_time, but for the wall time. - + .. c:function:: write_git_log diff --git a/docs/source/modules/zmq.rst b/docs/source/modules/zmq.rst index c70a4b0f..9a9e3da6 100644 --- a/docs/source/modules/zmq.rst +++ b/docs/source/modules/zmq.rst @@ -1,9 +1,9 @@ -.. _zmq: - -.. program:: zmq - -.. default-role:: option - +.. _zmq: + +.. program:: zmq + +.. default-role:: option + === zmq === @@ -11,12 +11,12 @@ zmq Definition of |ZeroMQ| sockets and messages. - - - -Providers ---------- - + + + +Providers +--------- + .. c:var:: is_zmq_slave @@ -29,7 +29,7 @@ Providers If |true|, the current process is a |ZeroMQ| slave. - + .. c:var:: qp_run_address @@ -43,7 +43,7 @@ Providers Address of the qp_run socket Example : tcp://130.120.229.139:12345 - + .. c:var:: zmq_context @@ -57,7 +57,7 @@ Providers Context for the ZeroMQ library - + .. c:var:: zmq_lock @@ -71,7 +71,7 @@ Providers Context for the ZeroMQ library - + .. c:var:: zmq_port_start @@ -85,7 +85,7 @@ Providers Address of the qp_run socket Example : tcp://130.120.229.139:12345 - + .. c:var:: zmq_socket_pair_inproc_address @@ -103,7 +103,7 @@ Providers Socket which pulls the results (2) - + .. c:var:: zmq_socket_pull_inproc_address @@ -121,7 +121,7 @@ Providers Socket which pulls the results (2) - + .. c:var:: zmq_socket_pull_tcp_address @@ -139,7 +139,7 @@ Providers Socket which pulls the results (2) - + .. c:var:: zmq_socket_push_inproc_address @@ -157,7 +157,7 @@ Providers Socket which pulls the results (2) - + .. c:var:: zmq_socket_push_tcp_address @@ -175,7 +175,7 @@ Providers Socket which pulls the results (2) - + .. c:var:: zmq_socket_sub_tcp_address @@ -193,7 +193,7 @@ Providers Socket which pulls the results (2) - + .. c:var:: zmq_state @@ -206,11 +206,11 @@ Providers Threads executing work through the ZeroMQ interface - - -Subroutines / functions ------------------------ - + + +Subroutines / functions +----------------------- + .. c:function:: add_task_to_taskserver @@ -224,7 +224,7 @@ Subroutines / functions Get a task from the task server - + .. c:function:: connect_to_taskserver @@ -238,7 +238,7 @@ Subroutines / functions Connect to the task server and obtain the worker ID - + .. c:function:: disconnect_from_taskserver @@ -252,7 +252,7 @@ Subroutines / functions Disconnect from the task server - + .. c:function:: disconnect_from_taskserver_state @@ -266,7 +266,7 @@ Subroutines / functions Disconnect from the task server - + .. c:function:: end_parallel_job @@ -280,7 +280,7 @@ Subroutines / functions End a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' - + .. c:function:: end_zmq_pair_socket @@ -294,7 +294,7 @@ Subroutines / functions Terminate socket on which the results are sent. - + .. c:function:: end_zmq_pull_socket @@ -308,7 +308,7 @@ Subroutines / functions Terminate socket on which the results are sent. - + .. c:function:: end_zmq_push_socket @@ -322,7 +322,7 @@ Subroutines / functions Terminate socket on which the results are sent. - + .. c:function:: end_zmq_sub_socket @@ -336,7 +336,7 @@ Subroutines / functions Terminate socket on which the results are sent. - + .. c:function:: end_zmq_to_qp_run_socket @@ -350,7 +350,7 @@ Subroutines / functions Terminate the socket from the application to qp_run - + .. c:function:: get_task_from_taskserver @@ -364,7 +364,7 @@ Subroutines / functions Get a task from the task server - + .. c:function:: get_tasks_from_taskserver @@ -378,7 +378,7 @@ Subroutines / functions Get multiple tasks from the task server - + .. c:function:: new_parallel_job @@ -392,7 +392,7 @@ Subroutines / functions Start a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' - + .. c:function:: new_zmq_pair_socket @@ -406,7 +406,7 @@ Subroutines / functions Socket on which the collector and the main communicate - + .. c:function:: new_zmq_pull_socket @@ -420,7 +420,7 @@ Subroutines / functions Socket on which the results are sent. If thread is 1, use inproc - + .. c:function:: new_zmq_push_socket @@ -434,7 +434,7 @@ Subroutines / functions Socket on which the results are sent. If thread is 1, use inproc - + .. c:function:: new_zmq_sub_socket @@ -448,7 +448,7 @@ Subroutines / functions Socket to read the state published by the Task server - + .. c:function:: new_zmq_to_qp_run_socket @@ -462,7 +462,7 @@ Subroutines / functions Socket on which the qp_run process replies - + .. c:function:: reset_zmq_addresses @@ -476,7 +476,7 @@ Subroutines / functions Socket which pulls the results (2) - + .. c:function:: switch_qp_run_to_master @@ -490,7 +490,7 @@ Subroutines / functions Address of the master qp_run socket Example : tcp://130.120.229.139:12345 - + .. c:function:: task_done_to_taskserver @@ -504,7 +504,7 @@ Subroutines / functions Get a task from the task server - + .. c:function:: tasks_done_to_taskserver @@ -518,7 +518,7 @@ Subroutines / functions Get a task from the task server - + .. c:function:: wait_for_next_state @@ -532,7 +532,7 @@ Subroutines / functions - + .. c:function:: wait_for_state @@ -546,7 +546,7 @@ Subroutines / functions Wait for the ZMQ state to be ready - + .. c:function:: wait_for_states @@ -560,7 +560,7 @@ Subroutines / functions Wait for the ZMQ state to be ready - + .. c:function:: zmq_abort @@ -574,7 +574,7 @@ Subroutines / functions Aborts a running parallel computation - + .. c:function:: zmq_delete_task @@ -588,7 +588,7 @@ Subroutines / functions When a task is done, it has to be removed from the list of tasks on the qp_run queue. This guarantees that the results have been received in the pull. - + .. c:function:: zmq_delete_tasks @@ -602,7 +602,7 @@ Subroutines / functions When a task is done, it has to be removed from the list of tasks on the qp_run queue. This guarantees that the results have been received in the pull. - + .. c:function:: zmq_delete_tasks_async_recv @@ -616,7 +616,7 @@ Subroutines / functions When a task is done, it has to be removed from the list of tasks on the qp_run queue. This guarantees that the results have been received in the pull. - + .. c:function:: zmq_delete_tasks_async_send @@ -630,7 +630,7 @@ Subroutines / functions When a task is done, it has to be removed from the list of tasks on the qp_run queue. This guarantees that the results have been received in the pull. - + .. c:function:: zmq_get8_dvector @@ -644,7 +644,7 @@ Subroutines / functions Get a float vector from the qp_run scheduler - + .. c:function:: zmq_get8_ivector @@ -658,7 +658,7 @@ Subroutines / functions Get a vector of integers from the qp_run scheduler - + .. c:function:: zmq_get_dmatrix @@ -672,7 +672,7 @@ Subroutines / functions Get a float vector from the qp_run scheduler - + .. c:function:: zmq_get_dvector @@ -686,7 +686,7 @@ Subroutines / functions Get a float vector from the qp_run scheduler - + .. c:function:: zmq_get_i8matrix @@ -700,7 +700,7 @@ Subroutines / functions Get a float vector from the qp_run scheduler - + .. c:function:: zmq_get_imatrix @@ -714,7 +714,7 @@ Subroutines / functions Get a float vector from the qp_run scheduler - + .. c:function:: zmq_get_int @@ -728,7 +728,7 @@ Subroutines / functions Get a vector of integers from the qp_run scheduler - + .. c:function:: zmq_get_int_nompi @@ -742,7 +742,7 @@ Subroutines / functions Get a vector of integers from the qp_run scheduler - + .. c:function:: zmq_get_ivector @@ -756,7 +756,7 @@ Subroutines / functions Get a vector of integers from the qp_run scheduler - + .. c:function:: zmq_port @@ -770,7 +770,7 @@ Subroutines / functions Return the value of the ZMQ port from the corresponding integer - + .. c:function:: zmq_put8_dvector @@ -784,7 +784,7 @@ Subroutines / functions Put a float vector on the qp_run scheduler - + .. c:function:: zmq_put8_ivector @@ -798,7 +798,7 @@ Subroutines / functions Put a vector of integers on the qp_run scheduler - + .. c:function:: zmq_put_dmatrix @@ -812,7 +812,7 @@ Subroutines / functions Put a float vector on the qp_run scheduler - + .. c:function:: zmq_put_dvector @@ -826,7 +826,7 @@ Subroutines / functions Put a float vector on the qp_run scheduler - + .. c:function:: zmq_put_i8matrix @@ -840,7 +840,7 @@ Subroutines / functions Put a float vector on the qp_run scheduler - + .. c:function:: zmq_put_imatrix @@ -854,7 +854,7 @@ Subroutines / functions Put a float vector on the qp_run scheduler - + .. c:function:: zmq_put_int @@ -868,7 +868,7 @@ Subroutines / functions Put a vector of integers on the qp_run scheduler - + .. c:function:: zmq_put_ivector @@ -882,7 +882,7 @@ Subroutines / functions Put a vector of integers on the qp_run scheduler - + .. c:function:: zmq_set_running diff --git a/docs/source/programmers_guide/conventions.rst b/docs/source/programmers_guide/conventions.rst index 4f063fe7..ecd6d6b0 100644 --- a/docs/source/programmers_guide/conventions.rst +++ b/docs/source/programmers_guide/conventions.rst @@ -104,4 +104,12 @@ After a `read` statement there should be no comma. Only standard Fortran is allowed : Intel or GNU extensions are forbidden. +The name of a program should be the same as the name of the file. For example, +for the :ref:`fci` program, we have + +.. code-block:: fortan + + program fci + +and the file is named :file:`fci.irp.f`. diff --git a/docs/source/programmers_guide/index_providers.rst b/docs/source/programmers_guide/index_providers.rst index 4cadc9ac..21e2f86c 100644 --- a/docs/source/programmers_guide/index_providers.rst +++ b/docs/source/programmers_guide/index_providers.rst @@ -1,1395 +1,1398 @@ -Index of Providers ------------------- - -* :c:data:`abs_psi_coef_max` -* :c:data:`abs_psi_coef_min` -* :c:data:`alpha_knowles` -* :c:data:`angular_quadrature_points` -* :c:data:`ao_cart_to_sphe_coef` -* :c:data:`ao_cart_to_sphe_inv` -* :c:data:`ao_cart_to_sphe_num` -* :c:data:`ao_cart_to_sphe_overlap` -* :c:data:`ao_cartesian` -* :c:data:`ao_coef` -* :c:data:`ao_coef_normalization_factor` -* :c:data:`ao_coef_normalization_libint_factor` -* :c:data:`ao_coef_normalized` -* :c:data:`ao_coef_normalized_ordered` -* :c:data:`ao_coef_normalized_ordered_transp` -* :c:data:`ao_coef_normalized_ordered_transp_per_nucl` -* :c:data:`ao_deriv2_x` -* :c:data:`ao_deriv2_y` -* :c:data:`ao_deriv2_z` -* :c:data:`ao_deriv_1_x` -* :c:data:`ao_deriv_1_y` -* :c:data:`ao_deriv_1_z` -* :c:data:`ao_dipole_x` -* :c:data:`ao_dipole_y` -* :c:data:`ao_dipole_z` -* :c:data:`ao_expo` -* :c:data:`ao_expo_ordered` -* :c:data:`ao_expo_ordered_transp` -* :c:data:`ao_expo_ordered_transp_per_nucl` -* :c:data:`ao_integrals_cache` -* :c:data:`ao_integrals_cache_max` -* :c:data:`ao_integrals_cache_min` -* :c:data:`ao_integrals_erf_cache` -* :c:data:`ao_integrals_erf_cache_max` -* :c:data:`ao_integrals_erf_cache_min` -* :c:data:`ao_integrals_erf_map` -* :c:data:`ao_integrals_map` -* :c:data:`ao_integrals_n_e` -* :c:data:`ao_integrals_n_e_per_atom` -* :c:data:`ao_integrals_threshold` -* :c:data:`ao_kinetic_integrals` -* :c:data:`ao_l` -* :c:data:`ao_l_char` -* :c:data:`ao_l_char_space` -* :c:data:`ao_l_max` -* :c:data:`ao_md5` -* :c:data:`ao_nucl` -* :c:data:`ao_num` -* :c:data:`ao_one_e_integrals` -* :c:data:`ao_one_e_integrals_diag` -* :c:data:`ao_ortho_canonical_coef` -* :c:data:`ao_ortho_canonical_coef_inv` -* :c:data:`ao_ortho_canonical_nucl_elec_integrals` -* :c:data:`ao_ortho_canonical_num` -* :c:data:`ao_ortho_canonical_overlap` -* :c:data:`ao_ortho_lowdin_coef` -* :c:data:`ao_ortho_lowdin_nucl_elec_integrals` -* :c:data:`ao_ortho_lowdin_overlap` -* :c:data:`ao_overlap` -* :c:data:`ao_overlap_abs` -* :c:data:`ao_overlap_x` -* :c:data:`ao_overlap_y` -* :c:data:`ao_overlap_z` -* :c:data:`ao_potential_alpha_xc` -* :c:data:`ao_potential_beta_xc` -* :c:data:`ao_power` -* :c:data:`ao_power_ordered_transp_per_nucl` -* :c:data:`ao_prim_num` -* :c:data:`ao_prim_num_max` -* :c:data:`ao_pseudo_integrals` -* :c:data:`ao_pseudo_integrals_local` -* :c:data:`ao_pseudo_integrals_non_local` -* :c:data:`ao_spread_x` -* :c:data:`ao_spread_y` -* :c:data:`ao_spread_z` -* :c:data:`ao_two_e_integral_alpha` -* :c:data:`ao_two_e_integral_beta` -* :c:data:`ao_two_e_integral_erf_schwartz` -* :c:data:`ao_two_e_integral_schwartz` -* :c:data:`ao_two_e_integrals_erf_in_map` -* :c:data:`ao_two_e_integrals_in_map` -* :c:data:`aos_dsr_vc_alpha_pbe_w` -* :c:data:`aos_dsr_vc_beta_pbe_w` -* :c:data:`aos_dsr_vx_alpha_pbe_w` -* :c:data:`aos_dsr_vx_beta_pbe_w` -* :c:data:`aos_dvc_alpha_pbe_w` -* :c:data:`aos_dvc_beta_pbe_w` -* :c:data:`aos_dvx_alpha_pbe_w` -* :c:data:`aos_dvx_beta_pbe_w` -* :c:data:`aos_grad_in_r_array` -* :c:data:`aos_grad_in_r_array_transp` -* :c:data:`aos_grad_in_r_array_transp_xyz` -* :c:data:`aos_in_r_array` -* :c:data:`aos_in_r_array_transp` -* :c:data:`aos_lapl_in_r_array` -* :c:data:`aos_lapl_in_r_array_transp` -* :c:data:`aos_sr_vc_alpha_lda_w` -* :c:data:`aos_sr_vc_alpha_pbe_w` -* :c:data:`aos_sr_vc_beta_lda_w` -* :c:data:`aos_sr_vc_beta_pbe_w` -* :c:data:`aos_sr_vx_alpha_lda_w` -* :c:data:`aos_sr_vx_alpha_pbe_w` -* :c:data:`aos_sr_vx_beta_lda_w` -* :c:data:`aos_sr_vx_beta_pbe_w` -* :c:data:`aos_vc_alpha_lda_w` -* :c:data:`aos_vc_alpha_pbe_w` -* :c:data:`aos_vc_beta_lda_w` -* :c:data:`aos_vc_beta_pbe_w` -* :c:data:`aos_vx_alpha_lda_w` -* :c:data:`aos_vx_alpha_pbe_w` -* :c:data:`aos_vx_beta_lda_w` -* :c:data:`aos_vx_beta_pbe_w` -* :c:data:`barycentric_electronic_energy` -* :c:data:`big_array_coulomb_integrals` -* :c:data:`big_array_exchange_integrals` -* :c:data:`binom` -* :c:data:`binom_int` -* :c:data:`binom_int_transp` -* :c:data:`binom_transp` -* :c:data:`c0_weight` -* :c:data:`cart_to_sphe_0` -* :c:data:`cart_to_sphe_1` -* :c:data:`cart_to_sphe_2` -* :c:data:`cart_to_sphe_3` -* :c:data:`cart_to_sphe_4` -* :c:data:`cart_to_sphe_5` -* :c:data:`cart_to_sphe_6` -* :c:data:`cart_to_sphe_7` -* :c:data:`cart_to_sphe_8` -* :c:data:`cart_to_sphe_9` -* :c:data:`cas_bitmask` -* :c:data:`center_of_mass` -* :c:data:`ci_eigenvectors` -* :c:data:`ci_eigenvectors_s2` -* :c:data:`ci_electronic_energy` -* :c:data:`ci_energy` -* :c:data:`closed_shell_ref_bitmask` -* :c:data:`coef_hf_selector` -* :c:data:`core_bitmask` -* :c:data:`core_energy` -* :c:data:`core_energy_erf` -* :c:data:`core_fock_operator` -* :c:data:`core_fock_operator_erf` -* :c:data:`core_inact_act_bitmask_4` -* :c:data:`core_inact_virt_bitmask` -* :c:data:`correlation_energy_ratio_max` -* :c:data:`correlation_functional` -* :c:data:`damping_for_rs_dft` -* :c:data:`data_energy_proj` -* :c:data:`data_energy_var` -* :c:data:`data_one_e_dm_alpha_mo` -* :c:data:`data_one_e_dm_beta_mo` -* :c:data:`davidson_criterion` -* :c:data:`davidson_sze_max` -* :c:data:`degree_max_generators` -* :c:data:`degree_max_integration_lebedev` -* :c:data:`delta_e_per_selector` -* :c:data:`density_for_dft` -* :c:data:`det_alpha_norm` -* :c:data:`det_beta_norm` -* :c:data:`det_to_occ_pattern` -* :c:data:`dft_type` -* :c:data:`diag_algorithm` -* :c:data:`diagonal_h_matrix_on_psi_det` -* :c:data:`disk_access_nuclear_repulsion` -* :c:data:`disk_based_davidson` -* :c:data:`distributed_davidson` -* :c:data:`do_direct_integrals` -* :c:data:`do_pseudo` -* :c:data:`do_pt2` -* :c:data:`double_exc_bitmask` -* :c:data:`double_index_selectors` -* :c:data:`dr_radial_integral` -* :c:data:`dressed_column_idx` -* :c:data:`dressing_column_h` -* :c:data:`dressing_column_s` -* :c:data:`dtranspose` -* :c:data:`e_corr_double_only` -* :c:data:`e_corr_per_selectors` -* :c:data:`e_corr_second_order` -* :c:data:`e_correlation_dft` -* :c:data:`e_exchange_dft` -* :c:data:`effective_one_e_potential` -* :c:data:`effective_one_e_potential_without_kin` -* :c:data:`eigenvalues_fock_matrix_ao` -* :c:data:`eigenvectors_fock_matrix_ao` -* :c:data:`eigenvectors_fock_matrix_mo` -* :c:data:`elec_alpha_num` -* :c:data:`elec_beta_num` -* :c:data:`elec_num` -* :c:data:`elec_num_tab` -* :c:data:`element_mass` -* :c:data:`element_name` -* :c:data:`energy_c` -* :c:data:`energy_c_lda` -* :c:data:`energy_c_pbe` -* :c:data:`energy_iterations` -* :c:data:`energy_sr_c_lda` -* :c:data:`energy_sr_c_pbe` -* :c:data:`energy_sr_x_lda` -* :c:data:`energy_sr_x_pbe` -* :c:data:`energy_x` -* :c:data:`energy_x_lda` -* :c:data:`energy_x_pbe` -* :c:data:`exc_degree_per_selectors` -* :c:data:`exchange_functional` -* :c:data:`expected_s2` -* :c:data:`extra_e_contrib_density` -* :c:data:`extrapolate_fock_matrix` -* :c:data:`extrapolated_energy` -* :c:data:`ezfio_filename` -* :c:data:`ezfio_work_dir` -* :c:data:`fact_inv` -* :c:data:`fill_h_apply_buffer_selection` -* :c:data:`final_grid_points` -* :c:data:`final_weight_at_r` -* :c:data:`final_weight_at_r_vector` -* :c:data:`fock_matrix_alpha_no_xc_ao` -* :c:data:`fock_matrix_ao` -* :c:data:`fock_matrix_ao_alpha` -* :c:data:`fock_matrix_ao_beta` -* :c:data:`fock_matrix_beta_no_xc_ao` -* :c:data:`fock_matrix_diag_mo` -* :c:data:`fock_matrix_energy` -* :c:data:`fock_matrix_mo` -* :c:data:`fock_matrix_mo_alpha` -* :c:data:`fock_matrix_mo_beta` -* :c:data:`fock_operator_closed_shell_ref_bitmask` -* :c:data:`fock_wee_closed_shell` -* :c:data:`fps_spf_matrix_ao` -* :c:data:`fps_spf_matrix_mo` -* :c:data:`frozen_orb_scf` -* :c:data:`full_ijkl_bitmask` -* :c:data:`full_ijkl_bitmask_4` -* :c:data:`gauleg_t2` -* :c:data:`gauleg_w` -* :c:data:`general_primitive_integral` -* :c:data:`general_primitive_integral_erf` -* :c:data:`generators_bitmask` -* :c:data:`generators_bitmask_restart` -* :c:data:`gga_sr_type_functionals` -* :c:data:`gga_type_functionals` -* :c:data:`give_polynomial_mult_center_one_e_erf` -* :c:data:`give_polynomial_mult_center_one_e_erf_opt` -* :c:data:`grad_aos_dsr_vc_alpha_pbe_w` -* :c:data:`grad_aos_dsr_vc_beta_pbe_w` -* :c:data:`grad_aos_dsr_vx_alpha_pbe_w` -* :c:data:`grad_aos_dsr_vx_beta_pbe_w` -* :c:data:`grad_aos_dvc_alpha_pbe_w` -* :c:data:`grad_aos_dvc_beta_pbe_w` -* :c:data:`grad_aos_dvx_alpha_pbe_w` -* :c:data:`grad_aos_dvx_beta_pbe_w` -* :c:data:`grid_points_per_atom` -* :c:data:`grid_points_radial` -* :c:data:`grid_type_sgn` -* :c:data:`h0_type` -* :c:data:`h_apply_buffer_allocated` -* :c:data:`h_apply_buffer_lock` -* :c:data:`h_matrix_all_dets` -* :c:data:`h_matrix_cas` -* :c:data:`hf_bitmask` -* :c:data:`hf_energy` -* :c:data:`hf_exchange` -* :c:data:`hf_one_electron_energy` -* :c:data:`hf_two_electron_energy` -* :c:data:`i2radix_sort` -* :c:data:`i8radix_sort` -* :c:data:`i8radix_sort_big` -* :c:data:`i_bitmask_gen` -* :c:data:`i_h_hf_per_selectors` -* :c:data:`i_x1_new` -* :c:data:`i_x1_pol_mult_a1` -* :c:data:`i_x1_pol_mult_a2` -* :c:data:`i_x1_pol_mult_one_e` -* :c:data:`i_x1_pol_mult_recurs` -* :c:data:`i_x2_new` -* :c:data:`i_x2_pol_mult` -* :c:data:`i_x2_pol_mult_one_e` -* :c:data:`idx_cas` -* :c:data:`idx_non_cas` -* :c:data:`inact_bitmask` -* :c:data:`inact_virt_bitmask` -* :c:data:`index_final_points` -* :c:data:`index_final_points_reverse` -* :c:data:`index_holes_bitmask` -* :c:data:`index_particl_bitmask` -* :c:data:`inertia_tensor` -* :c:data:`inertia_tensor_eigenvalues` -* :c:data:`inertia_tensor_eigenvectors` -* :c:data:`initialize_pt2_e0_denominator` -* :c:data:`insert_into_mo_integrals_erf_map` -* :c:data:`insert_into_mo_integrals_map` -* :c:data:`int_erf_3_index` -* :c:data:`int_erf_3_index_exc` -* :c:data:`inv_int` -* :c:data:`inv_selectors_coef_hf` -* :c:data:`inv_selectors_coef_hf_squared` -* :c:data:`io_ao_integrals_e_n` -* :c:data:`io_ao_integrals_kinetic` -* :c:data:`io_ao_integrals_overlap` -* :c:data:`io_ao_integrals_pseudo` -* :c:data:`io_ao_one_e_integrals` -* :c:data:`io_ao_two_e_integrals` -* :c:data:`io_ao_two_e_integrals_erf` -* :c:data:`io_mo_integrals_e_n` -* :c:data:`io_mo_integrals_kinetic` -* :c:data:`io_mo_integrals_pseudo` -* :c:data:`io_mo_one_e_integrals` -* :c:data:`io_mo_two_e_integrals` -* :c:data:`io_mo_two_e_integrals_erf` -* :c:data:`iradix_sort` -* :c:data:`iradix_sort_big` -* :c:data:`is_zmq_slave` -* :c:data:`ks_energy` -* :c:data:`l_to_charater` -* :c:data:`level_shift` -* :c:data:`list_act` -* :c:data:`list_act_reverse` -* :c:data:`list_core` -* :c:data:`list_core_inact` -* :c:data:`list_core_inact_act` -* :c:data:`list_core_inact_act_reverse` -* :c:data:`list_core_inact_reverse` -* :c:data:`list_core_reverse` -* :c:data:`list_inact` -* :c:data:`list_inact_reverse` -* :c:data:`list_virt` -* :c:data:`list_virt_reverse` -* :c:data:`m_knowles` -* :c:data:`max_degree_exc` -* :c:data:`max_dim_diis` -* :c:data:`max_exc_pert` -* :c:data:`mo_class` -* :c:data:`mo_coef` -* :c:data:`mo_coef_begin_iteration` -* :c:data:`mo_coef_in_ao_ortho_basis` -* :c:data:`mo_coef_transp` -* :c:data:`mo_dipole_x` -* :c:data:`mo_dipole_y` -* :c:data:`mo_dipole_z` -* :c:data:`mo_energy_expval` -* :c:data:`mo_guess_type` -* :c:data:`mo_integrals_cache` -* :c:data:`mo_integrals_cache_max` -* :c:data:`mo_integrals_cache_max_8` -* :c:data:`mo_integrals_cache_min` -* :c:data:`mo_integrals_cache_min_8` -* :c:data:`mo_integrals_erf_cache` -* :c:data:`mo_integrals_erf_cache_max` -* :c:data:`mo_integrals_erf_cache_min` -* :c:data:`mo_integrals_erf_map` -* :c:data:`mo_integrals_map` -* :c:data:`mo_integrals_n_e` -* :c:data:`mo_integrals_n_e_per_atom` -* :c:data:`mo_integrals_threshold` -* :c:data:`mo_kinetic_integrals` -* :c:data:`mo_label` -* :c:data:`mo_num` -* :c:data:`mo_occ` -* :c:data:`mo_one_e_integrals` -* :c:data:`mo_overlap` -* :c:data:`mo_pseudo_integrals` -* :c:data:`mo_spread_x` -* :c:data:`mo_spread_y` -* :c:data:`mo_spread_z` -* :c:data:`mo_two_e_int_erf_jj` -* :c:data:`mo_two_e_int_erf_jj_anti` -* :c:data:`mo_two_e_int_erf_jj_anti_from_ao` -* :c:data:`mo_two_e_int_erf_jj_exchange` -* :c:data:`mo_two_e_int_erf_jj_exchange_from_ao` -* :c:data:`mo_two_e_int_erf_jj_from_ao` -* :c:data:`mo_two_e_integral_jj_from_ao` -* :c:data:`mo_two_e_integrals_erf_in_map` -* :c:data:`mo_two_e_integrals_in_map` -* :c:data:`mo_two_e_integrals_jj` -* :c:data:`mo_two_e_integrals_jj_anti` -* :c:data:`mo_two_e_integrals_jj_anti_from_ao` -* :c:data:`mo_two_e_integrals_jj_exchange` -* :c:data:`mo_two_e_integrals_jj_exchange_from_ao` -* :c:data:`mo_two_e_integrals_vv_anti_from_ao` -* :c:data:`mo_two_e_integrals_vv_exchange_from_ao` -* :c:data:`mo_two_e_integrals_vv_from_ao` -* :c:data:`mos_grad_in_r_array` -* :c:data:`mos_in_r_array` -* :c:data:`mos_in_r_array_transp` -* :c:data:`mos_lapl_in_r_array` -* :c:data:`mpi_bit_kind` -* :c:data:`mpi_initialized` -* :c:data:`mpi_master` -* :c:data:`mpi_rank` -* :c:data:`mpi_size` -* :c:data:`mu_erf` -* :c:data:`mu_erf_dft` -* :c:data:`n_act_orb` -* :c:data:`n_aos_max` -* :c:data:`n_cas_bitmask` -* :c:data:`n_core_inact_act_orb` -* :c:data:`n_core_inact_orb` -* :c:data:`n_core_orb` -* :c:data:`n_core_orb_allocate` -* :c:data:`n_det` -* :c:data:`n_det_alpha_unique` -* :c:data:`n_det_beta_unique` -* :c:data:`n_det_cas` -* :c:data:`n_det_generators` -* :c:data:`n_det_iterations` -* :c:data:`n_det_max` -* :c:data:`n_det_max_full` -* :c:data:`n_det_non_cas` -* :c:data:`n_det_print_wf` -* :c:data:`n_det_selectors` -* :c:data:`n_double_exc_bitmasks` -* :c:data:`n_double_selectors` -* :c:data:`n_generators_bitmask` -* :c:data:`n_generators_bitmask_restart` -* :c:data:`n_inact_orb` -* :c:data:`n_inact_orb_allocate` -* :c:data:`n_int` -* :c:data:`n_it_scf_max` -* :c:data:`n_iter` -* :c:data:`n_occ_pattern` -* :c:data:`n_points_final_grid` -* :c:data:`n_points_grid_per_atom` -* :c:data:`n_points_integration_angular` -* :c:data:`n_points_integration_angular_lebedev` -* :c:data:`n_points_radial_grid` -* :c:data:`n_pt_max_i_x` -* :c:data:`n_pt_max_integrals` -* :c:data:`n_single_exc_bitmasks` -* :c:data:`n_states` -* :c:data:`n_states_diag` -* :c:data:`n_virt_orb` -* :c:data:`n_virt_orb_allocate` -* :c:data:`no_ivvv_integrals` -* :c:data:`no_vvv_integrals` -* :c:data:`no_vvvv_integrals` -* :c:data:`nproc` -* :c:data:`nthreads_davidson` -* :c:data:`nthreads_pt2` -* :c:data:`nucl_aos` -* :c:data:`nucl_aos_transposed` -* :c:data:`nucl_charge` -* :c:data:`nucl_charge_remove` -* :c:data:`nucl_coord` -* :c:data:`nucl_coord_transp` -* :c:data:`nucl_dist` -* :c:data:`nucl_dist_2` -* :c:data:`nucl_dist_inv` -* :c:data:`nucl_dist_vec_x` -* :c:data:`nucl_dist_vec_y` -* :c:data:`nucl_dist_vec_z` -* :c:data:`nucl_label` -* :c:data:`nucl_list_shell_aos` -* :c:data:`nucl_n_aos` -* :c:data:`nucl_num` -* :c:data:`nucl_num_shell_aos` -* :c:data:`nuclear_repulsion` -* :c:data:`one_body_dm_mo_alpha_one_det` -* :c:data:`one_body_dm_mo_beta_one_det` -* :c:data:`one_e_dm_alpha_ao_for_dft` -* :c:data:`one_e_dm_alpha_at_r` -* :c:data:`one_e_dm_alpha_in_r` -* :c:data:`one_e_dm_and_grad_alpha_in_r` -* :c:data:`one_e_dm_and_grad_beta_in_r` -* :c:data:`one_e_dm_ao_alpha` -* :c:data:`one_e_dm_ao_beta` -* :c:data:`one_e_dm_average_mo_for_dft` -* :c:data:`one_e_dm_beta_ao_for_dft` -* :c:data:`one_e_dm_beta_at_r` -* :c:data:`one_e_dm_beta_in_r` -* :c:data:`one_e_dm_dagger_mo_spin_index` -* :c:data:`one_e_dm_mo` -* :c:data:`one_e_dm_mo_alpha` -* :c:data:`one_e_dm_mo_alpha_average` -* :c:data:`one_e_dm_mo_alpha_for_dft` -* :c:data:`one_e_dm_mo_beta` -* :c:data:`one_e_dm_mo_beta_average` -* :c:data:`one_e_dm_mo_beta_for_dft` -* :c:data:`one_e_dm_mo_diff` -* :c:data:`one_e_dm_mo_for_dft` -* :c:data:`one_e_dm_mo_spin_index` -* :c:data:`one_e_energy` -* :c:data:`one_e_grad_2_dm_alpha_at_r` -* :c:data:`one_e_grad_2_dm_beta_at_r` -* :c:data:`one_e_spin_density_ao` -* :c:data:`one_e_spin_density_mo` -* :c:data:`only_expected_s2` -* :c:data:`output_cpu_time_0` -* :c:data:`output_wall_time_0` -* :c:data:`overlap_gaussian_xyz` -* :c:data:`phi_angular_integration_lebedev` -* :c:data:`potential_c_alpha_ao` -* :c:data:`potential_c_alpha_ao_lda` -* :c:data:`potential_c_alpha_ao_pbe` -* :c:data:`potential_c_alpha_mo` -* :c:data:`potential_c_beta_ao` -* :c:data:`potential_c_beta_ao_lda` -* :c:data:`potential_c_beta_ao_pbe` -* :c:data:`potential_c_beta_mo` -* :c:data:`potential_sr_c_alpha_ao_lda` -* :c:data:`potential_sr_c_alpha_ao_pbe` -* :c:data:`potential_sr_c_beta_ao_lda` -* :c:data:`potential_sr_c_beta_ao_pbe` -* :c:data:`potential_sr_x_alpha_ao_lda` -* :c:data:`potential_sr_x_alpha_ao_pbe` -* :c:data:`potential_sr_x_beta_ao_lda` -* :c:data:`potential_sr_x_beta_ao_pbe` -* :c:data:`potential_x_alpha_ao` -* :c:data:`potential_x_alpha_ao_lda` -* :c:data:`potential_x_alpha_ao_pbe` -* :c:data:`potential_x_alpha_mo` -* :c:data:`potential_x_beta_ao` -* :c:data:`potential_x_beta_ao_lda` -* :c:data:`potential_x_beta_ao_pbe` -* :c:data:`potential_x_beta_mo` -* :c:data:`pseudo_dz_k` -* :c:data:`pseudo_dz_k_transp` -* :c:data:`pseudo_dz_kl` -* :c:data:`pseudo_dz_kl_transp` -* :c:data:`pseudo_grid_rmax` -* :c:data:`pseudo_grid_size` -* :c:data:`pseudo_klocmax` -* :c:data:`pseudo_kmax` -* :c:data:`pseudo_lmax` -* :c:data:`pseudo_n_k` -* :c:data:`pseudo_n_k_transp` -* :c:data:`pseudo_n_kl` -* :c:data:`pseudo_n_kl_transp` -* :c:data:`pseudo_v_k` -* :c:data:`pseudo_v_k_transp` -* :c:data:`pseudo_v_kl` -* :c:data:`pseudo_v_kl_transp` -* :c:data:`psi_average_norm_contrib` -* :c:data:`psi_average_norm_contrib_sorted` -* :c:data:`psi_bilinear_matrix` -* :c:data:`psi_bilinear_matrix_columns` -* :c:data:`psi_bilinear_matrix_columns_loc` -* :c:data:`psi_bilinear_matrix_order` -* :c:data:`psi_bilinear_matrix_order_reverse` -* :c:data:`psi_bilinear_matrix_order_transp_reverse` -* :c:data:`psi_bilinear_matrix_rows` -* :c:data:`psi_bilinear_matrix_transp_columns` -* :c:data:`psi_bilinear_matrix_transp_order` -* :c:data:`psi_bilinear_matrix_transp_rows` -* :c:data:`psi_bilinear_matrix_transp_rows_loc` -* :c:data:`psi_bilinear_matrix_transp_values` -* :c:data:`psi_bilinear_matrix_values` -* :c:data:`psi_cas` -* :c:data:`psi_cas_coef` -* :c:data:`psi_cas_coef_sorted_bit` -* :c:data:`psi_cas_energy` -* :c:data:`psi_cas_energy_diagonalized` -* :c:data:`psi_cas_sorted_bit` -* :c:data:`psi_coef` -* :c:data:`psi_coef_cas_diagonalized` -* :c:data:`psi_coef_generators` -* :c:data:`psi_coef_max` -* :c:data:`psi_coef_min` -* :c:data:`psi_coef_sorted` -* :c:data:`psi_coef_sorted_bit` -* :c:data:`psi_coef_sorted_gen` -* :c:data:`psi_det` -* :c:data:`psi_det_alpha` -* :c:data:`psi_det_alpha_unique` -* :c:data:`psi_det_beta` -* :c:data:`psi_det_beta_unique` -* :c:data:`psi_det_generators` -* :c:data:`psi_det_hii` -* :c:data:`psi_det_size` -* :c:data:`psi_det_sorted` -* :c:data:`psi_det_sorted_bit` -* :c:data:`psi_det_sorted_gen` -* :c:data:`psi_det_sorted_gen_order` -* :c:data:`psi_det_sorted_order` -* :c:data:`psi_dft_energy_h_core` -* :c:data:`psi_dft_energy_kinetic` -* :c:data:`psi_dft_energy_nuclear_elec` -* :c:data:`psi_energy` -* :c:data:`psi_energy_h_core` -* :c:data:`psi_energy_two_e` -* :c:data:`psi_energy_with_nucl_rep` -* :c:data:`psi_non_cas` -* :c:data:`psi_non_cas_coef` -* :c:data:`psi_non_cas_coef_sorted_bit` -* :c:data:`psi_non_cas_sorted_bit` -* :c:data:`psi_occ_pattern` -* :c:data:`psi_occ_pattern_hii` -* :c:data:`psi_selectors` -* :c:data:`psi_selectors_coef` -* :c:data:`psi_selectors_coef_transp` -* :c:data:`psi_selectors_diag_h_mat` -* :c:data:`psi_selectors_size` -* :c:data:`pt2_collector` -* :c:data:`pt2_cw` -* :c:data:`pt2_e0_denominator` -* :c:data:`pt2_f` -* :c:data:`pt2_iterations` -* :c:data:`pt2_j` -* :c:data:`pt2_max` -* :c:data:`pt2_mindetinfirstteeth` -* :c:data:`pt2_n_0` -* :c:data:`pt2_n_tasks` -* :c:data:`pt2_n_tasks_max` -* :c:data:`pt2_n_teeth` -* :c:data:`pt2_r` -* :c:data:`pt2_relative_error` -* :c:data:`pt2_stoch_istate` -* :c:data:`pt2_u` -* :c:data:`pt2_u_0` -* :c:data:`pt2_w` -* :c:data:`pt2_w_t` -* :c:data:`qp_max_mem` -* :c:data:`qp_run_address` -* :c:data:`read_ao_integrals_e_n` -* :c:data:`read_ao_integrals_kinetic` -* :c:data:`read_ao_integrals_overlap` -* :c:data:`read_ao_integrals_pseudo` -* :c:data:`read_ao_one_e_integrals` -* :c:data:`read_ao_two_e_integrals` -* :c:data:`read_ao_two_e_integrals_erf` -* :c:data:`read_mo_integrals_e_n` -* :c:data:`read_mo_integrals_kinetic` -* :c:data:`read_mo_integrals_pseudo` -* :c:data:`read_mo_one_e_integrals` -* :c:data:`read_mo_two_e_integrals` -* :c:data:`read_mo_two_e_integrals_erf` -* :c:data:`read_nuclear_repulsion` -* :c:data:`read_wf` -* :c:data:`rec__quicksort` -* :c:data:`rec_d_quicksort` -* :c:data:`rec_i2_quicksort` -* :c:data:`rec_i8_quicksort` -* :c:data:`rec_i_quicksort` -* :c:data:`ref_bitmask` -* :c:data:`ref_bitmask_e_n_energy` -* :c:data:`ref_bitmask_energy` -* :c:data:`ref_bitmask_kinetic_energy` -* :c:data:`ref_bitmask_one_e_energy` -* :c:data:`ref_bitmask_two_e_energy` -* :c:data:`ref_closed_shell_bitmask` -* :c:data:`reunion_of_bitmask` -* :c:data:`reunion_of_cas_inact_bitmask` -* :c:data:`reunion_of_core_inact_act_bitmask` -* :c:data:`reunion_of_core_inact_bitmask` -* :c:data:`rs_ks_energy` -* :c:data:`s2_eig` -* :c:data:`s2_matrix_all_dets` -* :c:data:`s2_values` -* :c:data:`s_half` -* :c:data:`s_half_inv` -* :c:data:`s_inv` -* :c:data:`s_mo_coef` -* :c:data:`s_z` -* :c:data:`s_z2_sz` -* :c:data:`scf_algorithm` -* :c:data:`scf_density_matrix_ao` -* :c:data:`scf_density_matrix_ao_alpha` -* :c:data:`scf_density_matrix_ao_beta` -* :c:data:`scf_energy` -* :c:data:`select_max` -* :c:data:`selection_criterion` -* :c:data:`selection_criterion_factor` -* :c:data:`selection_criterion_min` -* :c:data:`selection_weight` -* :c:data:`shifting_constant` -* :c:data:`short_range_hartree` -* :c:data:`short_range_hartree_operator` -* :c:data:`single_exc_bitmask` -* :c:data:`singles_alpha_csc` -* :c:data:`singles_alpha_csc_idx` -* :c:data:`singles_alpha_csc_size` -* :c:data:`singles_beta_csc` -* :c:data:`singles_beta_csc_idx` -* :c:data:`singles_beta_csc_size` -* :c:data:`size_select_max` -* :c:data:`slater_bragg_radii` -* :c:data:`slater_bragg_radii_per_atom` -* :c:data:`slater_bragg_radii_per_atom_ua` -* :c:data:`slater_bragg_radii_ua` -* :c:data:`slater_bragg_type_inter_distance` -* :c:data:`slater_bragg_type_inter_distance_ua` -* :c:data:`state_average_weight` -* :c:data:`state_following` -* :c:data:`target_energy` -* :c:data:`theta_angular_integration_lebedev` -* :c:data:`thresh_scf` -* :c:data:`threshold_davidson` -* :c:data:`threshold_diis` -* :c:data:`threshold_diis_nonzero` -* :c:data:`threshold_generators` -* :c:data:`threshold_selectors` -* :c:data:`trace_potential_xc` -* :c:data:`trace_v_h` -* :c:data:`trace_v_hxc` -* :c:data:`trace_v_xc` -* :c:data:`transpose` -* :c:data:`two_e_energy` -* :c:data:`unpaired_alpha_electrons` -* :c:data:`used_weight` -* :c:data:`var_pt2_ratio` -* :c:data:`virt_bitmask` -* :c:data:`virt_bitmask_4` -* :c:data:`weight_at_r` -* :c:data:`weight_occ_pattern` -* :c:data:`weights_angular_integration_lebedev` -* :c:data:`weights_angular_points` -* :c:data:`write_ao_integrals_e_n` -* :c:data:`write_ao_integrals_kinetic` -* :c:data:`write_ao_integrals_overlap` -* :c:data:`write_ao_integrals_pseudo` -* :c:data:`write_ao_one_e_integrals` -* :c:data:`write_ao_two_e_integrals` -* :c:data:`write_ao_two_e_integrals_erf` -* :c:data:`write_mo_integrals_e_n` -* :c:data:`write_mo_integrals_kinetic` -* :c:data:`write_mo_integrals_pseudo` -* :c:data:`write_mo_one_e_integrals` -* :c:data:`write_mo_two_e_integrals` -* :c:data:`write_mo_two_e_integrals_erf` -* :c:data:`write_nuclear_repulsion` -* :c:data:`zmq_context` -* :c:data:`zmq_lock` -* :c:data:`zmq_port_start` -* :c:data:`zmq_socket_pair_inproc_address` -* :c:data:`zmq_socket_pull_inproc_address` -* :c:data:`zmq_socket_pull_tcp_address` -* :c:data:`zmq_socket_push_inproc_address` -* :c:data:`zmq_socket_push_tcp_address` -* :c:data:`zmq_socket_sub_tcp_address` -* :c:data:`zmq_state` - -Index of Subroutines/Functions ------------------------------- - -* :c:func:`a_coef` -* :c:func:`a_operator` -* :c:func:`a_operator_two_e` -* :c:func:`ac_operator` -* :c:func:`ac_operator_two_e` -* :c:func:`add_integrals_to_map` -* :c:func:`add_integrals_to_map_erf` -* :c:func:`add_integrals_to_map_no_exit_34` -* :c:func:`add_integrals_to_map_three_indices` -* :c:func:`add_poly` -* :c:func:`add_poly_multiply` -* :c:func:`add_task_to_taskserver` -* :c:func:`add_to_selection_buffer` -* :c:func:`ao_l4` -* :c:func:`ao_ortho_cano_to_ao` -* :c:func:`ao_power_index` -* :c:func:`ao_to_mo` -* :c:func:`ao_two_e_integral` -* :c:func:`ao_two_e_integral_erf` -* :c:func:`ao_two_e_integral_schwartz_accel` -* :c:func:`ao_two_e_integral_schwartz_accel_erf` -* :c:func:`ao_two_e_integrals_erf_in_map_collector` -* :c:func:`ao_two_e_integrals_erf_in_map_slave` -* :c:func:`ao_two_e_integrals_erf_in_map_slave_inproc` -* :c:func:`ao_two_e_integrals_erf_in_map_slave_tcp` -* :c:func:`ao_two_e_integrals_in_map_collector` -* :c:func:`ao_two_e_integrals_in_map_slave` -* :c:func:`ao_two_e_integrals_in_map_slave_inproc` -* :c:func:`ao_two_e_integrals_in_map_slave_tcp` -* :c:func:`ao_value` -* :c:func:`apply_excitation` -* :c:func:`apply_hole` -* :c:func:`apply_holes` -* :c:func:`apply_particle` -* :c:func:`apply_particles` -* :c:func:`apply_rotation` -* :c:func:`approx_dble` -* :c:func:`au0_h_au0` -* :c:func:`b_coef` -* :c:func:`berf` -* :c:func:`binom_func` -* :c:func:`bitstring_to_hexa` -* :c:func:`bitstring_to_list` -* :c:func:`bitstring_to_list_ab` -* :c:func:`bitstring_to_list_in_selection` -* :c:func:`bitstring_to_str` -* :c:func:`broadcast_chunks_bit_kind` -* :c:func:`broadcast_chunks_double` -* :c:func:`broadcast_chunks_integer` -* :c:func:`broadcast_chunks_integer8` -* :c:func:`build_fock_tmp` -* :c:func:`cell_function_becke` -* :c:func:`check_coherence_functional` -* :c:func:`check_mem` -* :c:func:`cis` -* :c:func:`cisd` -* :c:func:`clear_ao_erf_map` -* :c:func:`clear_ao_map` -* :c:func:`clear_bit_to_integer` -* :c:func:`clear_mo_erf_map` -* :c:func:`clear_mo_map` -* :c:func:`compute_ao_integrals_erf_jl` -* :c:func:`compute_ao_integrals_jl` -* :c:func:`compute_ao_two_e_integrals` -* :c:func:`compute_ao_two_e_integrals_erf` -* :c:func:`connect_to_taskserver` -* :c:func:`connected_to_ref` -* :c:func:`connected_to_ref_by_mono` -* :c:func:`copy_h_apply_buffer_to_wf` -* :c:func:`copy_psi_bilinear_to_psi` -* :c:func:`create_guess` -* :c:func:`create_microlist` -* :c:func:`create_minilist` -* :c:func:`create_minilist_find_previous` -* :c:func:`create_selection_buffer` -* :c:func:`create_wf_of_psi_bilinear_matrix` -* :c:func:`damping_scf` -* :c:func:`davidson_collector` -* :c:func:`davidson_converged` -* :c:func:`davidson_diag_hjj_sjj` -* :c:func:`davidson_diag_hs2` -* :c:func:`davidson_pull_results` -* :c:func:`davidson_push_results` -* :c:func:`davidson_run_slave` -* :c:func:`davidson_slave_inproc` -* :c:func:`davidson_slave_tcp` -* :c:func:`davidson_slave_work` -* :c:func:`dberfda` -* :c:func:`dble_fact` -* :c:func:`dble_fact_even` -* :c:func:`dble_fact_odd` -* :c:func:`dble_logfact` -* :c:func:`ddfact2` -* :c:func:`debug_det` -* :c:func:`debug_spindet` -* :c:func:`decode_exc` -* :c:func:`decode_exc_spin` -* :c:func:`delete_selection_buffer` -* :c:func:`density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r` -* :c:func:`derivative_knowles_function` -* :c:func:`det_inf` -* :c:func:`det_search_key` -* :c:func:`detcmp` -* :c:func:`deteq` -* :c:func:`diag_h_mat_elem` -* :c:func:`diag_h_mat_elem_au0_h_au0` -* :c:func:`diag_h_mat_elem_fock` -* :c:func:`diag_h_mat_elem_one_e` -* :c:func:`diag_s_mat_elem` -* :c:func:`diag_wee_mat_elem` -* :c:func:`diagonalize_ci` -* :c:func:`diagonalize_h` -* :c:func:`disconnect_from_taskserver` -* :c:func:`disconnect_from_taskserver_state` -* :c:func:`dm_dft_alpha_beta_and_all_aos_at_r` -* :c:func:`dm_dft_alpha_beta_at_r` -* :c:func:`do_mono_excitation` -* :c:func:`dpol` -* :c:func:`dpold` -* :c:func:`dpoldd` -* :c:func:`dset_order` -* :c:func:`dset_order_big` -* :c:func:`dsort` -* :c:func:`dump_ao_integrals` -* :c:func:`dump_ao_integrals_erf` -* :c:func:`dump_mo_integrals` -* :c:func:`ec_lda` -* :c:func:`ec_lda_sr` -* :c:func:`ec_only_lda_sr` -* :c:func:`ec_pbe_only` -* :c:func:`ec_pbe_sr` -* :c:func:`ecorrlr` -* :c:func:`ecpw` -* :c:func:`end_parallel_job` -* :c:func:`end_zmq_pair_socket` -* :c:func:`end_zmq_pull_socket` -* :c:func:`end_zmq_push_socket` -* :c:func:`end_zmq_sub_socket` -* :c:func:`end_zmq_to_qp_run_socket` -* :c:func:`erf0` -* :c:func:`eri` -* :c:func:`eri_erf` -* :c:func:`ex_lda` -* :c:func:`ex_lda_sr` -* :c:func:`ex_pbe_sr` -* :c:func:`ex_pbe_sr_only` -* :c:func:`example_becke_numerical_grid` -* :c:func:`example_bitmask` -* :c:func:`example_determinants` -* :c:func:`example_determinants_psi_det` -* :c:func:`extrapolate_data` -* :c:func:`f_function_becke` -* :c:func:`f_integral` -* :c:func:`fact` -* :c:func:`fci` -* :c:func:`fcidump` -* :c:func:`fill_buffer_double` -* :c:func:`fill_h_apply_buffer_no_selection` -* :c:func:`filter_connected` -* :c:func:`filter_connected_i_h_psi0` -* :c:func:`filter_not_connected` -* :c:func:`find_rotation` -* :c:func:`four_idx_transform` -* :c:func:`g0d` -* :c:func:`g0dd` -* :c:func:`g0f` -* :c:func:`gammln` -* :c:func:`gammp` -* :c:func:`gauleg` -* :c:func:`gaussian_product` -* :c:func:`gaussian_product_x` -* :c:func:`gcf` -* :c:func:`generate_all_alpha_beta_det_products` -* :c:func:`get_all_spin_doubles` -* :c:func:`get_all_spin_doubles_1` -* :c:func:`get_all_spin_doubles_2` -* :c:func:`get_all_spin_doubles_3` -* :c:func:`get_all_spin_doubles_4` -* :c:func:`get_all_spin_doubles_n_int` -* :c:func:`get_all_spin_singles` -* :c:func:`get_all_spin_singles_1` -* :c:func:`get_all_spin_singles_2` -* :c:func:`get_all_spin_singles_3` -* :c:func:`get_all_spin_singles_4` -* :c:func:`get_all_spin_singles_and_doubles` -* :c:func:`get_all_spin_singles_and_doubles_1` -* :c:func:`get_all_spin_singles_and_doubles_2` -* :c:func:`get_all_spin_singles_and_doubles_3` -* :c:func:`get_all_spin_singles_and_doubles_4` -* :c:func:`get_all_spin_singles_and_doubles_n_int` -* :c:func:`get_all_spin_singles_n_int` -* :c:func:`get_ao_erf_map_size` -* :c:func:`get_ao_map_size` -* :c:func:`get_ao_two_e_integral` -* :c:func:`get_ao_two_e_integral_erf` -* :c:func:`get_ao_two_e_integrals` -* :c:func:`get_ao_two_e_integrals_erf` -* :c:func:`get_ao_two_e_integrals_erf_non_zero` -* :c:func:`get_ao_two_e_integrals_non_zero` -* :c:func:`get_d0` -* :c:func:`get_d1` -* :c:func:`get_d2` -* :c:func:`get_double_excitation` -* :c:func:`get_double_excitation_spin` -* :c:func:`get_excitation` -* :c:func:`get_excitation_degree` -* :c:func:`get_excitation_degree_spin` -* :c:func:`get_excitation_degree_vector` -* :c:func:`get_excitation_degree_vector_double_alpha_beta` -* :c:func:`get_excitation_degree_vector_mono` -* :c:func:`get_excitation_degree_vector_mono_or_exchange` -* :c:func:`get_excitation_degree_vector_mono_or_exchange_verbose` -* :c:func:`get_excitation_spin` -* :c:func:`get_index_in_psi_det_alpha_unique` -* :c:func:`get_index_in_psi_det_beta_unique` -* :c:func:`get_index_in_psi_det_sorted_bit` -* :c:func:`get_inverse` -* :c:func:`get_mask_phase` -* :c:func:`get_mo_erf_map_size` -* :c:func:`get_mo_map_size` -* :c:func:`get_mo_two_e_integral_erf` -* :c:func:`get_mo_two_e_integrals` -* :c:func:`get_mo_two_e_integrals_coulomb_ii` -* :c:func:`get_mo_two_e_integrals_erf` -* :c:func:`get_mo_two_e_integrals_erf_coulomb_ii` -* :c:func:`get_mo_two_e_integrals_erf_exch_ii` -* :c:func:`get_mo_two_e_integrals_erf_i1j1` -* :c:func:`get_mo_two_e_integrals_erf_ij` -* :c:func:`get_mo_two_e_integrals_exch_ii` -* :c:func:`get_mo_two_e_integrals_i1j1` -* :c:func:`get_mo_two_e_integrals_ij` -* :c:func:`get_mono_excitation` -* :c:func:`get_mono_excitation_from_fock` -* :c:func:`get_mono_excitation_spin` -* :c:func:`get_phase` -* :c:func:`get_phase_bi` -* :c:func:`get_phasemask_bit` -* :c:func:`get_pseudo_inverse` -* :c:func:`get_s2` -* :c:func:`get_task_from_taskserver` -* :c:func:`get_tasks_from_taskserver` -* :c:func:`get_two_e_integral` -* :c:func:`get_uj_s2_ui` -* :c:func:`getmobiles` -* :c:func:`getunitandopen` -* :c:func:`give_all_aos_and_grad_and_lapl_at_r` -* :c:func:`give_all_aos_and_grad_at_r` -* :c:func:`give_all_aos_at_r` -* :c:func:`give_all_aos_at_r_old` -* :c:func:`give_all_erf_kl_ao` -* :c:func:`give_all_mos_and_grad_and_lapl_at_r` -* :c:func:`give_all_mos_and_grad_at_r` -* :c:func:`give_all_mos_at_r` -* :c:func:`give_explicit_poly_and_gaussian` -* :c:func:`give_explicit_poly_and_gaussian_double` -* :c:func:`give_explicit_poly_and_gaussian_x` -* :c:func:`give_polynom_mult_center_x` -* :c:func:`give_polynomial_mult_center_one_e` -* :c:func:`gpw` -* :c:func:`grad_rho_ab_to_grad_rho_oc` -* :c:func:`gser` -* :c:func:`h_apply_cis` -* :c:func:`h_apply_cis_diexc` -* :c:func:`h_apply_cis_diexcorg` -* :c:func:`h_apply_cis_diexcp` -* :c:func:`h_apply_cis_monoexc` -* :c:func:`h_apply_cisd` -* :c:func:`h_apply_cisd_diexc` -* :c:func:`h_apply_cisd_diexcorg` -* :c:func:`h_apply_cisd_diexcp` -* :c:func:`h_apply_cisd_monoexc` -* :c:func:`h_s2_u_0_nstates_openmp` -* :c:func:`h_s2_u_0_nstates_openmp_work` -* :c:func:`h_s2_u_0_nstates_openmp_work_1` -* :c:func:`h_s2_u_0_nstates_openmp_work_2` -* :c:func:`h_s2_u_0_nstates_openmp_work_3` -* :c:func:`h_s2_u_0_nstates_openmp_work_4` -* :c:func:`h_s2_u_0_nstates_openmp_work_n_int` -* :c:func:`h_s2_u_0_nstates_zmq` -* :c:func:`h_s2_u_0_two_e_nstates_openmp` -* :c:func:`h_s2_u_0_two_e_nstates_openmp_work` -* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` -* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` -* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` -* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` -* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` -* :c:func:`hcore_guess` -* :c:func:`heap_dsort` -* :c:func:`heap_dsort_big` -* :c:func:`heap_i2sort` -* :c:func:`heap_i2sort_big` -* :c:func:`heap_i8sort` -* :c:func:`heap_i8sort_big` -* :c:func:`heap_isort` -* :c:func:`heap_isort_big` -* :c:func:`heap_sort` -* :c:func:`heap_sort_big` -* :c:func:`hermite` -* :c:func:`huckel_guess` -* :c:func:`i2set_order` -* :c:func:`i2set_order_big` -* :c:func:`i2sort` -* :c:func:`i8set_order` -* :c:func:`i8set_order_big` -* :c:func:`i8sort` -* :c:func:`i_h_j` -* :c:func:`i_h_j_double_alpha_beta` -* :c:func:`i_h_j_double_spin` -* :c:func:`i_h_j_mono_spin` -* :c:func:`i_h_j_mono_spin_one_e` -* :c:func:`i_h_j_one_e` -* :c:func:`i_h_j_s2` -* :c:func:`i_h_j_two_e` -* :c:func:`i_h_j_verbose` -* :c:func:`i_h_psi` -* :c:func:`i_h_psi_minilist` -* :c:func:`i_s2_psi_minilist` -* :c:func:`i_wee_j_mono` -* :c:func:`i_x1_pol_mult` -* :c:func:`initialize_bitmask_to_restart_ones` -* :c:func:`initialize_mo_coef_begin_iteration` -* :c:func:`insert_into_ao_integrals_erf_map` -* :c:func:`insert_into_ao_integrals_map` -* :c:func:`insertion_dsort` -* :c:func:`insertion_dsort_big` -* :c:func:`insertion_i2sort` -* :c:func:`insertion_i2sort_big` -* :c:func:`insertion_i8sort` -* :c:func:`insertion_i8sort_big` -* :c:func:`insertion_isort` -* :c:func:`insertion_isort_big` -* :c:func:`insertion_sort` -* :c:func:`insertion_sort_big` -* :c:func:`int_gaus_pol` -* :c:func:`integrale_new` -* :c:func:`integrale_new_erf` -* :c:func:`is_a_1h` -* :c:func:`is_a_1h1p` -* :c:func:`is_a_1h2p` -* :c:func:`is_a_1p` -* :c:func:`is_a_2h` -* :c:func:`is_a_2h1p` -* :c:func:`is_a_2p` -* :c:func:`is_a_two_holes_two_particles` -* :c:func:`is_connected_to` -* :c:func:`is_connected_to_by_mono` -* :c:func:`is_i_in_virtual` -* :c:func:`is_in_wavefunction` -* :c:func:`is_spin_flip_possible` -* :c:func:`is_the_hole_in_det` -* :c:func:`is_the_particl_in_det` -* :c:func:`iset_order` -* :c:func:`iset_order_big` -* :c:func:`isort` -* :c:func:`knowles_function` -* :c:func:`lapack_diag` -* :c:func:`lapack_diagd` -* :c:func:`list_to_bitstring` -* :c:func:`load_ao_integrals` -* :c:func:`load_ao_integrals_erf` -* :c:func:`load_mo_integrals` -* :c:func:`load_mo_integrals_erf` -* :c:func:`logfact` -* :c:func:`lowercase` -* :c:func:`make_s2_eigenfunction` -* :c:func:`make_selection_buffer_s2` -* :c:func:`map_load_from_disk` -* :c:func:`map_save_to_disk` -* :c:func:`memory_of_double` -* :c:func:`memory_of_int` -* :c:func:`merge_selection_buffers` -* :c:func:`mix_mo_jk` -* :c:func:`mo_as_eigvectors_of_mo_matrix` -* :c:func:`mo_as_svd_vectors_of_mo_matrix` -* :c:func:`mo_as_svd_vectors_of_mo_matrix_eig` -* :c:func:`mo_to_ao` -* :c:func:`mo_to_ao_no_overlap` -* :c:func:`mo_two_e_integral` -* :c:func:`mo_two_e_integral_erf` -* :c:func:`mo_two_e_integrals_erf_index` -* :c:func:`mo_two_e_integrals_index` -* :c:func:`modify_bitmasks_for_hole` -* :c:func:`modify_bitmasks_for_hole_in_out` -* :c:func:`modify_bitmasks_for_particl` -* :c:func:`molden` -* :c:func:`mono_excitation_wee` -* :c:func:`mpi_print` -* :c:func:`multiply_poly` -* :c:func:`n_pt_sup` -* :c:func:`nai_pol_mult` -* :c:func:`nai_pol_mult_erf` -* :c:func:`nai_pol_mult_erf_ao` -* :c:func:`new_parallel_job` -* :c:func:`new_zmq_pair_socket` -* :c:func:`new_zmq_pull_socket` -* :c:func:`new_zmq_push_socket` -* :c:func:`new_zmq_sub_socket` -* :c:func:`new_zmq_to_qp_run_socket` -* :c:func:`normalize` -* :c:func:`number_of_holes` -* :c:func:`number_of_holes_verbose` -* :c:func:`number_of_particles` -* :c:func:`number_of_particles_verbose` -* :c:func:`occ_pattern_of_det` -* :c:func:`occ_pattern_search_key` -* :c:func:`occ_pattern_to_dets` -* :c:func:`occ_pattern_to_dets_size` -* :c:func:`ortho_canonical` -* :c:func:`ortho_lowdin` -* :c:func:`ortho_qr` -* :c:func:`ortho_qr_unblocked` -* :c:func:`orthonormalize_mos` -* :c:func:`overlap_bourrin_deriv_x` -* :c:func:`overlap_bourrin_dipole` -* :c:func:`overlap_bourrin_spread` -* :c:func:`overlap_bourrin_x` -* :c:func:`overlap_gaussian_x` -* :c:func:`overlap_x_abs` -* :c:func:`past_d1` -* :c:func:`past_d2` -* :c:func:`perturb_buffer_by_mono_dummy` -* :c:func:`perturb_buffer_by_mono_epstein_nesbet` -* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` -* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` -* :c:func:`perturb_buffer_by_mono_h_core` -* :c:func:`perturb_buffer_by_mono_moller_plesset` -* :c:func:`perturb_buffer_by_mono_moller_plesset_general` -* :c:func:`perturb_buffer_by_mono_qdpt` -* :c:func:`perturb_buffer_dummy` -* :c:func:`perturb_buffer_epstein_nesbet` -* :c:func:`perturb_buffer_epstein_nesbet_2x2` -* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` -* :c:func:`perturb_buffer_h_core` -* :c:func:`perturb_buffer_moller_plesset` -* :c:func:`perturb_buffer_moller_plesset_general` -* :c:func:`perturb_buffer_qdpt` -* :c:func:`primitive_value` -* :c:func:`print_det` -* :c:func:`print_e_conv` -* :c:func:`print_extrapolated_energy` -* :c:func:`print_generators_bitmasks_holes` -* :c:func:`print_generators_bitmasks_holes_for_one_generator` -* :c:func:`print_generators_bitmasks_particles` -* :c:func:`print_generators_bitmasks_particles_for_one_generator` -* :c:func:`print_memory_usage` -* :c:func:`print_spindet` -* :c:func:`print_summary` -* :c:func:`print_wf` -* :c:func:`provide_all_mo_integrals_erf` -* :c:func:`provide_everything` -* :c:func:`pt2` -* :c:func:`pt2_dummy` -* :c:func:`pt2_epstein_nesbet` -* :c:func:`pt2_epstein_nesbet_2x2` -* :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag` -* :c:func:`pt2_find_sample` -* :c:func:`pt2_find_sample_lr` -* :c:func:`pt2_h_core` -* :c:func:`pt2_moller_plesset` -* :c:func:`pt2_moller_plesset_general` -* :c:func:`pt2_qdpt` -* :c:func:`pt2_slave_inproc` -* :c:func:`pull_pt2` -* :c:func:`pull_pt2_results` -* :c:func:`pull_selection_results` -* :c:func:`push_integrals` -* :c:func:`push_pt2` -* :c:func:`push_pt2_results` -* :c:func:`push_selection_results` -* :c:func:`qrpa` -* :c:func:`qrpad` -* :c:func:`qrpadd` -* :c:func:`quick_dsort` -* :c:func:`quick_i2sort` -* :c:func:`quick_i8sort` -* :c:func:`quick_isort` -* :c:func:`quick_sort` -* :c:func:`read_dets` -* :c:func:`recentered_poly2` -* :c:func:`remove_duplicates_in_psi_det` -* :c:func:`remove_duplicates_in_selection_buffer` -* :c:func:`remove_small_contributions` -* :c:func:`reorder_core_orb` -* :c:func:`repeat_all_e_corr` -* :c:func:`reset_zmq_addresses` -* :c:func:`resident_memory` -* :c:func:`resize_h_apply_buffer` -* :c:func:`rho_ab_to_rho_oc` -* :c:func:`rho_oc_to_rho_ab` -* :c:func:`rint` -* :c:func:`rint1` -* :c:func:`rint_large_n` -* :c:func:`rint_sum` -* :c:func:`rinteg` -* :c:func:`rintgauss` -* :c:func:`roothaan_hall_scf` -* :c:func:`routine` -* :c:func:`routine_e_conv` -* :c:func:`routine_example_psi_det` -* :c:func:`routine_save_one_e_dm` -* :c:func:`rs_ks_scf` -* :c:func:`run` -* :c:func:`run_cipsi` -* :c:func:`run_pt2_slave` -* :c:func:`run_selection_slave` -* :c:func:`run_slave_cipsi` -* :c:func:`run_slave_main` -* :c:func:`run_stochastic_cipsi` -* :c:func:`s2_u_0` -* :c:func:`s2_u_0_nstates` -* :c:func:`sabpartial` -* :c:func:`save_energy` -* :c:func:`save_erf_two_e_integrals_ao` -* :c:func:`save_erf_two_e_integrals_mo` -* :c:func:`save_erf_two_e_ints_ao_into_ints_ao` -* :c:func:`save_erf_two_e_ints_mo_into_ints_mo` -* :c:func:`save_iterations` -* :c:func:`save_mos` -* :c:func:`save_mos_truncated` -* :c:func:`save_natorb` -* :c:func:`save_natural_mos` -* :c:func:`save_one_e_dm` -* :c:func:`save_ortho_mos` -* :c:func:`save_ref_determinant` -* :c:func:`save_wavefunction` -* :c:func:`save_wavefunction_general` -* :c:func:`save_wavefunction_specified` -* :c:func:`save_wavefunction_truncated` -* :c:func:`save_wavefunction_unsorted` -* :c:func:`scf` -* :c:func:`select_connected` -* :c:func:`select_singles_and_doubles` -* :c:func:`selection_collector` -* :c:func:`selection_slave_inproc` -* :c:func:`set_bit_to_integer` -* :c:func:`set_bitmask_hole_as_input` -* :c:func:`set_bitmask_particl_as_input` -* :c:func:`set_natural_mos` -* :c:func:`set_order` -* :c:func:`set_order_big` -* :c:func:`sort` -* :c:func:`sort_dets_ab` -* :c:func:`sort_dets_ab_v` -* :c:func:`sort_dets_ba_v` -* :c:func:`sort_dets_by_det_search_key` -* :c:func:`sort_selection_buffer` -* :c:func:`sorted_dnumber` -* :c:func:`sorted_i2number` -* :c:func:`sorted_i8number` -* :c:func:`sorted_inumber` -* :c:func:`sorted_number` -* :c:func:`spin_det_search_key` -* :c:func:`splash_pq` -* :c:func:`spot_isinwf` -* :c:func:`srs_ks_cf` -* :c:func:`step_function_becke` -* :c:func:`svd` -* :c:func:`switch_qp_run_to_master` -* :c:func:`tamiser` -* :c:func:`task_done_to_taskserver` -* :c:func:`tasks_done_to_taskserver` -* :c:func:`testteethbuilding` -* :c:func:`total_memory` -* :c:func:`two_e_integrals_index` -* :c:func:`two_e_integrals_index_reverse` -* :c:func:`u_0_h_u_0` -* :c:func:`u_0_h_u_0_two_e` -* :c:func:`u_0_s2_u_0` -* :c:func:`u_dot_u` -* :c:func:`u_dot_v` -* :c:func:`v_e_n` -* :c:func:`v_grad_rho_oc_to_v_grad_rho_ab` -* :c:func:`v_phi` -* :c:func:`v_r` -* :c:func:`v_rho_ab_to_v_rho_oc` -* :c:func:`v_rho_oc_to_v_rho_ab` -* :c:func:`v_theta` -* :c:func:`vcorrlr` -* :c:func:`wait_for_next_state` -* :c:func:`wait_for_state` -* :c:func:`wait_for_states` -* :c:func:`wall_time` -* :c:func:`wallis` -* :c:func:`wf_of_psi_bilinear_matrix` -* :c:func:`write_ao_basis` -* :c:func:`write_bool` -* :c:func:`write_double` -* :c:func:`write_geometry` -* :c:func:`write_git_log` -* :c:func:`write_int` -* :c:func:`write_integrals` -* :c:func:`write_intro_gamess` -* :c:func:`write_mo_basis` -* :c:func:`write_spindeterminants` -* :c:func:`write_time` -* :c:func:`zmq_abort` -* :c:func:`zmq_delete_task` -* :c:func:`zmq_delete_tasks` -* :c:func:`zmq_delete_tasks_async_recv` -* :c:func:`zmq_delete_tasks_async_send` -* :c:func:`zmq_get8_dvector` -* :c:func:`zmq_get8_ivector` -* :c:func:`zmq_get_dmatrix` -* :c:func:`zmq_get_dvector` -* :c:func:`zmq_get_i8matrix` -* :c:func:`zmq_get_imatrix` -* :c:func:`zmq_get_int` -* :c:func:`zmq_get_int_nompi` -* :c:func:`zmq_get_ivector` -* :c:func:`zmq_get_n_det` -* :c:func:`zmq_get_n_det_alpha_unique` -* :c:func:`zmq_get_n_det_beta_unique` -* :c:func:`zmq_get_n_det_generators` -* :c:func:`zmq_get_n_det_selectors` -* :c:func:`zmq_get_n_states` -* :c:func:`zmq_get_n_states_diag` -* :c:func:`zmq_get_psi` -* :c:func:`zmq_get_psi_bilinear` -* :c:func:`zmq_get_psi_bilinear_matrix_columns` -* :c:func:`zmq_get_psi_bilinear_matrix_order` -* :c:func:`zmq_get_psi_bilinear_matrix_rows` -* :c:func:`zmq_get_psi_bilinear_matrix_values` -* :c:func:`zmq_get_psi_coef` -* :c:func:`zmq_get_psi_det` -* :c:func:`zmq_get_psi_det_alpha_unique` -* :c:func:`zmq_get_psi_det_beta_unique` -* :c:func:`zmq_get_psi_det_size` -* :c:func:`zmq_get_psi_notouch` -* :c:func:`zmq_port` -* :c:func:`zmq_pt2` -* :c:func:`zmq_put8_dvector` -* :c:func:`zmq_put8_ivector` -* :c:func:`zmq_put_dmatrix` -* :c:func:`zmq_put_dvector` -* :c:func:`zmq_put_i8matrix` -* :c:func:`zmq_put_imatrix` -* :c:func:`zmq_put_int` -* :c:func:`zmq_put_ivector` -* :c:func:`zmq_put_n_det` -* :c:func:`zmq_put_n_det_alpha_unique` -* :c:func:`zmq_put_n_det_beta_unique` -* :c:func:`zmq_put_n_det_generators` -* :c:func:`zmq_put_n_det_selectors` -* :c:func:`zmq_put_n_states` -* :c:func:`zmq_put_n_states_diag` -* :c:func:`zmq_put_psi` -* :c:func:`zmq_put_psi_bilinear` -* :c:func:`zmq_put_psi_bilinear_matrix_columns` -* :c:func:`zmq_put_psi_bilinear_matrix_order` -* :c:func:`zmq_put_psi_bilinear_matrix_rows` -* :c:func:`zmq_put_psi_bilinear_matrix_values` -* :c:func:`zmq_put_psi_coef` -* :c:func:`zmq_put_psi_det` -* :c:func:`zmq_put_psi_det_alpha_unique` -* :c:func:`zmq_put_psi_det_beta_unique` -* :c:func:`zmq_put_psi_det_size` -* :c:func:`zmq_selection` +Index of Providers +------------------ + +* :c:data:`abs_psi_coef_max` +* :c:data:`abs_psi_coef_min` +* :c:data:`alpha_knowles` +* :c:data:`angular_quadrature_points` +* :c:data:`ao_cart_to_sphe_coef` +* :c:data:`ao_cart_to_sphe_inv` +* :c:data:`ao_cart_to_sphe_num` +* :c:data:`ao_cart_to_sphe_overlap` +* :c:data:`ao_cartesian` +* :c:data:`ao_coef` +* :c:data:`ao_coef_normalization_factor` +* :c:data:`ao_coef_normalization_libint_factor` +* :c:data:`ao_coef_normalized` +* :c:data:`ao_coef_normalized_ordered` +* :c:data:`ao_coef_normalized_ordered_transp` +* :c:data:`ao_coef_normalized_ordered_transp_per_nucl` +* :c:data:`ao_deriv2_x` +* :c:data:`ao_deriv2_y` +* :c:data:`ao_deriv2_z` +* :c:data:`ao_deriv_1_x` +* :c:data:`ao_deriv_1_y` +* :c:data:`ao_deriv_1_z` +* :c:data:`ao_dipole_x` +* :c:data:`ao_dipole_y` +* :c:data:`ao_dipole_z` +* :c:data:`ao_effective_one_e_potential` +* :c:data:`ao_effective_one_e_potential_without_kin` +* :c:data:`ao_expo` +* :c:data:`ao_expo_ordered` +* :c:data:`ao_expo_ordered_transp` +* :c:data:`ao_expo_ordered_transp_per_nucl` +* :c:data:`ao_integrals_cache` +* :c:data:`ao_integrals_cache_max` +* :c:data:`ao_integrals_cache_min` +* :c:data:`ao_integrals_erf_cache` +* :c:data:`ao_integrals_erf_cache_max` +* :c:data:`ao_integrals_erf_cache_min` +* :c:data:`ao_integrals_erf_map` +* :c:data:`ao_integrals_map` +* :c:data:`ao_integrals_n_e` +* :c:data:`ao_integrals_n_e_per_atom` +* :c:data:`ao_integrals_threshold` +* :c:data:`ao_kinetic_integrals` +* :c:data:`ao_l` +* :c:data:`ao_l_char` +* :c:data:`ao_l_char_space` +* :c:data:`ao_l_max` +* :c:data:`ao_md5` +* :c:data:`ao_nucl` +* :c:data:`ao_num` +* :c:data:`ao_one_e_integrals` +* :c:data:`ao_one_e_integrals_diag` +* :c:data:`ao_ortho_canonical_coef` +* :c:data:`ao_ortho_canonical_coef_inv` +* :c:data:`ao_ortho_canonical_nucl_elec_integrals` +* :c:data:`ao_ortho_canonical_num` +* :c:data:`ao_ortho_canonical_overlap` +* :c:data:`ao_ortho_lowdin_coef` +* :c:data:`ao_ortho_lowdin_nucl_elec_integrals` +* :c:data:`ao_ortho_lowdin_overlap` +* :c:data:`ao_overlap` +* :c:data:`ao_overlap_abs` +* :c:data:`ao_overlap_x` +* :c:data:`ao_overlap_y` +* :c:data:`ao_overlap_z` +* :c:data:`ao_potential_alpha_xc` +* :c:data:`ao_potential_beta_xc` +* :c:data:`ao_power` +* :c:data:`ao_power_ordered_transp_per_nucl` +* :c:data:`ao_prim_num` +* :c:data:`ao_prim_num_max` +* :c:data:`ao_pseudo_integrals` +* :c:data:`ao_pseudo_integrals_local` +* :c:data:`ao_pseudo_integrals_non_local` +* :c:data:`ao_spread_x` +* :c:data:`ao_spread_y` +* :c:data:`ao_spread_z` +* :c:data:`ao_two_e_integral_alpha` +* :c:data:`ao_two_e_integral_beta` +* :c:data:`ao_two_e_integral_erf_schwartz` +* :c:data:`ao_two_e_integral_schwartz` +* :c:data:`ao_two_e_integrals_erf_in_map` +* :c:data:`ao_two_e_integrals_in_map` +* :c:data:`aos_dsr_vc_alpha_pbe_w` +* :c:data:`aos_dsr_vc_beta_pbe_w` +* :c:data:`aos_dsr_vx_alpha_pbe_w` +* :c:data:`aos_dsr_vx_beta_pbe_w` +* :c:data:`aos_dvc_alpha_pbe_w` +* :c:data:`aos_dvc_beta_pbe_w` +* :c:data:`aos_dvx_alpha_pbe_w` +* :c:data:`aos_dvx_beta_pbe_w` +* :c:data:`aos_grad_in_r_array` +* :c:data:`aos_grad_in_r_array_transp` +* :c:data:`aos_grad_in_r_array_transp_xyz` +* :c:data:`aos_in_r_array` +* :c:data:`aos_in_r_array_transp` +* :c:data:`aos_lapl_in_r_array` +* :c:data:`aos_lapl_in_r_array_transp` +* :c:data:`aos_sr_vc_alpha_lda_w` +* :c:data:`aos_sr_vc_alpha_pbe_w` +* :c:data:`aos_sr_vc_beta_lda_w` +* :c:data:`aos_sr_vc_beta_pbe_w` +* :c:data:`aos_sr_vx_alpha_lda_w` +* :c:data:`aos_sr_vx_alpha_pbe_w` +* :c:data:`aos_sr_vx_beta_lda_w` +* :c:data:`aos_sr_vx_beta_pbe_w` +* :c:data:`aos_vc_alpha_lda_w` +* :c:data:`aos_vc_alpha_pbe_w` +* :c:data:`aos_vc_beta_lda_w` +* :c:data:`aos_vc_beta_pbe_w` +* :c:data:`aos_vx_alpha_lda_w` +* :c:data:`aos_vx_alpha_pbe_w` +* :c:data:`aos_vx_beta_lda_w` +* :c:data:`aos_vx_beta_pbe_w` +* :c:data:`barycentric_electronic_energy` +* :c:data:`big_array_coulomb_integrals` +* :c:data:`big_array_exchange_integrals` +* :c:data:`binom` +* :c:data:`binom_int` +* :c:data:`binom_int_transp` +* :c:data:`binom_transp` +* :c:data:`c0_weight` +* :c:data:`cart_to_sphe_0` +* :c:data:`cart_to_sphe_1` +* :c:data:`cart_to_sphe_2` +* :c:data:`cart_to_sphe_3` +* :c:data:`cart_to_sphe_4` +* :c:data:`cart_to_sphe_5` +* :c:data:`cart_to_sphe_6` +* :c:data:`cart_to_sphe_7` +* :c:data:`cart_to_sphe_8` +* :c:data:`cart_to_sphe_9` +* :c:data:`cas_bitmask` +* :c:data:`center_of_mass` +* :c:data:`ci_eigenvectors` +* :c:data:`ci_eigenvectors_s2` +* :c:data:`ci_electronic_energy` +* :c:data:`ci_energy` +* :c:data:`closed_shell_ref_bitmask` +* :c:data:`coef_hf_selector` +* :c:data:`core_bitmask` +* :c:data:`core_energy` +* :c:data:`core_energy_erf` +* :c:data:`core_fock_operator` +* :c:data:`core_fock_operator_erf` +* :c:data:`core_inact_act_bitmask_4` +* :c:data:`core_inact_virt_bitmask` +* :c:data:`correlation_energy_ratio_max` +* :c:data:`correlation_functional` +* :c:data:`damping_for_rs_dft` +* :c:data:`data_energy_proj` +* :c:data:`data_energy_var` +* :c:data:`data_one_e_dm_alpha_mo` +* :c:data:`data_one_e_dm_beta_mo` +* :c:data:`davidson_criterion` +* :c:data:`davidson_sze_max` +* :c:data:`degree_max_generators` +* :c:data:`degree_max_integration_lebedev` +* :c:data:`delta_e_per_selector` +* :c:data:`density_for_dft` +* :c:data:`det_alpha_norm` +* :c:data:`det_beta_norm` +* :c:data:`det_to_occ_pattern` +* :c:data:`dft_type` +* :c:data:`diag_algorithm` +* :c:data:`diagonal_h_matrix_on_psi_det` +* :c:data:`disk_access_nuclear_repulsion` +* :c:data:`disk_based_davidson` +* :c:data:`distributed_davidson` +* :c:data:`do_direct_integrals` +* :c:data:`do_pseudo` +* :c:data:`do_pt2` +* :c:data:`double_exc_bitmask` +* :c:data:`double_index_selectors` +* :c:data:`dr_radial_integral` +* :c:data:`dressed_column_idx` +* :c:data:`dressing_column_h` +* :c:data:`dressing_column_s` +* :c:data:`dtranspose` +* :c:data:`e_corr_double_only` +* :c:data:`e_corr_per_selectors` +* :c:data:`e_corr_second_order` +* :c:data:`e_correlation_dft` +* :c:data:`e_exchange_dft` +* :c:data:`effective_one_e_potential` +* :c:data:`effective_one_e_potential_without_kin` +* :c:data:`eigenvalues_fock_matrix_ao` +* :c:data:`eigenvectors_fock_matrix_ao` +* :c:data:`eigenvectors_fock_matrix_mo` +* :c:data:`elec_alpha_num` +* :c:data:`elec_beta_num` +* :c:data:`elec_num` +* :c:data:`elec_num_tab` +* :c:data:`element_mass` +* :c:data:`element_name` +* :c:data:`energy_c` +* :c:data:`energy_c_lda` +* :c:data:`energy_c_pbe` +* :c:data:`energy_iterations` +* :c:data:`energy_sr_c_lda` +* :c:data:`energy_sr_c_pbe` +* :c:data:`energy_sr_x_lda` +* :c:data:`energy_sr_x_pbe` +* :c:data:`energy_x` +* :c:data:`energy_x_lda` +* :c:data:`energy_x_pbe` +* :c:data:`exc_degree_per_selectors` +* :c:data:`exchange_functional` +* :c:data:`expected_s2` +* :c:data:`extra_e_contrib_density` +* :c:data:`extrapolate_fock_matrix` +* :c:data:`extrapolated_energy` +* :c:data:`ezfio_filename` +* :c:data:`ezfio_work_dir` +* :c:data:`fact_inv` +* :c:data:`fill_h_apply_buffer_selection` +* :c:data:`final_grid_points` +* :c:data:`final_weight_at_r` +* :c:data:`final_weight_at_r_vector` +* :c:data:`fock_matrix_alpha_no_xc_ao` +* :c:data:`fock_matrix_ao` +* :c:data:`fock_matrix_ao_alpha` +* :c:data:`fock_matrix_ao_beta` +* :c:data:`fock_matrix_beta_no_xc_ao` +* :c:data:`fock_matrix_diag_mo` +* :c:data:`fock_matrix_energy` +* :c:data:`fock_matrix_mo` +* :c:data:`fock_matrix_mo_alpha` +* :c:data:`fock_matrix_mo_beta` +* :c:data:`fock_operator_closed_shell_ref_bitmask` +* :c:data:`fock_wee_closed_shell` +* :c:data:`fps_spf_matrix_ao` +* :c:data:`fps_spf_matrix_mo` +* :c:data:`frozen_orb_scf` +* :c:data:`full_ijkl_bitmask` +* :c:data:`full_ijkl_bitmask_4` +* :c:data:`gauleg_t2` +* :c:data:`gauleg_w` +* :c:data:`general_primitive_integral` +* :c:data:`general_primitive_integral_erf` +* :c:data:`generators_bitmask` +* :c:data:`generators_bitmask_restart` +* :c:data:`gga_sr_type_functionals` +* :c:data:`gga_type_functionals` +* :c:data:`give_polynomial_mult_center_one_e_erf` +* :c:data:`give_polynomial_mult_center_one_e_erf_opt` +* :c:data:`grad_aos_dsr_vc_alpha_pbe_w` +* :c:data:`grad_aos_dsr_vc_beta_pbe_w` +* :c:data:`grad_aos_dsr_vx_alpha_pbe_w` +* :c:data:`grad_aos_dsr_vx_beta_pbe_w` +* :c:data:`grad_aos_dvc_alpha_pbe_w` +* :c:data:`grad_aos_dvc_beta_pbe_w` +* :c:data:`grad_aos_dvx_alpha_pbe_w` +* :c:data:`grad_aos_dvx_beta_pbe_w` +* :c:data:`grid_points_per_atom` +* :c:data:`grid_points_radial` +* :c:data:`grid_type_sgn` +* :c:data:`h0_type` +* :c:data:`h_apply_buffer_allocated` +* :c:data:`h_apply_buffer_lock` +* :c:data:`h_matrix_all_dets` +* :c:data:`h_matrix_cas` +* :c:data:`hf_bitmask` +* :c:data:`hf_energy` +* :c:data:`hf_exchange` +* :c:data:`hf_one_electron_energy` +* :c:data:`hf_two_electron_energy` +* :c:data:`i2radix_sort` +* :c:data:`i8radix_sort` +* :c:data:`i8radix_sort_big` +* :c:data:`i_bitmask_gen` +* :c:data:`i_h_hf_per_selectors` +* :c:data:`i_x1_new` +* :c:data:`i_x1_pol_mult_a1` +* :c:data:`i_x1_pol_mult_a2` +* :c:data:`i_x1_pol_mult_one_e` +* :c:data:`i_x1_pol_mult_recurs` +* :c:data:`i_x2_new` +* :c:data:`i_x2_pol_mult` +* :c:data:`i_x2_pol_mult_one_e` +* :c:data:`idx_cas` +* :c:data:`idx_non_cas` +* :c:data:`inact_bitmask` +* :c:data:`inact_virt_bitmask` +* :c:data:`index_final_points` +* :c:data:`index_final_points_reverse` +* :c:data:`index_holes_bitmask` +* :c:data:`index_particl_bitmask` +* :c:data:`inertia_tensor` +* :c:data:`inertia_tensor_eigenvalues` +* :c:data:`inertia_tensor_eigenvectors` +* :c:data:`initialize_pt2_e0_denominator` +* :c:data:`insert_into_mo_integrals_erf_map` +* :c:data:`insert_into_mo_integrals_map` +* :c:data:`int_erf_3_index` +* :c:data:`int_erf_3_index_exc` +* :c:data:`inv_int` +* :c:data:`inv_selectors_coef_hf` +* :c:data:`inv_selectors_coef_hf_squared` +* :c:data:`io_ao_integrals_e_n` +* :c:data:`io_ao_integrals_kinetic` +* :c:data:`io_ao_integrals_overlap` +* :c:data:`io_ao_integrals_pseudo` +* :c:data:`io_ao_one_e_integrals` +* :c:data:`io_ao_two_e_integrals` +* :c:data:`io_ao_two_e_integrals_erf` +* :c:data:`io_mo_integrals_e_n` +* :c:data:`io_mo_integrals_kinetic` +* :c:data:`io_mo_integrals_pseudo` +* :c:data:`io_mo_one_e_integrals` +* :c:data:`io_mo_two_e_integrals` +* :c:data:`io_mo_two_e_integrals_erf` +* :c:data:`iradix_sort` +* :c:data:`iradix_sort_big` +* :c:data:`is_zmq_slave` +* :c:data:`ks_energy` +* :c:data:`l_to_charater` +* :c:data:`level_shift` +* :c:data:`list_act` +* :c:data:`list_act_reverse` +* :c:data:`list_core` +* :c:data:`list_core_inact` +* :c:data:`list_core_inact_act` +* :c:data:`list_core_inact_act_reverse` +* :c:data:`list_core_inact_reverse` +* :c:data:`list_core_reverse` +* :c:data:`list_inact` +* :c:data:`list_inact_reverse` +* :c:data:`list_virt` +* :c:data:`list_virt_reverse` +* :c:data:`m_knowles` +* :c:data:`max_degree_exc` +* :c:data:`max_dim_diis` +* :c:data:`max_exc_pert` +* :c:data:`mo_class` +* :c:data:`mo_coef` +* :c:data:`mo_coef_begin_iteration` +* :c:data:`mo_coef_in_ao_ortho_basis` +* :c:data:`mo_coef_transp` +* :c:data:`mo_dipole_x` +* :c:data:`mo_dipole_y` +* :c:data:`mo_dipole_z` +* :c:data:`mo_energy_expval` +* :c:data:`mo_guess_type` +* :c:data:`mo_integrals_cache` +* :c:data:`mo_integrals_cache_max` +* :c:data:`mo_integrals_cache_max_8` +* :c:data:`mo_integrals_cache_min` +* :c:data:`mo_integrals_cache_min_8` +* :c:data:`mo_integrals_erf_cache` +* :c:data:`mo_integrals_erf_cache_max` +* :c:data:`mo_integrals_erf_cache_min` +* :c:data:`mo_integrals_erf_map` +* :c:data:`mo_integrals_map` +* :c:data:`mo_integrals_n_e` +* :c:data:`mo_integrals_n_e_per_atom` +* :c:data:`mo_integrals_threshold` +* :c:data:`mo_kinetic_integrals` +* :c:data:`mo_label` +* :c:data:`mo_num` +* :c:data:`mo_occ` +* :c:data:`mo_one_e_integrals` +* :c:data:`mo_overlap` +* :c:data:`mo_pseudo_integrals` +* :c:data:`mo_spread_x` +* :c:data:`mo_spread_y` +* :c:data:`mo_spread_z` +* :c:data:`mo_two_e_int_erf_jj` +* :c:data:`mo_two_e_int_erf_jj_anti` +* :c:data:`mo_two_e_int_erf_jj_anti_from_ao` +* :c:data:`mo_two_e_int_erf_jj_exchange` +* :c:data:`mo_two_e_int_erf_jj_exchange_from_ao` +* :c:data:`mo_two_e_int_erf_jj_from_ao` +* :c:data:`mo_two_e_integral_jj_from_ao` +* :c:data:`mo_two_e_integrals_erf_in_map` +* :c:data:`mo_two_e_integrals_in_map` +* :c:data:`mo_two_e_integrals_jj` +* :c:data:`mo_two_e_integrals_jj_anti` +* :c:data:`mo_two_e_integrals_jj_anti_from_ao` +* :c:data:`mo_two_e_integrals_jj_exchange` +* :c:data:`mo_two_e_integrals_jj_exchange_from_ao` +* :c:data:`mo_two_e_integrals_vv_anti_from_ao` +* :c:data:`mo_two_e_integrals_vv_exchange_from_ao` +* :c:data:`mo_two_e_integrals_vv_from_ao` +* :c:data:`mos_grad_in_r_array` +* :c:data:`mos_in_r_array` +* :c:data:`mos_in_r_array_transp` +* :c:data:`mos_lapl_in_r_array` +* :c:data:`mpi_bit_kind` +* :c:data:`mpi_initialized` +* :c:data:`mpi_master` +* :c:data:`mpi_rank` +* :c:data:`mpi_size` +* :c:data:`mu_erf` +* :c:data:`mu_erf_dft` +* :c:data:`n_act_orb` +* :c:data:`n_aos_max` +* :c:data:`n_cas_bitmask` +* :c:data:`n_core_inact_act_orb` +* :c:data:`n_core_inact_orb` +* :c:data:`n_core_orb` +* :c:data:`n_core_orb_allocate` +* :c:data:`n_det` +* :c:data:`n_det_alpha_unique` +* :c:data:`n_det_beta_unique` +* :c:data:`n_det_cas` +* :c:data:`n_det_generators` +* :c:data:`n_det_iterations` +* :c:data:`n_det_max` +* :c:data:`n_det_max_full` +* :c:data:`n_det_non_cas` +* :c:data:`n_det_print_wf` +* :c:data:`n_det_selectors` +* :c:data:`n_double_exc_bitmasks` +* :c:data:`n_double_selectors` +* :c:data:`n_generators_bitmask` +* :c:data:`n_generators_bitmask_restart` +* :c:data:`n_inact_orb` +* :c:data:`n_inact_orb_allocate` +* :c:data:`n_int` +* :c:data:`n_it_scf_max` +* :c:data:`n_iter` +* :c:data:`n_occ_pattern` +* :c:data:`n_points_final_grid` +* :c:data:`n_points_grid_per_atom` +* :c:data:`n_points_integration_angular` +* :c:data:`n_points_integration_angular_lebedev` +* :c:data:`n_points_radial_grid` +* :c:data:`n_pt_max_i_x` +* :c:data:`n_pt_max_integrals` +* :c:data:`n_single_exc_bitmasks` +* :c:data:`n_states` +* :c:data:`n_states_diag` +* :c:data:`n_virt_orb` +* :c:data:`n_virt_orb_allocate` +* :c:data:`no_ivvv_integrals` +* :c:data:`no_vvv_integrals` +* :c:data:`no_vvvv_integrals` +* :c:data:`nproc` +* :c:data:`nthreads_davidson` +* :c:data:`nthreads_pt2` +* :c:data:`nucl_aos` +* :c:data:`nucl_aos_transposed` +* :c:data:`nucl_charge` +* :c:data:`nucl_charge_remove` +* :c:data:`nucl_coord` +* :c:data:`nucl_coord_transp` +* :c:data:`nucl_dist` +* :c:data:`nucl_dist_2` +* :c:data:`nucl_dist_inv` +* :c:data:`nucl_dist_vec_x` +* :c:data:`nucl_dist_vec_y` +* :c:data:`nucl_dist_vec_z` +* :c:data:`nucl_label` +* :c:data:`nucl_list_shell_aos` +* :c:data:`nucl_n_aos` +* :c:data:`nucl_num` +* :c:data:`nucl_num_shell_aos` +* :c:data:`nuclear_repulsion` +* :c:data:`one_body_dm_mo_alpha_one_det` +* :c:data:`one_body_dm_mo_beta_one_det` +* :c:data:`one_e_dm_alpha_ao_for_dft` +* :c:data:`one_e_dm_alpha_at_r` +* :c:data:`one_e_dm_alpha_in_r` +* :c:data:`one_e_dm_and_grad_alpha_in_r` +* :c:data:`one_e_dm_and_grad_beta_in_r` +* :c:data:`one_e_dm_ao_alpha` +* :c:data:`one_e_dm_ao_beta` +* :c:data:`one_e_dm_average_mo_for_dft` +* :c:data:`one_e_dm_beta_ao_for_dft` +* :c:data:`one_e_dm_beta_at_r` +* :c:data:`one_e_dm_beta_in_r` +* :c:data:`one_e_dm_dagger_mo_spin_index` +* :c:data:`one_e_dm_mo` +* :c:data:`one_e_dm_mo_alpha` +* :c:data:`one_e_dm_mo_alpha_average` +* :c:data:`one_e_dm_mo_alpha_for_dft` +* :c:data:`one_e_dm_mo_beta` +* :c:data:`one_e_dm_mo_beta_average` +* :c:data:`one_e_dm_mo_beta_for_dft` +* :c:data:`one_e_dm_mo_diff` +* :c:data:`one_e_dm_mo_for_dft` +* :c:data:`one_e_dm_mo_spin_index` +* :c:data:`one_e_energy` +* :c:data:`one_e_grad_2_dm_alpha_at_r` +* :c:data:`one_e_grad_2_dm_beta_at_r` +* :c:data:`one_e_spin_density_ao` +* :c:data:`one_e_spin_density_mo` +* :c:data:`only_expected_s2` +* :c:data:`output_cpu_time_0` +* :c:data:`output_wall_time_0` +* :c:data:`overlap_gaussian_xyz` +* :c:data:`phi_angular_integration_lebedev` +* :c:data:`potential_c_alpha_ao` +* :c:data:`potential_c_alpha_ao_lda` +* :c:data:`potential_c_alpha_ao_pbe` +* :c:data:`potential_c_alpha_mo` +* :c:data:`potential_c_beta_ao` +* :c:data:`potential_c_beta_ao_lda` +* :c:data:`potential_c_beta_ao_pbe` +* :c:data:`potential_c_beta_mo` +* :c:data:`potential_sr_c_alpha_ao_lda` +* :c:data:`potential_sr_c_alpha_ao_pbe` +* :c:data:`potential_sr_c_beta_ao_lda` +* :c:data:`potential_sr_c_beta_ao_pbe` +* :c:data:`potential_sr_x_alpha_ao_lda` +* :c:data:`potential_sr_x_alpha_ao_pbe` +* :c:data:`potential_sr_x_beta_ao_lda` +* :c:data:`potential_sr_x_beta_ao_pbe` +* :c:data:`potential_x_alpha_ao` +* :c:data:`potential_x_alpha_ao_lda` +* :c:data:`potential_x_alpha_ao_pbe` +* :c:data:`potential_x_alpha_mo` +* :c:data:`potential_x_beta_ao` +* :c:data:`potential_x_beta_ao_lda` +* :c:data:`potential_x_beta_ao_pbe` +* :c:data:`potential_x_beta_mo` +* :c:data:`pseudo_dz_k` +* :c:data:`pseudo_dz_k_transp` +* :c:data:`pseudo_dz_kl` +* :c:data:`pseudo_dz_kl_transp` +* :c:data:`pseudo_grid_rmax` +* :c:data:`pseudo_grid_size` +* :c:data:`pseudo_klocmax` +* :c:data:`pseudo_kmax` +* :c:data:`pseudo_lmax` +* :c:data:`pseudo_n_k` +* :c:data:`pseudo_n_k_transp` +* :c:data:`pseudo_n_kl` +* :c:data:`pseudo_n_kl_transp` +* :c:data:`pseudo_v_k` +* :c:data:`pseudo_v_k_transp` +* :c:data:`pseudo_v_kl` +* :c:data:`pseudo_v_kl_transp` +* :c:data:`psi_average_norm_contrib` +* :c:data:`psi_average_norm_contrib_sorted` +* :c:data:`psi_bilinear_matrix` +* :c:data:`psi_bilinear_matrix_columns` +* :c:data:`psi_bilinear_matrix_columns_loc` +* :c:data:`psi_bilinear_matrix_order` +* :c:data:`psi_bilinear_matrix_order_reverse` +* :c:data:`psi_bilinear_matrix_order_transp_reverse` +* :c:data:`psi_bilinear_matrix_rows` +* :c:data:`psi_bilinear_matrix_transp_columns` +* :c:data:`psi_bilinear_matrix_transp_order` +* :c:data:`psi_bilinear_matrix_transp_rows` +* :c:data:`psi_bilinear_matrix_transp_rows_loc` +* :c:data:`psi_bilinear_matrix_transp_values` +* :c:data:`psi_bilinear_matrix_values` +* :c:data:`psi_cas` +* :c:data:`psi_cas_coef` +* :c:data:`psi_cas_coef_sorted_bit` +* :c:data:`psi_cas_energy` +* :c:data:`psi_cas_energy_diagonalized` +* :c:data:`psi_cas_sorted_bit` +* :c:data:`psi_coef` +* :c:data:`psi_coef_cas_diagonalized` +* :c:data:`psi_coef_generators` +* :c:data:`psi_coef_max` +* :c:data:`psi_coef_min` +* :c:data:`psi_coef_sorted` +* :c:data:`psi_coef_sorted_bit` +* :c:data:`psi_coef_sorted_gen` +* :c:data:`psi_det` +* :c:data:`psi_det_alpha` +* :c:data:`psi_det_alpha_unique` +* :c:data:`psi_det_beta` +* :c:data:`psi_det_beta_unique` +* :c:data:`psi_det_generators` +* :c:data:`psi_det_hii` +* :c:data:`psi_det_size` +* :c:data:`psi_det_sorted` +* :c:data:`psi_det_sorted_bit` +* :c:data:`psi_det_sorted_gen` +* :c:data:`psi_det_sorted_gen_order` +* :c:data:`psi_det_sorted_order` +* :c:data:`psi_dft_energy_h_core` +* :c:data:`psi_dft_energy_kinetic` +* :c:data:`psi_dft_energy_nuclear_elec` +* :c:data:`psi_energy` +* :c:data:`psi_energy_h_core` +* :c:data:`psi_energy_two_e` +* :c:data:`psi_energy_with_nucl_rep` +* :c:data:`psi_non_cas` +* :c:data:`psi_non_cas_coef` +* :c:data:`psi_non_cas_coef_sorted_bit` +* :c:data:`psi_non_cas_sorted_bit` +* :c:data:`psi_occ_pattern` +* :c:data:`psi_occ_pattern_hii` +* :c:data:`psi_selectors` +* :c:data:`psi_selectors_coef` +* :c:data:`psi_selectors_coef_transp` +* :c:data:`psi_selectors_diag_h_mat` +* :c:data:`psi_selectors_size` +* :c:data:`pt2_collector` +* :c:data:`pt2_cw` +* :c:data:`pt2_e0_denominator` +* :c:data:`pt2_f` +* :c:data:`pt2_iterations` +* :c:data:`pt2_j` +* :c:data:`pt2_max` +* :c:data:`pt2_mindetinfirstteeth` +* :c:data:`pt2_n_0` +* :c:data:`pt2_n_tasks` +* :c:data:`pt2_n_tasks_max` +* :c:data:`pt2_n_teeth` +* :c:data:`pt2_r` +* :c:data:`pt2_relative_error` +* :c:data:`pt2_stoch_istate` +* :c:data:`pt2_u` +* :c:data:`pt2_u_0` +* :c:data:`pt2_w` +* :c:data:`pt2_w_t` +* :c:data:`qp_max_mem` +* :c:data:`qp_run_address` +* :c:data:`read_ao_integrals_e_n` +* :c:data:`read_ao_integrals_kinetic` +* :c:data:`read_ao_integrals_overlap` +* :c:data:`read_ao_integrals_pseudo` +* :c:data:`read_ao_one_e_integrals` +* :c:data:`read_ao_two_e_integrals` +* :c:data:`read_ao_two_e_integrals_erf` +* :c:data:`read_mo_integrals_e_n` +* :c:data:`read_mo_integrals_kinetic` +* :c:data:`read_mo_integrals_pseudo` +* :c:data:`read_mo_one_e_integrals` +* :c:data:`read_mo_two_e_integrals` +* :c:data:`read_mo_two_e_integrals_erf` +* :c:data:`read_nuclear_repulsion` +* :c:data:`read_wf` +* :c:data:`rec__quicksort` +* :c:data:`rec_d_quicksort` +* :c:data:`rec_i2_quicksort` +* :c:data:`rec_i8_quicksort` +* :c:data:`rec_i_quicksort` +* :c:data:`ref_bitmask` +* :c:data:`ref_bitmask_e_n_energy` +* :c:data:`ref_bitmask_energy` +* :c:data:`ref_bitmask_kinetic_energy` +* :c:data:`ref_bitmask_one_e_energy` +* :c:data:`ref_bitmask_two_e_energy` +* :c:data:`ref_closed_shell_bitmask` +* :c:data:`reunion_of_bitmask` +* :c:data:`reunion_of_cas_inact_bitmask` +* :c:data:`reunion_of_core_inact_act_bitmask` +* :c:data:`reunion_of_core_inact_bitmask` +* :c:data:`rs_ks_energy` +* :c:data:`s2_eig` +* :c:data:`s2_matrix_all_dets` +* :c:data:`s2_values` +* :c:data:`s_half` +* :c:data:`s_half_inv` +* :c:data:`s_inv` +* :c:data:`s_mo_coef` +* :c:data:`s_z` +* :c:data:`s_z2_sz` +* :c:data:`scf_algorithm` +* :c:data:`scf_density_matrix_ao` +* :c:data:`scf_density_matrix_ao_alpha` +* :c:data:`scf_density_matrix_ao_beta` +* :c:data:`scf_energy` +* :c:data:`select_max` +* :c:data:`selection_criterion` +* :c:data:`selection_criterion_factor` +* :c:data:`selection_criterion_min` +* :c:data:`selection_weight` +* :c:data:`shifting_constant` +* :c:data:`short_range_hartree` +* :c:data:`short_range_hartree_operator` +* :c:data:`single_exc_bitmask` +* :c:data:`singles_alpha_csc` +* :c:data:`singles_alpha_csc_idx` +* :c:data:`singles_alpha_csc_size` +* :c:data:`singles_beta_csc` +* :c:data:`singles_beta_csc_idx` +* :c:data:`singles_beta_csc_size` +* :c:data:`size_select_max` +* :c:data:`slater_bragg_radii` +* :c:data:`slater_bragg_radii_per_atom` +* :c:data:`slater_bragg_radii_per_atom_ua` +* :c:data:`slater_bragg_radii_ua` +* :c:data:`slater_bragg_type_inter_distance` +* :c:data:`slater_bragg_type_inter_distance_ua` +* :c:data:`state_average_weight` +* :c:data:`state_following` +* :c:data:`target_energy` +* :c:data:`theta_angular_integration_lebedev` +* :c:data:`thresh_scf` +* :c:data:`threshold_davidson` +* :c:data:`threshold_diis` +* :c:data:`threshold_diis_nonzero` +* :c:data:`threshold_generators` +* :c:data:`threshold_selectors` +* :c:data:`trace_potential_xc` +* :c:data:`trace_v_h` +* :c:data:`trace_v_hxc` +* :c:data:`trace_v_xc` +* :c:data:`transpose` +* :c:data:`two_e_energy` +* :c:data:`unpaired_alpha_electrons` +* :c:data:`used_weight` +* :c:data:`var_pt2_ratio` +* :c:data:`virt_bitmask` +* :c:data:`virt_bitmask_4` +* :c:data:`weight_at_r` +* :c:data:`weight_occ_pattern` +* :c:data:`weights_angular_integration_lebedev` +* :c:data:`weights_angular_points` +* :c:data:`write_ao_integrals_e_n` +* :c:data:`write_ao_integrals_kinetic` +* :c:data:`write_ao_integrals_overlap` +* :c:data:`write_ao_integrals_pseudo` +* :c:data:`write_ao_one_e_integrals` +* :c:data:`write_ao_two_e_integrals` +* :c:data:`write_ao_two_e_integrals_erf` +* :c:data:`write_mo_integrals_e_n` +* :c:data:`write_mo_integrals_kinetic` +* :c:data:`write_mo_integrals_pseudo` +* :c:data:`write_mo_one_e_integrals` +* :c:data:`write_mo_two_e_integrals` +* :c:data:`write_mo_two_e_integrals_erf` +* :c:data:`write_nuclear_repulsion` +* :c:data:`zmq_context` +* :c:data:`zmq_lock` +* :c:data:`zmq_port_start` +* :c:data:`zmq_socket_pair_inproc_address` +* :c:data:`zmq_socket_pull_inproc_address` +* :c:data:`zmq_socket_pull_tcp_address` +* :c:data:`zmq_socket_push_inproc_address` +* :c:data:`zmq_socket_push_tcp_address` +* :c:data:`zmq_socket_sub_tcp_address` +* :c:data:`zmq_state` + +Index of Subroutines/Functions +------------------------------ + +* :c:func:`a_coef` +* :c:func:`a_operator` +* :c:func:`a_operator_two_e` +* :c:func:`ac_operator` +* :c:func:`ac_operator_two_e` +* :c:func:`add_integrals_to_map` +* :c:func:`add_integrals_to_map_erf` +* :c:func:`add_integrals_to_map_no_exit_34` +* :c:func:`add_integrals_to_map_three_indices` +* :c:func:`add_poly` +* :c:func:`add_poly_multiply` +* :c:func:`add_task_to_taskserver` +* :c:func:`add_to_selection_buffer` +* :c:func:`ao_l4` +* :c:func:`ao_ortho_cano_to_ao` +* :c:func:`ao_power_index` +* :c:func:`ao_to_mo` +* :c:func:`ao_two_e_integral` +* :c:func:`ao_two_e_integral_erf` +* :c:func:`ao_two_e_integral_schwartz_accel` +* :c:func:`ao_two_e_integral_schwartz_accel_erf` +* :c:func:`ao_two_e_integrals_erf_in_map_collector` +* :c:func:`ao_two_e_integrals_erf_in_map_slave` +* :c:func:`ao_two_e_integrals_erf_in_map_slave_inproc` +* :c:func:`ao_two_e_integrals_erf_in_map_slave_tcp` +* :c:func:`ao_two_e_integrals_in_map_collector` +* :c:func:`ao_two_e_integrals_in_map_slave` +* :c:func:`ao_two_e_integrals_in_map_slave_inproc` +* :c:func:`ao_two_e_integrals_in_map_slave_tcp` +* :c:func:`ao_value` +* :c:func:`apply_excitation` +* :c:func:`apply_hole` +* :c:func:`apply_holes` +* :c:func:`apply_particle` +* :c:func:`apply_particles` +* :c:func:`apply_rotation` +* :c:func:`approx_dble` +* :c:func:`au0_h_au0` +* :c:func:`b_coef` +* :c:func:`berf` +* :c:func:`binom_func` +* :c:func:`bitstring_to_hexa` +* :c:func:`bitstring_to_list` +* :c:func:`bitstring_to_list_ab` +* :c:func:`bitstring_to_list_in_selection` +* :c:func:`bitstring_to_str` +* :c:func:`broadcast_chunks_bit_kind` +* :c:func:`broadcast_chunks_double` +* :c:func:`broadcast_chunks_integer` +* :c:func:`broadcast_chunks_integer8` +* :c:func:`build_fock_tmp` +* :c:func:`cell_function_becke` +* :c:func:`check_coherence_functional` +* :c:func:`check_mem` +* :c:func:`cis` +* :c:func:`cisd` +* :c:func:`clear_ao_erf_map` +* :c:func:`clear_ao_map` +* :c:func:`clear_bit_to_integer` +* :c:func:`clear_mo_erf_map` +* :c:func:`clear_mo_map` +* :c:func:`compute_ao_integrals_erf_jl` +* :c:func:`compute_ao_integrals_jl` +* :c:func:`compute_ao_two_e_integrals` +* :c:func:`compute_ao_two_e_integrals_erf` +* :c:func:`connect_to_taskserver` +* :c:func:`connected_to_ref` +* :c:func:`connected_to_ref_by_mono` +* :c:func:`copy_h_apply_buffer_to_wf` +* :c:func:`copy_psi_bilinear_to_psi` +* :c:func:`create_guess` +* :c:func:`create_microlist` +* :c:func:`create_minilist` +* :c:func:`create_minilist_find_previous` +* :c:func:`create_selection_buffer` +* :c:func:`create_wf_of_psi_bilinear_matrix` +* :c:func:`damping_scf` +* :c:func:`davidson_collector` +* :c:func:`davidson_converged` +* :c:func:`davidson_diag_hjj_sjj` +* :c:func:`davidson_diag_hs2` +* :c:func:`davidson_pull_results` +* :c:func:`davidson_push_results` +* :c:func:`davidson_run_slave` +* :c:func:`davidson_slave_inproc` +* :c:func:`davidson_slave_tcp` +* :c:func:`davidson_slave_work` +* :c:func:`dberfda` +* :c:func:`dble_fact` +* :c:func:`dble_fact_even` +* :c:func:`dble_fact_odd` +* :c:func:`dble_logfact` +* :c:func:`ddfact2` +* :c:func:`debug_det` +* :c:func:`debug_spindet` +* :c:func:`decode_exc` +* :c:func:`decode_exc_spin` +* :c:func:`delete_selection_buffer` +* :c:func:`density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r` +* :c:func:`derivative_knowles_function` +* :c:func:`det_inf` +* :c:func:`det_search_key` +* :c:func:`detcmp` +* :c:func:`deteq` +* :c:func:`diag_h_mat_elem` +* :c:func:`diag_h_mat_elem_au0_h_au0` +* :c:func:`diag_h_mat_elem_fock` +* :c:func:`diag_h_mat_elem_one_e` +* :c:func:`diag_s_mat_elem` +* :c:func:`diag_wee_mat_elem` +* :c:func:`diagonalize_ci` +* :c:func:`diagonalize_h` +* :c:func:`disconnect_from_taskserver` +* :c:func:`disconnect_from_taskserver_state` +* :c:func:`dm_dft_alpha_beta_and_all_aos_at_r` +* :c:func:`dm_dft_alpha_beta_at_r` +* :c:func:`do_mono_excitation` +* :c:func:`dpol` +* :c:func:`dpold` +* :c:func:`dpoldd` +* :c:func:`dset_order` +* :c:func:`dset_order_big` +* :c:func:`dsort` +* :c:func:`dump_ao_integrals` +* :c:func:`dump_ao_integrals_erf` +* :c:func:`dump_mo_integrals` +* :c:func:`ec_lda` +* :c:func:`ec_lda_sr` +* :c:func:`ec_only_lda_sr` +* :c:func:`ec_pbe_only` +* :c:func:`ec_pbe_sr` +* :c:func:`ecorrlr` +* :c:func:`ecpw` +* :c:func:`end_parallel_job` +* :c:func:`end_zmq_pair_socket` +* :c:func:`end_zmq_pull_socket` +* :c:func:`end_zmq_push_socket` +* :c:func:`end_zmq_sub_socket` +* :c:func:`end_zmq_to_qp_run_socket` +* :c:func:`erf0` +* :c:func:`eri` +* :c:func:`eri_erf` +* :c:func:`ex_lda` +* :c:func:`ex_lda_sr` +* :c:func:`ex_pbe_sr` +* :c:func:`ex_pbe_sr_only` +* :c:func:`example_becke_numerical_grid` +* :c:func:`example_bitmask` +* :c:func:`example_determinants` +* :c:func:`example_determinants_psi_det` +* :c:func:`extrapolate_data` +* :c:func:`f_function_becke` +* :c:func:`f_integral` +* :c:func:`fact` +* :c:func:`fci` +* :c:func:`fcidump` +* :c:func:`fill_buffer_double` +* :c:func:`fill_h_apply_buffer_no_selection` +* :c:func:`filter_connected` +* :c:func:`filter_connected_i_h_psi0` +* :c:func:`filter_not_connected` +* :c:func:`find_rotation` +* :c:func:`four_idx_transform` +* :c:func:`g0d` +* :c:func:`g0dd` +* :c:func:`g0f` +* :c:func:`gammln` +* :c:func:`gammp` +* :c:func:`gauleg` +* :c:func:`gaussian_product` +* :c:func:`gaussian_product_x` +* :c:func:`gcf` +* :c:func:`generate_all_alpha_beta_det_products` +* :c:func:`get_all_spin_doubles` +* :c:func:`get_all_spin_doubles_1` +* :c:func:`get_all_spin_doubles_2` +* :c:func:`get_all_spin_doubles_3` +* :c:func:`get_all_spin_doubles_4` +* :c:func:`get_all_spin_doubles_n_int` +* :c:func:`get_all_spin_singles` +* :c:func:`get_all_spin_singles_1` +* :c:func:`get_all_spin_singles_2` +* :c:func:`get_all_spin_singles_3` +* :c:func:`get_all_spin_singles_4` +* :c:func:`get_all_spin_singles_and_doubles` +* :c:func:`get_all_spin_singles_and_doubles_1` +* :c:func:`get_all_spin_singles_and_doubles_2` +* :c:func:`get_all_spin_singles_and_doubles_3` +* :c:func:`get_all_spin_singles_and_doubles_4` +* :c:func:`get_all_spin_singles_and_doubles_n_int` +* :c:func:`get_all_spin_singles_n_int` +* :c:func:`get_ao_erf_map_size` +* :c:func:`get_ao_map_size` +* :c:func:`get_ao_two_e_integral` +* :c:func:`get_ao_two_e_integral_erf` +* :c:func:`get_ao_two_e_integrals` +* :c:func:`get_ao_two_e_integrals_erf` +* :c:func:`get_ao_two_e_integrals_erf_non_zero` +* :c:func:`get_ao_two_e_integrals_non_zero` +* :c:func:`get_d0` +* :c:func:`get_d1` +* :c:func:`get_d2` +* :c:func:`get_double_excitation` +* :c:func:`get_double_excitation_spin` +* :c:func:`get_excitation` +* :c:func:`get_excitation_degree` +* :c:func:`get_excitation_degree_spin` +* :c:func:`get_excitation_degree_vector` +* :c:func:`get_excitation_degree_vector_double_alpha_beta` +* :c:func:`get_excitation_degree_vector_mono` +* :c:func:`get_excitation_degree_vector_mono_or_exchange` +* :c:func:`get_excitation_degree_vector_mono_or_exchange_verbose` +* :c:func:`get_excitation_spin` +* :c:func:`get_index_in_psi_det_alpha_unique` +* :c:func:`get_index_in_psi_det_beta_unique` +* :c:func:`get_index_in_psi_det_sorted_bit` +* :c:func:`get_inverse` +* :c:func:`get_mask_phase` +* :c:func:`get_mo_erf_map_size` +* :c:func:`get_mo_map_size` +* :c:func:`get_mo_two_e_integral_erf` +* :c:func:`get_mo_two_e_integrals` +* :c:func:`get_mo_two_e_integrals_coulomb_ii` +* :c:func:`get_mo_two_e_integrals_erf` +* :c:func:`get_mo_two_e_integrals_erf_coulomb_ii` +* :c:func:`get_mo_two_e_integrals_erf_exch_ii` +* :c:func:`get_mo_two_e_integrals_erf_i1j1` +* :c:func:`get_mo_two_e_integrals_erf_ij` +* :c:func:`get_mo_two_e_integrals_exch_ii` +* :c:func:`get_mo_two_e_integrals_i1j1` +* :c:func:`get_mo_two_e_integrals_ij` +* :c:func:`get_mono_excitation` +* :c:func:`get_mono_excitation_from_fock` +* :c:func:`get_mono_excitation_spin` +* :c:func:`get_phase` +* :c:func:`get_phase_bi` +* :c:func:`get_phasemask_bit` +* :c:func:`get_pseudo_inverse` +* :c:func:`get_s2` +* :c:func:`get_task_from_taskserver` +* :c:func:`get_tasks_from_taskserver` +* :c:func:`get_two_e_integral` +* :c:func:`get_uj_s2_ui` +* :c:func:`getmobiles` +* :c:func:`getunitandopen` +* :c:func:`give_all_aos_and_grad_and_lapl_at_r` +* :c:func:`give_all_aos_and_grad_at_r` +* :c:func:`give_all_aos_at_r` +* :c:func:`give_all_aos_at_r_old` +* :c:func:`give_all_erf_kl_ao` +* :c:func:`give_all_mos_and_grad_and_lapl_at_r` +* :c:func:`give_all_mos_and_grad_at_r` +* :c:func:`give_all_mos_at_r` +* :c:func:`give_explicit_poly_and_gaussian` +* :c:func:`give_explicit_poly_and_gaussian_double` +* :c:func:`give_explicit_poly_and_gaussian_x` +* :c:func:`give_polynom_mult_center_x` +* :c:func:`give_polynomial_mult_center_one_e` +* :c:func:`gpw` +* :c:func:`grad_rho_ab_to_grad_rho_oc` +* :c:func:`gser` +* :c:func:`h_apply_cis` +* :c:func:`h_apply_cis_diexc` +* :c:func:`h_apply_cis_diexcorg` +* :c:func:`h_apply_cis_diexcp` +* :c:func:`h_apply_cis_monoexc` +* :c:func:`h_apply_cisd` +* :c:func:`h_apply_cisd_diexc` +* :c:func:`h_apply_cisd_diexcorg` +* :c:func:`h_apply_cisd_diexcp` +* :c:func:`h_apply_cisd_monoexc` +* :c:func:`h_s2_u_0_nstates_openmp` +* :c:func:`h_s2_u_0_nstates_openmp_work` +* :c:func:`h_s2_u_0_nstates_openmp_work_1` +* :c:func:`h_s2_u_0_nstates_openmp_work_2` +* :c:func:`h_s2_u_0_nstates_openmp_work_3` +* :c:func:`h_s2_u_0_nstates_openmp_work_4` +* :c:func:`h_s2_u_0_nstates_openmp_work_n_int` +* :c:func:`h_s2_u_0_nstates_zmq` +* :c:func:`h_s2_u_0_two_e_nstates_openmp` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` +* :c:func:`hcore_guess` +* :c:func:`heap_dsort` +* :c:func:`heap_dsort_big` +* :c:func:`heap_i2sort` +* :c:func:`heap_i2sort_big` +* :c:func:`heap_i8sort` +* :c:func:`heap_i8sort_big` +* :c:func:`heap_isort` +* :c:func:`heap_isort_big` +* :c:func:`heap_sort` +* :c:func:`heap_sort_big` +* :c:func:`hermite` +* :c:func:`huckel_guess` +* :c:func:`i2set_order` +* :c:func:`i2set_order_big` +* :c:func:`i2sort` +* :c:func:`i8set_order` +* :c:func:`i8set_order_big` +* :c:func:`i8sort` +* :c:func:`i_h_j` +* :c:func:`i_h_j_double_alpha_beta` +* :c:func:`i_h_j_double_spin` +* :c:func:`i_h_j_mono_spin` +* :c:func:`i_h_j_mono_spin_one_e` +* :c:func:`i_h_j_one_e` +* :c:func:`i_h_j_s2` +* :c:func:`i_h_j_two_e` +* :c:func:`i_h_j_verbose` +* :c:func:`i_h_psi` +* :c:func:`i_h_psi_minilist` +* :c:func:`i_s2_psi_minilist` +* :c:func:`i_wee_j_mono` +* :c:func:`i_x1_pol_mult` +* :c:func:`initialize_bitmask_to_restart_ones` +* :c:func:`initialize_mo_coef_begin_iteration` +* :c:func:`insert_into_ao_integrals_erf_map` +* :c:func:`insert_into_ao_integrals_map` +* :c:func:`insertion_dsort` +* :c:func:`insertion_dsort_big` +* :c:func:`insertion_i2sort` +* :c:func:`insertion_i2sort_big` +* :c:func:`insertion_i8sort` +* :c:func:`insertion_i8sort_big` +* :c:func:`insertion_isort` +* :c:func:`insertion_isort_big` +* :c:func:`insertion_sort` +* :c:func:`insertion_sort_big` +* :c:func:`int_gaus_pol` +* :c:func:`integrale_new` +* :c:func:`integrale_new_erf` +* :c:func:`is_a_1h` +* :c:func:`is_a_1h1p` +* :c:func:`is_a_1h2p` +* :c:func:`is_a_1p` +* :c:func:`is_a_2h` +* :c:func:`is_a_2h1p` +* :c:func:`is_a_2p` +* :c:func:`is_a_two_holes_two_particles` +* :c:func:`is_connected_to` +* :c:func:`is_connected_to_by_mono` +* :c:func:`is_i_in_virtual` +* :c:func:`is_in_wavefunction` +* :c:func:`is_spin_flip_possible` +* :c:func:`is_the_hole_in_det` +* :c:func:`is_the_particl_in_det` +* :c:func:`iset_order` +* :c:func:`iset_order_big` +* :c:func:`isort` +* :c:func:`knowles_function` +* :c:func:`ks_cf` +* :c:func:`ks_scf` +* :c:func:`lapack_diag` +* :c:func:`lapack_diagd` +* :c:func:`list_to_bitstring` +* :c:func:`load_ao_integrals` +* :c:func:`load_ao_integrals_erf` +* :c:func:`load_mo_integrals` +* :c:func:`load_mo_integrals_erf` +* :c:func:`logfact` +* :c:func:`lowercase` +* :c:func:`make_s2_eigenfunction` +* :c:func:`make_selection_buffer_s2` +* :c:func:`map_load_from_disk` +* :c:func:`map_save_to_disk` +* :c:func:`memory_of_double` +* :c:func:`memory_of_int` +* :c:func:`merge_selection_buffers` +* :c:func:`mix_mo_jk` +* :c:func:`mo_as_eigvectors_of_mo_matrix` +* :c:func:`mo_as_svd_vectors_of_mo_matrix` +* :c:func:`mo_as_svd_vectors_of_mo_matrix_eig` +* :c:func:`mo_to_ao` +* :c:func:`mo_to_ao_no_overlap` +* :c:func:`mo_two_e_integral` +* :c:func:`mo_two_e_integral_erf` +* :c:func:`mo_two_e_integrals_erf_index` +* :c:func:`mo_two_e_integrals_index` +* :c:func:`modify_bitmasks_for_hole` +* :c:func:`modify_bitmasks_for_hole_in_out` +* :c:func:`modify_bitmasks_for_particl` +* :c:func:`molden` +* :c:func:`mono_excitation_wee` +* :c:func:`mpi_print` +* :c:func:`multiply_poly` +* :c:func:`n_pt_sup` +* :c:func:`nai_pol_mult` +* :c:func:`nai_pol_mult_erf` +* :c:func:`nai_pol_mult_erf_ao` +* :c:func:`new_parallel_job` +* :c:func:`new_zmq_pair_socket` +* :c:func:`new_zmq_pull_socket` +* :c:func:`new_zmq_push_socket` +* :c:func:`new_zmq_sub_socket` +* :c:func:`new_zmq_to_qp_run_socket` +* :c:func:`normalize` +* :c:func:`number_of_holes` +* :c:func:`number_of_holes_verbose` +* :c:func:`number_of_particles` +* :c:func:`number_of_particles_verbose` +* :c:func:`occ_pattern_of_det` +* :c:func:`occ_pattern_search_key` +* :c:func:`occ_pattern_to_dets` +* :c:func:`occ_pattern_to_dets_size` +* :c:func:`ortho_canonical` +* :c:func:`ortho_lowdin` +* :c:func:`ortho_qr` +* :c:func:`ortho_qr_unblocked` +* :c:func:`orthonormalize_mos` +* :c:func:`overlap_bourrin_deriv_x` +* :c:func:`overlap_bourrin_dipole` +* :c:func:`overlap_bourrin_spread` +* :c:func:`overlap_bourrin_x` +* :c:func:`overlap_gaussian_x` +* :c:func:`overlap_x_abs` +* :c:func:`past_d1` +* :c:func:`past_d2` +* :c:func:`perturb_buffer_by_mono_dummy` +* :c:func:`perturb_buffer_by_mono_epstein_nesbet` +* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` +* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` +* :c:func:`perturb_buffer_by_mono_h_core` +* :c:func:`perturb_buffer_by_mono_moller_plesset` +* :c:func:`perturb_buffer_by_mono_moller_plesset_general` +* :c:func:`perturb_buffer_by_mono_qdpt` +* :c:func:`perturb_buffer_dummy` +* :c:func:`perturb_buffer_epstein_nesbet` +* :c:func:`perturb_buffer_epstein_nesbet_2x2` +* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` +* :c:func:`perturb_buffer_h_core` +* :c:func:`perturb_buffer_moller_plesset` +* :c:func:`perturb_buffer_moller_plesset_general` +* :c:func:`perturb_buffer_qdpt` +* :c:func:`primitive_value` +* :c:func:`print_det` +* :c:func:`print_e_conv` +* :c:func:`print_extrapolated_energy` +* :c:func:`print_generators_bitmasks_holes` +* :c:func:`print_generators_bitmasks_holes_for_one_generator` +* :c:func:`print_generators_bitmasks_particles` +* :c:func:`print_generators_bitmasks_particles_for_one_generator` +* :c:func:`print_memory_usage` +* :c:func:`print_spindet` +* :c:func:`print_summary` +* :c:func:`print_wf` +* :c:func:`provide_all_mo_integrals_erf` +* :c:func:`provide_everything` +* :c:func:`pt2` +* :c:func:`pt2_dummy` +* :c:func:`pt2_epstein_nesbet` +* :c:func:`pt2_epstein_nesbet_2x2` +* :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag` +* :c:func:`pt2_find_sample` +* :c:func:`pt2_find_sample_lr` +* :c:func:`pt2_h_core` +* :c:func:`pt2_moller_plesset` +* :c:func:`pt2_moller_plesset_general` +* :c:func:`pt2_qdpt` +* :c:func:`pt2_slave_inproc` +* :c:func:`pull_pt2` +* :c:func:`pull_pt2_results` +* :c:func:`pull_selection_results` +* :c:func:`push_integrals` +* :c:func:`push_pt2` +* :c:func:`push_pt2_results` +* :c:func:`push_selection_results` +* :c:func:`qrpa` +* :c:func:`qrpad` +* :c:func:`qrpadd` +* :c:func:`quick_dsort` +* :c:func:`quick_i2sort` +* :c:func:`quick_i8sort` +* :c:func:`quick_isort` +* :c:func:`quick_sort` +* :c:func:`read_dets` +* :c:func:`recentered_poly2` +* :c:func:`remove_duplicates_in_psi_det` +* :c:func:`remove_duplicates_in_selection_buffer` +* :c:func:`remove_small_contributions` +* :c:func:`reorder_core_orb` +* :c:func:`repeat_all_e_corr` +* :c:func:`reset_zmq_addresses` +* :c:func:`resident_memory` +* :c:func:`resize_h_apply_buffer` +* :c:func:`rho_ab_to_rho_oc` +* :c:func:`rho_oc_to_rho_ab` +* :c:func:`rint` +* :c:func:`rint1` +* :c:func:`rint_large_n` +* :c:func:`rint_sum` +* :c:func:`rinteg` +* :c:func:`rintgauss` +* :c:func:`roothaan_hall_scf` +* :c:func:`routine` +* :c:func:`routine_e_conv` +* :c:func:`routine_example_psi_det` +* :c:func:`routine_save_one_e_dm` +* :c:func:`rs_ks_scf` +* :c:func:`run` +* :c:func:`run_cipsi` +* :c:func:`run_pt2_slave` +* :c:func:`run_selection_slave` +* :c:func:`run_slave_cipsi` +* :c:func:`run_slave_main` +* :c:func:`run_stochastic_cipsi` +* :c:func:`s2_u_0` +* :c:func:`s2_u_0_nstates` +* :c:func:`sabpartial` +* :c:func:`save_energy` +* :c:func:`save_erf_two_e_integrals_ao` +* :c:func:`save_erf_two_e_integrals_mo` +* :c:func:`save_erf_two_e_ints_ao_into_ints_ao` +* :c:func:`save_erf_two_e_ints_mo_into_ints_mo` +* :c:func:`save_iterations` +* :c:func:`save_mos` +* :c:func:`save_mos_truncated` +* :c:func:`save_natorb` +* :c:func:`save_natural_mos` +* :c:func:`save_one_e_dm` +* :c:func:`save_ortho_mos` +* :c:func:`save_ref_determinant` +* :c:func:`save_wavefunction` +* :c:func:`save_wavefunction_general` +* :c:func:`save_wavefunction_specified` +* :c:func:`save_wavefunction_truncated` +* :c:func:`save_wavefunction_unsorted` +* :c:func:`scf` +* :c:func:`select_connected` +* :c:func:`select_singles_and_doubles` +* :c:func:`selection_collector` +* :c:func:`selection_slave_inproc` +* :c:func:`set_bit_to_integer` +* :c:func:`set_bitmask_hole_as_input` +* :c:func:`set_bitmask_particl_as_input` +* :c:func:`set_natural_mos` +* :c:func:`set_order` +* :c:func:`set_order_big` +* :c:func:`sort` +* :c:func:`sort_dets_ab` +* :c:func:`sort_dets_ab_v` +* :c:func:`sort_dets_ba_v` +* :c:func:`sort_dets_by_det_search_key` +* :c:func:`sort_selection_buffer` +* :c:func:`sorted_dnumber` +* :c:func:`sorted_i2number` +* :c:func:`sorted_i8number` +* :c:func:`sorted_inumber` +* :c:func:`sorted_number` +* :c:func:`spin_det_search_key` +* :c:func:`splash_pq` +* :c:func:`spot_isinwf` +* :c:func:`step_function_becke` +* :c:func:`svd` +* :c:func:`switch_qp_run_to_master` +* :c:func:`tamiser` +* :c:func:`task_done_to_taskserver` +* :c:func:`tasks_done_to_taskserver` +* :c:func:`testteethbuilding` +* :c:func:`total_memory` +* :c:func:`two_e_integrals_index` +* :c:func:`two_e_integrals_index_reverse` +* :c:func:`u_0_h_u_0` +* :c:func:`u_0_h_u_0_two_e` +* :c:func:`u_0_s2_u_0` +* :c:func:`u_dot_u` +* :c:func:`u_dot_v` +* :c:func:`v_e_n` +* :c:func:`v_grad_rho_oc_to_v_grad_rho_ab` +* :c:func:`v_phi` +* :c:func:`v_r` +* :c:func:`v_rho_ab_to_v_rho_oc` +* :c:func:`v_rho_oc_to_v_rho_ab` +* :c:func:`v_theta` +* :c:func:`vcorrlr` +* :c:func:`wait_for_next_state` +* :c:func:`wait_for_state` +* :c:func:`wait_for_states` +* :c:func:`wall_time` +* :c:func:`wallis` +* :c:func:`wf_of_psi_bilinear_matrix` +* :c:func:`write_ao_basis` +* :c:func:`write_bool` +* :c:func:`write_double` +* :c:func:`write_geometry` +* :c:func:`write_git_log` +* :c:func:`write_int` +* :c:func:`write_integrals_erf` +* :c:func:`write_intro_gamess` +* :c:func:`write_mo_basis` +* :c:func:`write_spindeterminants` +* :c:func:`write_time` +* :c:func:`zmq_abort` +* :c:func:`zmq_delete_task` +* :c:func:`zmq_delete_tasks` +* :c:func:`zmq_delete_tasks_async_recv` +* :c:func:`zmq_delete_tasks_async_send` +* :c:func:`zmq_get8_dvector` +* :c:func:`zmq_get8_ivector` +* :c:func:`zmq_get_dmatrix` +* :c:func:`zmq_get_dvector` +* :c:func:`zmq_get_i8matrix` +* :c:func:`zmq_get_imatrix` +* :c:func:`zmq_get_int` +* :c:func:`zmq_get_int_nompi` +* :c:func:`zmq_get_ivector` +* :c:func:`zmq_get_n_det` +* :c:func:`zmq_get_n_det_alpha_unique` +* :c:func:`zmq_get_n_det_beta_unique` +* :c:func:`zmq_get_n_det_generators` +* :c:func:`zmq_get_n_det_selectors` +* :c:func:`zmq_get_n_states` +* :c:func:`zmq_get_n_states_diag` +* :c:func:`zmq_get_psi` +* :c:func:`zmq_get_psi_bilinear` +* :c:func:`zmq_get_psi_bilinear_matrix_columns` +* :c:func:`zmq_get_psi_bilinear_matrix_order` +* :c:func:`zmq_get_psi_bilinear_matrix_rows` +* :c:func:`zmq_get_psi_bilinear_matrix_values` +* :c:func:`zmq_get_psi_coef` +* :c:func:`zmq_get_psi_det` +* :c:func:`zmq_get_psi_det_alpha_unique` +* :c:func:`zmq_get_psi_det_beta_unique` +* :c:func:`zmq_get_psi_det_size` +* :c:func:`zmq_get_psi_notouch` +* :c:func:`zmq_port` +* :c:func:`zmq_pt2` +* :c:func:`zmq_put8_dvector` +* :c:func:`zmq_put8_ivector` +* :c:func:`zmq_put_dmatrix` +* :c:func:`zmq_put_dvector` +* :c:func:`zmq_put_i8matrix` +* :c:func:`zmq_put_imatrix` +* :c:func:`zmq_put_int` +* :c:func:`zmq_put_ivector` +* :c:func:`zmq_put_n_det` +* :c:func:`zmq_put_n_det_alpha_unique` +* :c:func:`zmq_put_n_det_beta_unique` +* :c:func:`zmq_put_n_det_generators` +* :c:func:`zmq_put_n_det_selectors` +* :c:func:`zmq_put_n_states` +* :c:func:`zmq_put_n_states_diag` +* :c:func:`zmq_put_psi` +* :c:func:`zmq_put_psi_bilinear` +* :c:func:`zmq_put_psi_bilinear_matrix_columns` +* :c:func:`zmq_put_psi_bilinear_matrix_order` +* :c:func:`zmq_put_psi_bilinear_matrix_rows` +* :c:func:`zmq_put_psi_bilinear_matrix_values` +* :c:func:`zmq_put_psi_coef` +* :c:func:`zmq_put_psi_det` +* :c:func:`zmq_put_psi_det_alpha_unique` +* :c:func:`zmq_put_psi_det_beta_unique` +* :c:func:`zmq_put_psi_det_size` +* :c:func:`zmq_selection` * :c:func:`zmq_set_running` \ No newline at end of file diff --git a/docs/source/programs/.gitignore b/docs/source/programs/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/docs/source/users_guide/index.rst b/docs/source/users_guide/index.rst index 71bf14e9..0c15c055 100644 --- a/docs/source/users_guide/index.rst +++ b/docs/source/users_guide/index.rst @@ -9,3 +9,11 @@ Index of commands qp_* +Index of programs +================= + +.. toctree:: + :maxdepth: 1 + :glob: + /programs/* + diff --git a/etc/qp.rc b/etc/qp.rc index ea657024..9a60db67 100644 --- a/etc/qp.rc +++ b/etc/qp.rc @@ -112,6 +112,7 @@ function qp() "prompt") shift + python2 $QP_ROOT/scripts/hello.py function _check_ezfio() { if [[ -d ${EZFIO_FILE} ]] ; then printf "\e[0;32m|${EZFIO_FILE}>\e[m" diff --git a/man/configure.1 b/man/configure.1 index 60341d38..6b7c0569 100644 --- a/man/configure.1 +++ b/man/configure.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CONFIGURE" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "CONFIGURE" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME configure \- | Quantum Package > . diff --git a/man/excited_states.1 b/man/excited_states.1 index c0414666..f0a39ee6 100644 --- a/man/excited_states.1 +++ b/man/excited_states.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "EXCITED_STATES" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "EXCITED_STATES" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME excited_states \- | Quantum Package > . diff --git a/man/interfaces.1 b/man/interfaces.1 index 6708c93c..4490e6db 100644 --- a/man/interfaces.1 +++ b/man/interfaces.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "INTERFACES" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "INTERFACES" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME interfaces \- | Quantum Package > . diff --git a/man/natural_orbitals.1 b/man/natural_orbitals.1 index c3f5fcaf..b9e6ca1b 100644 --- a/man/natural_orbitals.1 +++ b/man/natural_orbitals.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NATURAL_ORBITALS" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "NATURAL_ORBITALS" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME natural_orbitals \- | Quantum Package > . diff --git a/man/plugins.1 b/man/plugins.1 index 389f0bd8..b83b18aa 100644 --- a/man/plugins.1 +++ b/man/plugins.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PLUGINS" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "PLUGINS" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME plugins \- | Quantum Package > . diff --git a/man/qp_convert_output_to_ezfio.1 b/man/qp_convert_output_to_ezfio.1 index 99f75dab..ba7e8e23 100644 --- a/man/qp_convert_output_to_ezfio.1 +++ b/man/qp_convert_output_to_ezfio.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_convert_output_to_ezfio \- | Quantum Package > . @@ -32,31 +32,35 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .sp This Python script uses the \fI\%resultsFile\fP Python library to gather the -geometry, AOs and MOs from output files of \fI\%GAMESS\fP or Gaussian, and -puts this data in an \fI\%EZFIO\fP database. Some constraints are necessary in the -output file : the run needs to be a single point HF, DFT or CAS SCF\&. +geometry, AOs and MOs from output files of \fI\%GAMESS\fP or Gaussian, and puts +this data in an \fI\%EZFIO\fP database. Some constraints are necessary in the output +file : the run needs to be a single point HF, DFT or CAS SCF\&. .SH USAGE .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -qp_convert_output_to_ezfio [\-o ] +qp_convert_output_to_ezfio [\-o EZFIO_DIR] FILE .ft P .fi .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B \-o -Renames the \fI\%EZFIO\fP directory. If this option is not present, the default -name fill be \fB.ezfio\fP +.B \-o, \-\-output=EZFIO_DIR +Renames the \fI\%EZFIO\fP directory. If this option is not present, the default +name fill be \fBFILE.ezfio\fP .UNINDENT .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -The following keywords are necessary for Gaussian +All the parameters of the wave functgion need to be presente in the output +file : complete description of the AO basis set, full set of molecular +orbitals, etc. +.sp +The following keywords are necessary for GAU$$IAN .INDENT 0.0 .INDENT 3.5 .sp diff --git a/man/qp_create_ezfio_from_xyz.1 b/man/qp_create_ezfio_from_xyz.1 index 1d33db40..e51f7aa2 100644 --- a/man/qp_create_ezfio_from_xyz.1 +++ b/man/qp_create_ezfio_from_xyz.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_create_ezfio_from_xyz \- | Quantum Package > . @@ -39,17 +39,20 @@ This command creates an \fI\%EZFIO\fP directory from a standard \fIxyz\fP file o .sp .nf .ft C -qp_create_ezfio_from_xyz [FLAGS] ( | ) -Flags : - \-b [\-au] [\-c int] [\-cart] [\-d float] - [\-m int] [\-o file] [\-p string] [\-help] +qp_create_ezfio_from_xyz [\-a] \-b [\-c ] [\-d ] + [\-h] [\-m ] [\-o EZFIO_DIR] [\-p ] [\-x] [\-\-] FILE .ft P .fi .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B \-b +.B \-a, \-\-au +If present, input geometry is in atomic units. +.UNINDENT +.INDENT 0.0 +.TP +.B \-b, \-\-basis= Name of basis set. The basis set is defined as a single string if all the atoms are taken from the same basis set, otherwise specific elements can be defined as follows: @@ -66,46 +69,47 @@ defined as follows: .UNINDENT .sp By default, the basis set is obtained from the local database of the \fIQuantum Package\fP\&. +This option is mandatory. +.sp +If \fB\fP is set to \fBshow\fP, the list of all available basis sets is +displayed. .UNINDENT .INDENT 0.0 .TP -.B \-au -If present, input geometry is in atomic units. -.UNINDENT -.INDENT 0.0 -.TP -.B \-c +.B \-c, \-\-charge= Total charge of the molecule. Default is 0. .UNINDENT .INDENT 0.0 .TP -.B \-cart -Compute AOs in the Cartesian basis set (6d, 10f, …) +.B \-d, \-\-dummy= +Add dummy atoms (X) between atoms when the distance between two atoms +is less than x \etimes \esum R_\emathrm{cov}, the covalent radii +of the atoms. The default is x=0, so no dummy atom is added. .UNINDENT .INDENT 0.0 .TP -.B \-d -Add dummy atoms. x * (covalent radii of the atoms) +.B \-h, \-\-help +Print the help text and exit .UNINDENT .INDENT 0.0 .TP -.B \-m -Spin multiplicity (2S+1) of the molecule. Default is 1. +.B \-m, \-\-multiplicity= +Spin multiplicity 2S+1 of the molecule. Default is 1. .UNINDENT .INDENT 0.0 .TP -.B \-o +.B \-o, \-\-output=EZFIO_DIR Name of the created \fI\%EZFIO\fP directory. .UNINDENT .INDENT 0.0 .TP -.B \-p -Name of the pseudo\-potential +.B \-p , \-\-pseudo= +Name of the pseudo\-potential. Follows the same conventions as the basis set. .UNINDENT .INDENT 0.0 .TP -.B \-help, \-? -Print the help text and exit +.B \-x, \-\-cart +Compute AOs in the Cartesian basis set (6d, 10f, …) .UNINDENT .SH USING CUSTOM ATOMIC BASIS SETS .sp @@ -124,8 +128,8 @@ qp_create_ezfio_from_xyz \-b custom.basis molecule.xyz .UNINDENT .sp Basis set files should be given in \fI\%GAMESS\fP format, where the full names of the -atoms are given, and the basis sets for each element are separated by a blank line. -Here is an example +atoms are given, and the basis sets for each element are separated by a blank +line. Here is an example .INDENT 0.0 .INDENT 3.5 .sp @@ -177,10 +181,10 @@ D 1 .SH USING CUSTOM PSEUDO-POTENTIALS .sp As for the basis set, if a file with the same name as the pseudo\-potential -exists, this file will be read. -For example, if the file containing the custom pseudo\-potential is named -\fBcustom.pseudo\fP, the basis set is named \fBcustom.basis\fP, and the \fIxyz\fP -geometry is in \fBmolecule.xyz\fP, the following command should be used +exists, this file will be read. For example, if the file containing the custom +pseudo\-potential is named \fBcustom.pseudo\fP, the basis set is named +\fBcustom.basis\fP, and the \fIxyz\fP geometry is in \fBmolecule.xyz\fP, the following +command should be used .INDENT 0.0 .INDENT 3.5 .sp @@ -193,12 +197,11 @@ qp_create_ezfio_from_xyz \-b custom.basis \-p custom.pseudo molecule.xyz .UNINDENT .sp Pseudo\-potential files should be given in a format very close to \fI\%GAMESS\fP -format. The first line should be formatted as \fB%s GEN %d %d\fP where the -first string is the chemical symbol, the first integer is the number of -core electrons to be removed and the second integer is LMAX+1 as in \fI\%GAMESS\fP -format. -The pseudo\-potential for each element are separated by a blank line. -Here is an example +format. The first line should be formatted as \fB%s GEN %d %d\fP where the first +string is the chemical symbol, the first integer is the number of core +electrons to be removed and the second integer is LMAX+1 as in \fI\%GAMESS\fP format. +The pseudo\-potential for each element are separated by a blank line. Here is +an example .INDENT 0.0 .INDENT 3.5 .sp diff --git a/man/qp_edit.1 b/man/qp_edit.1 index 295cea94..abb281c8 100644 --- a/man/qp_edit.1 +++ b/man/qp_edit.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_EDIT" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_EDIT" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_edit \- | Quantum Package > . @@ -32,16 +32,17 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .sp This command reads the content of the \fI\%EZFIO\fP directory and creates a temporary -file containing the data. The data is presented as a \fIReStructured Text\fP (rst) -document, where each section corresponds to the corresponding \fIQuantum Package\fP module. -The content of the file can be modified to change the input parameters. When -the text editor is closed, the updated data is saved into the \fI\%EZFIO\fP directory. +file containing the data. The data is presented as a \fIReStructured Text\fP (rst) +document, where each section corresponds to the corresponding \fIQuantum Package\fP module. The +content of the file can be modified to change the input parameters. When the +text editor is closed, the updated data is saved into the \fI\%EZFIO\fP directory. .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 The text editor which will be opened is defined by the \fBEDITOR\fP -environment variable. +environment variable. If this variable is not set, the \fBvi\fP +text editor will be used by default. .UNINDENT .UNINDENT .sp @@ -58,43 +59,46 @@ determinants are not displayed. .sp .nf .ft C -qp_edit [FLAGS] -Flags : - [\-c] [\-ndet int] - [\-state int] [\-help] +qp_edit [\-c] [\-h] [\-n ] [\-s ] [\-\-] EZFIO_DIR .ft P .fi .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B \-c +.B \-c, \-\-check Checks the input data .UNINDENT .INDENT 0.0 .TP -.B \-ndet +.B \-h, \-\-help +Print the help text and exits +.UNINDENT +.INDENT 0.0 +.TP +.B \-n, \-\-ndet= Truncates the wavefunction to the target number of determinants .UNINDENT .INDENT 0.0 .TP -.B \-state -Pick the target state as a new wavefunction. +.B \-s, \-\-state= +Select the states to extract from the \fI\%EZFIO\fP directory, using the same conventions +as qp_set_mo_class\&. See example below. .UNINDENT +.SH EXAMPLE .INDENT 0.0 -.TP -.B \-help -Print the help text and exits +.INDENT 3.5 +.sp +.nf +.ft C +qp_edit \-\-state="[1,3\-5]" test.ezfio +.ft P +.fi +.UNINDENT .UNINDENT .sp -Here is a short list of important control parameters : -.INDENT 0.0 -.TP -.B read_wf -If \fBfalse\fP, initialize the calculation with a single\-determinant wave -function. If \fBtrue\fP, initialize the calculation with the wave function stored -in the \fI\%EZFIO\fP directory. -.UNINDENT +Removes all states except states 1,3,4 and 5 from \fBtest.ezfio\fP\&. The +resulting \fI\%EZFIO\fP directory has 4 states. .SH AUTHOR A. Scemama, E. Giner .SH COPYRIGHT diff --git a/man/qp_export_as_tgz.1 b/man/qp_export_as_tgz.1 index e494c16c..26d3ab18 100644 --- a/man/qp_export_as_tgz.1 +++ b/man/qp_export_as_tgz.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_EXPORT_AS_TGZ" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_EXPORT_AS_TGZ" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_export_as_tgz \- | Quantum Package > . @@ -31,28 +31,34 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .sp -In some HPC facilities, the access to the internet is limited for security reasons. -In such an environment, the installation of \fIQuantum Package\fP is sometimes very painful because -the OCaml compiler and the libraries can’t be installed by a non\-root user. +In some HPC facilities, the access to the internet is limited for security +reasons. In such an environment, the installation of \fIQuantum Package\fP is sometimes very +painful because the OCaml compiler and the libraries can’t be installed by a +non\-root user. .sp -This command creates a self\-contained binary distribution in the form of a \fItar.gz\fP file -that can be copied on another machine. +This command creates a self\-contained binary distribution in the form of a +\fItar.gz\fP file that can be copied on another machine. .SH USAGE .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -qp_export_as_tgz +qp_export_as_tgz [\-h|\-\-help] .ft P .fi .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B \-h, \-\-help +Prints the help message +.UNINDENT .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -There can be conflicts due to the version of Glibc. The machine on which \fIQuantum Package\fP is +There can be conflicts due to the version of glibc. The machine on which \fIQuantum Package\fP is compiled should be the oldest one. .UNINDENT .UNINDENT diff --git a/man/qp_plugins.1 b/man/qp_plugins.1 index 019d7c62..e789c9f0 100644 --- a/man/qp_plugins.1 +++ b/man/qp_plugins.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_PLUGINS" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_PLUGINS" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_plugins \- | Quantum Package > . @@ -31,20 +31,20 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .sp -This command deals with all external plugins of \fIQuantum Package\fP\&. Plugin repositories can +This command deals with all external plugins of \fIQuantum Package\fP\&. Plugin repositories can be downloaded, and the plugins in these repositories can be -installed/uninstalled of created. +installed/uninstalled or created. .SH USAGE .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -qp_plugins list [ \-i | \-u | \-q ] +qp_plugins list [\-i] [\-u] [\-q] qp_plugins download qp_plugins install ... qp_plugins uninstall -qp_plugins create \-n [\-r ] [...] +qp_plugins create \-n [\-r ] [...] .ft P .fi .UNINDENT @@ -56,17 +56,17 @@ List all the available plugins. .UNINDENT .INDENT 0.0 .TP -.B \-i +.B \-i, \-\-installed List all the \fIinstalled\fP plugins. .UNINDENT .INDENT 0.0 .TP -.B \-u +.B \-u, \-\-uninstalled List all the \fIuninstalled\fP plugins. .UNINDENT .INDENT 0.0 .TP -.B \-q +.B \-q, \-\-repositories List all the downloaded repositories. .UNINDENT .INDENT 0.0 @@ -93,19 +93,21 @@ Uninstall the plugin \fBplugin_name\fP\&. .UNINDENT .INDENT 0.0 .TP -.B \-n +.B \-n, \-\-name= Create a new plugin named \fBplugin_name\fP (in local repository by default). .UNINDENT .INDENT 0.0 .TP -.B \-r +.B \-r, \-\-repository= Specify in which repository the new plugin will be created. .UNINDENT .SH EXAMPLE .sp -Let us download, install and compile some specific external plugins from \fI\%https://gitlab.com/eginer/qp_plugins_eginer\fP . +Let us download, install and compile some specific external plugins from +\fI\%https://gitlab.com/eginer/qp_plugins_eginer\fP . .sp -First, download the git repo associated to these plugins. To do so, first go to the \fIplugins\fP directory in the \fIQuantum Package\fP and execute: +First, download the git repo associated to these plugins. To do so, first go +to the \fIplugins\fP directory in the \fIQuantum Package\fP and execute: .INDENT 0.0 .INDENT 3.5 .sp @@ -117,8 +119,8 @@ qp_plugins download https://gitlab.com/eginer/qp_plugins_eginer .UNINDENT .UNINDENT .sp -This will create in the directory \fIplugins\fP a local copy of the git repo located at the URL you indicated. -Then, go in \fIqp_plugins_eginer/stable/\fP +This will create in the directory \fIplugins\fP a local copy of the git repo +located at the URL you indicated. Then, go in \fIqp_plugins_eginer/stable/\fP .INDENT 0.0 .INDENT 3.5 .sp @@ -130,8 +132,9 @@ cd qp_plugins_eginer/stable/ .UNINDENT .UNINDENT .sp -In the directory \fIstable\fP, there are many directories which all correspond to a specific plugin that have been developed -by the person in charge of the git repo. All these plugins might use some global variables and routines contained +In the directory \fIstable\fP, there are many directories which all correspond to a +specific plugin that have been developed by the person in charge of the git +repo. All these plugins might use some global variables and routines contained in the core modules of the \fIQuantum Package\fP\&. .sp Now let us install the plugin \fIrsdft_cipsi\fP: @@ -146,10 +149,13 @@ qp_plugins install rsdft_cipsi .UNINDENT .UNINDENT .sp -This will link this directory to the \fIQuantum Package\fP which means that when the code will be compiled, this plugin will be compiled to and therefore -all the executables/scripts/input keywords contained in this module will be available as if there were part of the core of the \fIQuantum Package\fP\&. +This will link this directory to the \fIQuantum Package\fP which means that when the code will +be compiled, this plugin will be compiled to and therefore all the +executables/scripts/input keywords contained in this module will be available +as if there were part of the core of the \fIQuantum Package\fP\&. .sp -Then, to compile the new plugin, just recompile the \fIQuantum Package\fP as usual by going at the root of the \fIQuantum Package\fP directory: +Then, to compile the new plugin, just recompile the \fIQuantum Package\fP as usual by going at +the root of the \fIQuantum Package\fP directory: .INDENT 0.0 .INDENT 3.5 .sp @@ -162,8 +168,9 @@ ninja .UNINDENT .UNINDENT .sp -Then, if you go back to the plugin directory you just installed, you should see all the executables/scripts which have been created and -which are now available with the \fIqp_run\fP command. +Finally, if you go back to the plugin directory you just installed, you should see +all the executables/scripts which have been created and which are now available +with the \fIqp_run\fP command. .SH AUTHOR A. Scemama, E. Giner .SH COPYRIGHT diff --git a/man/qp_run.1 b/man/qp_run.1 index 95c070c4..60ec3c27 100644 --- a/man/qp_run.1 +++ b/man/qp_run.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_RUN" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_RUN" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_run \- | Quantum Package > . @@ -38,8 +38,7 @@ Command used to run a calculation. .sp .nf .ft C -qp_run [\-h|\-\-help] [\-p |\-\-prefix=] [\-s|\-\-slave] [\-\-] - PROGRAM EZFIO_DIR +qp_run [\-h] [\-p ] [\-s] [\-\-] PROGRAM EZFIO_DIR .ft P .fi .UNINDENT diff --git a/man/qp_set_frozen_core.1 b/man/qp_set_frozen_core.1 index 41eea988..17d6f716 100644 --- a/man/qp_set_frozen_core.1 +++ b/man/qp_set_frozen_core.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_SET_FROZEN_CORE" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_SET_FROZEN_CORE" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_set_frozen_core \- | Quantum Package > . @@ -46,7 +46,7 @@ zero. .sp .nf .ft C -qp_set_frozen_core [\-q] +qp_set_frozen_core [\-q] EZFIO_DIR .ft P .fi .UNINDENT diff --git a/man/qp_set_mo_class.1 b/man/qp_set_mo_class.1 index 7c8f1245..0bb45157 100644 --- a/man/qp_set_mo_class.1 +++ b/man/qp_set_mo_class.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_SET_MO_CLASS" "1" "Jan 14, 2019" "2.0" "Quantum Package" +.TH "QP_SET_MO_CLASS" "1" "Jan 16, 2019" "2.0" "Quantum Package" .SH NAME qp_set_mo_class \- | Quantum Package > . @@ -67,49 +67,42 @@ can be used. .sp .nf .ft C -qp_set_mo_class [FLAGS] -Flags: - [\-act range] [\-core range] [\-del range] - [\-inact range] [\-q] [\-virt range] - [\-help] +qp_set_mo_class [\-a ] [\-c ] [\-d ] [\-h] [\-i ] + [\-q] [\-v ] [\-\-] EZFIO_DIR .ft P .fi .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B \-act +.B \-a, \-\-act= Range of active orbitals .UNINDENT .INDENT 0.0 .TP -.B \-core +.B \-c, \-\-core= Range of core orbitals .UNINDENT .INDENT 0.0 .TP -.B \-del +.B \-d, \-\-del= Range of deleted orbitals .UNINDENT .INDENT 0.0 .TP -.B \-inact +.B \-i, \-\-inact= Range of inactive orbitals .UNINDENT .INDENT 0.0 .TP -.B \-q -Query: print the current masks +.B \-q, \-\-query +Print the MO classes .UNINDENT .INDENT 0.0 .TP -.B \-virt +.B \-v, \-\-virt= Range of virtual orbitals .UNINDENT -.INDENT 0.0 -.TP -.B \-help, \-? -.UNINDENT .SH AUTHOR A. Scemama, E. Giner .SH COPYRIGHT diff --git a/scripts/hello.py b/scripts/hello.py index 3c500252..92eb75be 100644 --- a/scripts/hello.py +++ b/scripts/hello.py @@ -96,7 +96,7 @@ ______________________________________________/\\\_________ """.replace(r"\\","\033[0;34m\\\\\033[m"), """ _ _ _ _ _ _ _ _ (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) - / ._. \ / ._. \ / ._. \ / ._. \ + / ._. \ / ._. \ / ._. \ / ._. \\ __\( Y )/__ __\( Y )/__ __\( Y )/__ __\( Y )/__ (_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._) || \033[0;32mQ\033[m || || \033[0;32mP\033[m || || \033[0;32mS\033[m || || \033[0;32mH\033[m || @@ -132,6 +132,8 @@ _ __ `/___ __ \__ ___/__ __ \ """ ] print random.choice(hello) + print "\n -- Quantum Package Shell --\n" + if __name__ == "__main__": diff --git a/scripts/qp_convert_output_to_ezfio b/scripts/qp_convert_output_to_ezfio index 56266109..30faa686 100755 --- a/scripts/qp_convert_output_to_ezfio +++ b/scripts/qp_convert_output_to_ezfio @@ -346,11 +346,8 @@ if __name__ == '__main__': if ARGUMENTS["--output"]: EZFIO_FILE = get_full_path(ARGUMENTS["--output"]) - elif ARGUMENTS["-o"]: - EZFIO_FILE = get_full_path(ARGUMENTS["-o"]) else: EZFIO_FILE = "{0}.ezfio".format(FILE) - print EZFIO_FILE try: RES_FILE = getFile(FILE) diff --git a/src/cis/cis.irp.f b/src/cis/cis.irp.f index b3c15121..38aed640 100644 --- a/src/cis/cis.irp.f +++ b/src/cis/cis.irp.f @@ -1,45 +1,51 @@ program cis implicit none BEGIN_DOC + ! ! Configuration Interaction with Single excitations. ! - ! This program takes a reference Slater determinant of ROHF-like occupancy, - ! - ! and performs all single excitations on top of it, disregarding spatial - ! symmetry and compute the "n_states" lowest eigenstates of that CI matrix. - ! (see :option:`determinants n_states`) + ! This program takes a reference Slater determinant of ROHF-like + ! occupancy, and performs all single excitations on top of it. + ! Disregarding spatial symmetry, it computes the `n_states` lowest + ! eigenstates of that CI matrix. (see :option:`determinants n_states`) ! ! This program can be useful in many cases: ! - ! * GROUND STATE CALCULATION: to be sure to have the lowest scf solution, - ! perform an :c:func:`scf` (see the :ref:`hartree_fock` module), then a :c:func:`cis`, - ! save the natural orbitals (see :c:func:`save_natorb`) and reperform an :c:func:`scf` - ! optimization from this MO guess + ! # Ground state calculation + ! + ! To be sure to have the lowest |SCF| solution, perform an :ref:`.scf.` + ! (see the :ref:`hartree_fock` module), then a :ref:`.cis.`, save + ! the natural orbitals (see :ref:`.save_natorb.`) and re-run an + ! :ref:`.scf.` optimization from this |MO| guess. ! ! + ! # Excited states calculations ! + ! The lowest excited states are much likely to be dominated by + ! single-excitations. Therefore, running a :ref:`.cis.` will save + ! the `n_states` lowest states within the |CIS| space in the |EZFIO| + ! directory, which can afterwards be used as guess wave functions for + ! a further multi-state |FCI| calculation if :option:`determinants + ! read_wf` is set to |true| before running the :ref:`.fci.` + ! executable. ! - ! * EXCITED STATES CALCULATIONS: the lowest excited states are much likely to - ! be dominanted by single-excitations. - ! Therefore, running a :c:func:`cis` will save the "n_states" lowest states within - ! the CIS space - ! in the EZFIO folder, which can afterward be used as guess wave functions - ! for a further multi-state fci calculation if you specify "read_wf" = True - ! before running the fci executable (see :option:`determinants read_wf`). - ! Also, if you specify "s2_eig" = True, the cis will only retain states - ! having the good value :math:`S^2` value (see :option:`determinants - ! s2_eig` and :option:`determinants expected_s2`). - ! If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are. + ! If :option:`determinants s2_eig` is set to |true|, the |CIS| + ! will only retain states having the expected |S^2| value (see + ! :option:`determinants expected_s2`). Otherwise, the |CIS| will take + ! the lowest :option:`determinants n_states`, whatever multiplicity + ! they are. ! + ! # Note ! + ! To discard some orbitals, use the :ref:`qp_set_mo_class` + ! command to specify: ! - ! Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify: + ! * *core* orbitals which will be always doubly occupied ! - ! * "core" orbitals which will be always doubly occupied + ! * *act* orbitals where an electron can be either excited from or to ! - ! * "act" orbitals where an electron can be either excited from or to + ! * *del* orbitals which will be never occupied ! - ! * "del" orbitals which will be never occupied END_DOC read_wf = .False. SOFT_TOUCH read_wf diff --git a/src/kohn_sham/ks_scf.irp.f b/src/kohn_sham/ks_scf.irp.f index d660881a..891a1285 100644 --- a/src/kohn_sham/ks_scf.irp.f +++ b/src/kohn_sham/ks_scf.irp.f @@ -1,4 +1,4 @@ -program srs_ks_cf +program ks_scf BEGIN_DOC ! Produce `Kohn_Sham` MO orbital ! output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ diff --git a/src/tools/write_integrals_erf.irp.f b/src/tools/write_integrals_erf.irp.f index f8ce5c27..b527576d 100644 --- a/src/tools/write_integrals_erf.irp.f +++ b/src/tools/write_integrals_erf.irp.f @@ -1,4 +1,4 @@ -program write_integrals +program write_integrals_erf implicit none BEGIN_DOC ! Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder From 0bfc60ee93f08314dc8703fb1b11542f5bcc0be5 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 16 Jan 2019 14:59:22 +0100 Subject: [PATCH 3/3] creating doc for programs --- docs/source/conf.py | 6 + docs/source/programs/cis.rst | 42 +++++++ docs/source/programs/cisd.rst | 38 ++++++ docs/source/programs/diagonalize_h.rst | 16 +++ docs/source/programs/fci.rst | 50 ++++++++ docs/source/programs/fcidump.rst | 22 ++++ docs/source/programs/four_idx_transform.rst | 16 +++ docs/source/programs/ks_scf.rst | 12 ++ docs/source/programs/molden.rst | 12 ++ docs/source/programs/print_e_conv.rst | 18 +++ docs/source/programs/print_wf.rst | 18 +++ docs/source/programs/pt2.rst | 18 +++ docs/source/programs/rs_ks_scf.rst | 12 ++ docs/source/programs/save_natorb.rst | 20 ++++ docs/source/programs/save_one_e_dm.rst | 16 +++ docs/source/programs/save_ortho_mos.rst | 18 +++ docs/source/programs/scf.rst | 18 +++ docs/source/programs/write_integrals_erf.rst | 12 ++ man/cis.1 | 71 ++++++++++++ man/cisd.1 | 67 +++++++++++ man/diagonalize_h.1 | 49 ++++++++ man/fci.1 | 77 +++++++++++++ man/fcidump.1 | 57 +++++++++ man/four_idx_transform.1 | 49 ++++++++ man/ks_scf.1 | 42 +++++++ man/molden.1 | 42 +++++++ man/print_e_conv.1 | 53 +++++++++ man/print_wf.1 | 51 ++++++++ man/printing.1 | 83 +++++++++++++ man/pt2.1 | 51 ++++++++ man/qp_update.1 | 51 ++++++++ man/qpsh.1 | 115 +++++++++++++++++++ man/rs_ks_scf.1 | 42 +++++++ man/save_natorb.1 | 53 +++++++++ man/save_one_e_dm.1 | 49 ++++++++ man/save_ortho_mos.1 | 51 ++++++++ man/scf.1 | 51 ++++++++ man/write_integrals_erf.1 | 42 +++++++ 38 files changed, 1510 insertions(+) create mode 100644 docs/source/programs/cis.rst create mode 100644 docs/source/programs/cisd.rst create mode 100644 docs/source/programs/diagonalize_h.rst create mode 100644 docs/source/programs/fci.rst create mode 100644 docs/source/programs/fcidump.rst create mode 100644 docs/source/programs/four_idx_transform.rst create mode 100644 docs/source/programs/ks_scf.rst create mode 100644 docs/source/programs/molden.rst create mode 100644 docs/source/programs/print_e_conv.rst create mode 100644 docs/source/programs/print_wf.rst create mode 100644 docs/source/programs/pt2.rst create mode 100644 docs/source/programs/rs_ks_scf.rst create mode 100644 docs/source/programs/save_natorb.rst create mode 100644 docs/source/programs/save_one_e_dm.rst create mode 100644 docs/source/programs/save_ortho_mos.rst create mode 100644 docs/source/programs/scf.rst create mode 100644 docs/source/programs/write_integrals_erf.rst create mode 100644 man/cis.1 create mode 100644 man/cisd.1 create mode 100644 man/diagonalize_h.1 create mode 100644 man/fci.1 create mode 100644 man/fcidump.1 create mode 100644 man/four_idx_transform.1 create mode 100644 man/ks_scf.1 create mode 100644 man/molden.1 create mode 100644 man/print_e_conv.1 create mode 100644 man/print_wf.1 create mode 100644 man/printing.1 create mode 100644 man/pt2.1 create mode 100644 man/qp_update.1 create mode 100644 man/qpsh.1 create mode 100644 man/rs_ks_scf.1 create mode 100644 man/save_natorb.1 create mode 100644 man/save_one_e_dm.1 create mode 100644 man/save_ortho_mos.1 create mode 100644 man/scf.1 create mode 100644 man/write_integrals_erf.1 diff --git a/docs/source/conf.py b/docs/source/conf.py index edd568a6..914e55a6 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -166,6 +166,12 @@ for f in os.listdir("users_guide"): filename = os.path.join("users_guide",name) man_pages.append( (filename, name, qpdoc, [author], 1) ) +for f in os.listdir("programs"): + name = f.split('.')[0] + if name not in []: + filename = os.path.join("programs",name) + man_pages.append( (filename, name, qpdoc, [author], 1) ) + # -- Options for Texinfo output ---------------------------------------------- diff --git a/docs/source/programs/cis.rst b/docs/source/programs/cis.rst new file mode 100644 index 00000000..9f378b6c --- /dev/null +++ b/docs/source/programs/cis.rst @@ -0,0 +1,42 @@ +.. _.cis.: + +.. program:: cis + +=== +cis +=== + + + + + Configuration Interaction with Single excitations. + + This program takes a reference Slater determinant of ROHF-like occupancy, and performs all single excitations on top of it. Disregarding spatial symmetry, it computes the `n_states` lowest eigenstates of that CI matrix. (see :option:`determinants n_states`) + + This program can be useful in many cases: + + # Ground state calculation + + To be sure to have the lowest |SCF| solution, perform an :ref:`.scf.` (see the :ref:`hartree_fock` module), then a :ref:`.cis.`, save the natural orbitals (see :ref:`.save_natorb.`) and re-run an :ref:`.scf.` optimization from this |MO| guess. + + + + # Excited states calculations + + The lowest excited states are much likely to be dominated by single-excitations. Therefore, running a :ref:`cis/cis` will save the `n_states` lowest states within the |CIS| space in the |EZFIO| directory, which can afterwards be used as guess wave functions for a further multi-state |FCI| calculation if :option:`determinants read_wf` is set to |true| before running the :ref:`fci/fci` executable. + + If :option:`determinants s2_eig` is set to |true|, the |CIS| will only retain states having the expected |S^2| value (see :option:`determinants expected_s2`). Otherwise, the |CIS| will take the lowest :option:`determinants n_states`, whatever multiplicity they are. + + # Note + + To discard some orbitals, use the :ref:`qp_set_mo_class` command to specify: + + * *core* orbitals which will be always doubly occupied + + * *act* orbitals where an electron can be either excited from or to + + * *del* orbitals which will be never occupied + + + +File: :file:`cis/cis.irp.f` \ No newline at end of file diff --git a/docs/source/programs/cisd.rst b/docs/source/programs/cisd.rst new file mode 100644 index 00000000..3370bc5a --- /dev/null +++ b/docs/source/programs/cisd.rst @@ -0,0 +1,38 @@ +.. _.cisd.: + +.. program:: cisd + +==== +cisd +==== + + +Configuration Interaction with Single and Double excitations. + + This program takes a reference Slater determinant of ROHF-like occupancy, + + and performs all single and double excitations on top of it, disregarding spatial symmetry and compute the "n_states" lowest eigenstates of that CI matrix (see :option:`determinants n_states`). + + This program can be useful in many cases: + + * GROUND STATE CALCULATION: if even after a :c:func:`cis` calculation, natural orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf solution, do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural orbitals as a guess for the :c:func:`scf`. + + + + + + * EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single- or double-excitations. Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within the CISD space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi-state fci calculation if you specify "read_wf" = True before running the fci executable (see :option:`determinants read_wf`). Also, if you specify "s2_eig" = True, the cisd will only retain states having the good value :math:`S^2` value (see :option:`determinants expected_s2` and :option:`determinants s2_eig`). If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are. + + + + + + Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify: + + * "core" orbitals which will be always doubly occupied + + * "act" orbitals where an electron can be either excited from or to + + * "del" orbitals which will be never occupied + +File: :file:`cisd/cisd.irp.f` \ No newline at end of file diff --git a/docs/source/programs/diagonalize_h.rst b/docs/source/programs/diagonalize_h.rst new file mode 100644 index 00000000..bc79f115 --- /dev/null +++ b/docs/source/programs/diagonalize_h.rst @@ -0,0 +1,16 @@ +.. _.diagonalize_h.: + +.. program:: diagonalize_h + +============= +diagonalize_h +============= + + +Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder. + + If :option:`determinants s2_eig` = True, it will retain only states + + which corresponds to the desired value of :option:`determinants expected_s2`. + +File: :file:`tools/diagonalize_h.irp.f` \ No newline at end of file diff --git a/docs/source/programs/fci.rst b/docs/source/programs/fci.rst new file mode 100644 index 00000000..46e12bfd --- /dev/null +++ b/docs/source/programs/fci.rst @@ -0,0 +1,50 @@ +.. _.fci.: + +.. program:: fci + +=== +fci +=== + + +Selected Full Configuration Interaction with stochastic selection and PT2 . + + This program performs a CIPSI-like selected CI using a stochastic scheme for both + + the selection of the important Slater determinants and the computation of the PT2 correction. + + This CIPSI-like algorithm will be performed for the "n_states" lowest states of the variational space (see :option:`determinants n_det_max`) + + The fci program will stop when reaching at least one the two following conditions: + + * number of Slater determinant > "n_det_max" (see :option:`determinants n_det_max`) + + * |PT2| < "pt2_max" (see :option:`perturbation pt2_max`) + + + + The following other options can be of interest: + + If "read_wf" = False, it starts with a ROHF-like Slater determinant as a guess wave function. + + If "read_wf" = True , it starts with the wave function(s) stored in the EZFIO folder as guess wave function(s). + + (see :option:`determinants read_wf`) + + If "s2_eig" = True, it will systematically add all necessary Slater determinants in order + + to have a pure spin wave function with an :math:`S^2` value corresponding to "expected_s2". + + (see :option:`determinants s2_eig` and :option:`determinants expected_s2`) + + + + + + + + For excited states calculations, it is recommended to start with a :c:func:`cis` or :c:func:`cisd` guess wave functions + + for the "n_states", and to set "s2_eig" = True. + +File: :file:`fci/fci.irp.f` \ No newline at end of file diff --git a/docs/source/programs/fcidump.rst b/docs/source/programs/fcidump.rst new file mode 100644 index 00000000..a91a79f5 --- /dev/null +++ b/docs/source/programs/fcidump.rst @@ -0,0 +1,22 @@ +.. _.fcidump.: + +.. program:: fcidump + +======= +fcidump +======= + + +Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder. + + To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`). + + The fcidump program supports 3 types of MO_class : + + * the "core" orbitals which are always doubly occupied in the calculation + + * the "del" orbitals that are never occupied in the calculation + + * the "act" orbitals that will be occupied by a varying number of electrons + +File: :file:`tools/fcidump.irp.f` \ No newline at end of file diff --git a/docs/source/programs/four_idx_transform.rst b/docs/source/programs/four_idx_transform.rst new file mode 100644 index 00000000..78afec89 --- /dev/null +++ b/docs/source/programs/four_idx_transform.rst @@ -0,0 +1,16 @@ +.. _.four_idx_transform.: + +.. program:: four_idx_transform + +================== +four_idx_transform +================== + + +4-index transformation of two-electron integrals from |AO| to |MO| integrals. + + This program will compute the two-electron integrals on the |MO| basis and store it into the |EZFIO| folder. + + This program can be useful if the AO --> MO transformation is an expensive step by itself. + +File: :file:`tools/four_idx_transform.irp.f` \ No newline at end of file diff --git a/docs/source/programs/ks_scf.rst b/docs/source/programs/ks_scf.rst new file mode 100644 index 00000000..454e82d3 --- /dev/null +++ b/docs/source/programs/ks_scf.rst @@ -0,0 +1,12 @@ +.. _.ks_scf.: + +.. program:: ks_scf + +====== +ks_scf +====== + + +Produce `Kohn_Sham` MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef + +File: :file:`kohn_sham/ks_scf.irp.f` \ No newline at end of file diff --git a/docs/source/programs/molden.rst b/docs/source/programs/molden.rst new file mode 100644 index 00000000..e45959c6 --- /dev/null +++ b/docs/source/programs/molden.rst @@ -0,0 +1,12 @@ +.. _.molden.: + +.. program:: molden + +====== +molden +====== + + +Produce a Molden file + +File: :file:`tools/molden.irp.f` \ No newline at end of file diff --git a/docs/source/programs/print_e_conv.rst b/docs/source/programs/print_e_conv.rst new file mode 100644 index 00000000..26e7d257 --- /dev/null +++ b/docs/source/programs/print_e_conv.rst @@ -0,0 +1,18 @@ +.. _.print_e_conv.: + +.. program:: print_e_conv + +============ +print_e_conv +============ + + +program that prints in a human readable format the convergence of the CIPSI algorithm. + + for all istate, this program produces + + * a file "EZFIO.istate.conv" containing the variational and var+PT2 energies as a function of N_det + + * for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det + +File: :file:`tools/print_e_conv.irp.f` \ No newline at end of file diff --git a/docs/source/programs/print_wf.rst b/docs/source/programs/print_wf.rst new file mode 100644 index 00000000..a69e71d6 --- /dev/null +++ b/docs/source/programs/print_wf.rst @@ -0,0 +1,18 @@ +.. _.print_wf.: + +.. program:: print_wf + +======== +print_wf +======== + + +Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization. + + It also prints a lot of information regarding the excitation operators from the reference determinant + + and a first-order perturbative analysis of the wave function. + + If the wave function strongly deviates from the first-order analysis, something funny is going on :) + +File: :file:`tools/print_wf.irp.f` \ No newline at end of file diff --git a/docs/source/programs/pt2.rst b/docs/source/programs/pt2.rst new file mode 100644 index 00000000..21730691 --- /dev/null +++ b/docs/source/programs/pt2.rst @@ -0,0 +1,18 @@ +.. _.pt2.: + +.. program:: pt2 + +=== +pt2 +=== + + +Second order perturbative correction to the wave function contained in the EZFIO directory. + + This programs runs the stochastic PT2 correction on all "n_states" wave function stored in the EZFIO folder (see :option:`determinant n_states`). + + The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic + + error on the PT2 to reach before stopping the stochastic sampling. (see :option:`perturbation pt2_relative_error`) + +File: :file:`fci/pt2.irp.f` \ No newline at end of file diff --git a/docs/source/programs/rs_ks_scf.rst b/docs/source/programs/rs_ks_scf.rst new file mode 100644 index 00000000..30c34037 --- /dev/null +++ b/docs/source/programs/rs_ks_scf.rst @@ -0,0 +1,12 @@ +.. _.rs_ks_scf.: + +.. program:: rs_ks_scf + +========= +rs_ks_scf +========= + + +Produce `Range_separated_Kohn_Sham` MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef + +File: :file:`kohn_sham_rs/rs_ks_scf.irp.f` \ No newline at end of file diff --git a/docs/source/programs/save_natorb.rst b/docs/source/programs/save_natorb.rst new file mode 100644 index 00000000..ff3dfc92 --- /dev/null +++ b/docs/source/programs/save_natorb.rst @@ -0,0 +1,20 @@ +.. _.save_natorb.: + +.. program:: save_natorb + +=========== +save_natorb +=========== + + +Save natural MOs into the EZFIO + + This program reads the wave function stored in the EZFIO folder, + + extracts the corresponding natural orbitals and set them as the new MOs + + If this is a multi-state calculation, the density matrix that produces the natural orbitals + + is obtained from a state-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight). + +File: :file:`tools/save_natorb.irp.f` \ No newline at end of file diff --git a/docs/source/programs/save_one_e_dm.rst b/docs/source/programs/save_one_e_dm.rst new file mode 100644 index 00000000..54925686 --- /dev/null +++ b/docs/source/programs/save_one_e_dm.rst @@ -0,0 +1,16 @@ +.. _.save_one_e_dm.: + +.. program:: save_one_e_dm + +============= +save_one_e_dm +============= + + +programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities. + + Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation. + + This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module). + +File: :file:`tools/save_one_e_dm.irp.f` \ No newline at end of file diff --git a/docs/source/programs/save_ortho_mos.rst b/docs/source/programs/save_ortho_mos.rst new file mode 100644 index 00000000..60e0205e --- /dev/null +++ b/docs/source/programs/save_ortho_mos.rst @@ -0,0 +1,18 @@ +.. _.save_ortho_mos.: + +.. program:: save_ortho_mos + +============== +save_ortho_mos +============== + + +Save orthonormalized MOs in the EZFIO. + + This program reads the current MOs, computes the corresponding overlap matrix in the MO basis + + and perform a Lowdin orthonormalization : :math:`MO_{new} = S^{-1/2} MO_{guess}`. + + Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs. + +File: :file:`tools/save_ortho_mos.irp.f` \ No newline at end of file diff --git a/docs/source/programs/scf.rst b/docs/source/programs/scf.rst new file mode 100644 index 00000000..0533bc81 --- /dev/null +++ b/docs/source/programs/scf.rst @@ -0,0 +1,18 @@ +.. _.scf.: + +.. program:: scf + +=== +scf +=== + + +Produce `Hartree_Fock` |MOs| + + output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ + + output: hartree_fock.energy + + optional: mo_basis.mo_coef + +File: :file:`hartree_fock/scf.irp.f` \ No newline at end of file diff --git a/docs/source/programs/write_integrals_erf.rst b/docs/source/programs/write_integrals_erf.rst new file mode 100644 index 00000000..cfbdf345 --- /dev/null +++ b/docs/source/programs/write_integrals_erf.rst @@ -0,0 +1,12 @@ +.. _.write_integrals_erf.: + +.. program:: write_integrals_erf + +=================== +write_integrals_erf +=================== + + +Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder + +File: :file:`tools/write_integrals_erf.irp.f` \ No newline at end of file diff --git a/man/cis.1 b/man/cis.1 new file mode 100644 index 00000000..1b39338e --- /dev/null +++ b/man/cis.1 @@ -0,0 +1,71 @@ +.\" Man page generated from reStructuredText. +. +.TH "CIS" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +cis \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.INDENT 0.0 +.INDENT 3.5 +Configuration Interaction with Single excitations. +.sp +This program takes a reference Slater determinant of ROHF\-like occupancy, and performs all single excitations on top of it. Disregarding spatial symmetry, it computes the \fIn_states\fP lowest eigenstates of that CI matrix. (see \fBdeterminants n_states\fP) +.sp +This program can be useful in many cases: +.sp +# Ground state calculation +.sp +To be sure to have the lowest SCF solution, perform an \&.scf. (see the hartree_fock module), then a \fI\%cis\fP, save the natural orbitals (see \&.save_natorb.) and re\-run an \&.scf. optimization from this MO guess. +.sp +# Excited states calculations +.sp +The lowest excited states are much likely to be dominated by single\-excitations. Therefore, running a cis/cis will save the \fIn_states\fP lowest states within the CIS space in the \fI\%EZFIO\fP directory, which can afterwards be used as guess wave functions for a further multi\-state FCI calculation if \fBdeterminants read_wf\fP is set to \fBtrue\fP before running the fci/fci executable. +.sp +If \fBdeterminants s2_eig\fP is set to \fBtrue\fP, the CIS will only retain states having the expected \ewidehat{S^2} value (see \fBdeterminants expected_s2\fP). Otherwise, the CIS will take the lowest \fBdeterminants n_states\fP, whatever multiplicity they are. +.sp +# Note +.sp +To discard some orbitals, use the qp_set_mo_class command to specify: +.INDENT 0.0 +.IP \(bu 2 +\fIcore\fP orbitals which will be always doubly occupied +.IP \(bu 2 +\fIact\fP orbitals where an electron can be either excited from or to +.IP \(bu 2 +\fIdel\fP orbitals which will be never occupied +.UNINDENT +.UNINDENT +.UNINDENT +.sp +File: \fBcis/cis.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/cisd.1 b/man/cisd.1 new file mode 100644 index 00000000..d4d9cf71 --- /dev/null +++ b/man/cisd.1 @@ -0,0 +1,67 @@ +.\" Man page generated from reStructuredText. +. +.TH "CISD" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +cisd \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Configuration Interaction with Single and Double excitations. +.INDENT 0.0 +.INDENT 3.5 +This program takes a reference Slater determinant of ROHF\-like occupancy, +.sp +and performs all single and double excitations on top of it, disregarding spatial symmetry and compute the “n_states” lowest eigenstates of that CI matrix (see \fBdeterminants n_states\fP). +.sp +This program can be useful in many cases: +.INDENT 0.0 +.IP \(bu 2 +GROUND STATE CALCULATION: if even after a \fBcis()\fP calculation, natural orbitals (see \fBsave_natorb()\fP) and then \fBscf()\fP optimization, you are not sure to have the lowest scf solution, do the same strategy with the \fBcisd()\fP executable instead of the \fBcis()\fP\ exectuable to generate the natural orbitals as a guess for the \fBscf()\fP\&. +.IP \(bu 2 +EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single\- or double\-excitations. Therefore, running a \fBcisd()\fP will save the “n_states” lowest states within the CISD space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi\-state fci calculation if you specify “read_wf” = True before running the fci executable (see \fBdeterminants read_wf\fP). Also, if you specify “s2_eig” = True, the cisd will only retain states having the good value S^2 value (see \fBdeterminants expected_s2\fP and \fBdeterminants s2_eig\fP). If “s2_eig” = False, it will take the lowest n_states, whatever multiplicity they are. +.UNINDENT +.sp +Note: if you would like to discard some orbitals, use qp_set_mo_class to specify: +.INDENT 0.0 +.IP \(bu 2 +“core” orbitals which will be always doubly occupied +.IP \(bu 2 +“act” orbitals where an electron can be either excited from or to +.IP \(bu 2 +“del” orbitals which will be never occupied +.UNINDENT +.UNINDENT +.UNINDENT +.sp +File: \fBcisd/cisd.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/diagonalize_h.1 b/man/diagonalize_h.1 new file mode 100644 index 00000000..1b8cc7f8 --- /dev/null +++ b/man/diagonalize_h.1 @@ -0,0 +1,49 @@ +.\" Man page generated from reStructuredText. +. +.TH "DIAGONALIZE_H" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +diagonalize_h \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Program that extracts the \fBdeterminants n_states\fP lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder. +.INDENT 0.0 +.INDENT 3.5 +If \fBdeterminants s2_eig\fP = True, it will retain only states +.sp +which corresponds to the desired value of \fBdeterminants expected_s2\fP\&. +.UNINDENT +.UNINDENT +.sp +File: \fBtools/diagonalize_h.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/fci.1 b/man/fci.1 new file mode 100644 index 00000000..c67e069c --- /dev/null +++ b/man/fci.1 @@ -0,0 +1,77 @@ +.\" Man page generated from reStructuredText. +. +.TH "FCI" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +fci \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Selected Full Configuration Interaction with stochastic selection and PT2 . +.INDENT 0.0 +.INDENT 3.5 +This program performs a CIPSI\-like selected CI using a stochastic scheme for both +.sp +the selection of the important Slater determinants and the computation of the PT2 correction. +.sp +This CIPSI\-like algorithm will be performed for the “n_states” lowest states of the variational space (see \fBdeterminants n_det_max\fP) +.sp +The fci program will stop when reaching at least one the two following conditions: +.INDENT 0.0 +.IP \(bu 2 +number of Slater determinant > “n_det_max” (see \fBdeterminants n_det_max\fP) +.IP \(bu 2 +PT2 < “pt2_max” (see \fBperturbation pt2_max\fP) +.UNINDENT +.sp +The following other options can be of interest: +.sp +If “read_wf” = False, it starts with a ROHF\-like Slater determinant as a guess wave function. +.sp +If “read_wf” = True , it starts with the wave function(s) stored in the EZFIO folder as guess wave function(s). +.sp +(see \fBdeterminants read_wf\fP) +.sp +If “s2_eig” = True, it will systematically add all necessary Slater determinants in order +.sp +to have a pure spin wave function with an S^2 value corresponding to “expected_s2”. +.sp +(see \fBdeterminants s2_eig\fP and \fBdeterminants expected_s2\fP) +.sp +For excited states calculations, it is recommended to start with a \fBcis()\fP or \fBcisd()\fP guess wave functions +.sp +for the “n_states”, and to set “s2_eig” = True. +.UNINDENT +.UNINDENT +.sp +File: \fBfci/fci.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/fcidump.1 b/man/fcidump.1 new file mode 100644 index 00000000..7f1ba044 --- /dev/null +++ b/man/fcidump.1 @@ -0,0 +1,57 @@ +.\" Man page generated from reStructuredText. +. +.TH "FCIDUMP" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +fcidump \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Produce a regular FCIDUMP file from the MOs stored in the \fI\%EZFIO\fP folder. +.INDENT 0.0 +.INDENT 3.5 +To specify an active space, the class of the mos have to set in the \fI\%EZFIO\fP folder (see qp_set_mo_class). +.sp +The fcidump program supports 3 types of MO_class : +.INDENT 0.0 +.IP \(bu 2 +the “core” orbitals which are always doubly occupied in the calculation +.IP \(bu 2 +the “del” orbitals that are never occupied in the calculation +.IP \(bu 2 +the “act” orbitals that will be occupied by a varying number of electrons +.UNINDENT +.UNINDENT +.UNINDENT +.sp +File: \fBtools/fcidump.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/four_idx_transform.1 b/man/four_idx_transform.1 new file mode 100644 index 00000000..56be245d --- /dev/null +++ b/man/four_idx_transform.1 @@ -0,0 +1,49 @@ +.\" Man page generated from reStructuredText. +. +.TH "FOUR_IDX_TRANSFORM" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +four_idx_transform \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +4\-index transformation of two\-electron integrals from AO to MO integrals. +.INDENT 0.0 +.INDENT 3.5 +This program will compute the two\-electron integrals on the MO basis and store it into the \fI\%EZFIO\fP folder. +.sp +This program can be useful if the AO –> MO transformation is an expensive step by itself. +.UNINDENT +.UNINDENT +.sp +File: \fBtools/four_idx_transform.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/ks_scf.1 b/man/ks_scf.1 new file mode 100644 index 00000000..255a970d --- /dev/null +++ b/man/ks_scf.1 @@ -0,0 +1,42 @@ +.\" Man page generated from reStructuredText. +. +.TH "KS_SCF" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +ks_scf \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Produce \fIKohn_Sham\fP MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef +.sp +File: \fBkohn_sham/ks_scf.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/molden.1 b/man/molden.1 new file mode 100644 index 00000000..ebcde5e3 --- /dev/null +++ b/man/molden.1 @@ -0,0 +1,42 @@ +.\" Man page generated from reStructuredText. +. +.TH "MOLDEN" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +molden \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Produce a Molden file +.sp +File: \fBtools/molden.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/print_e_conv.1 b/man/print_e_conv.1 new file mode 100644 index 00000000..46e04817 --- /dev/null +++ b/man/print_e_conv.1 @@ -0,0 +1,53 @@ +.\" Man page generated from reStructuredText. +. +.TH "PRINT_E_CONV" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +print_e_conv \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +program that prints in a human readable format the convergence of the CIPSI algorithm. +.INDENT 0.0 +.INDENT 3.5 +for all istate, this program produces +.INDENT 0.0 +.IP \(bu 2 +a file “EZFIO.istate.conv” containing the variational and var+PT2 energies as a function of N_det +.IP \(bu 2 +for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det +.UNINDENT +.UNINDENT +.UNINDENT +.sp +File: \fBtools/print_e_conv.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/print_wf.1 b/man/print_wf.1 new file mode 100644 index 00000000..e8afba16 --- /dev/null +++ b/man/print_wf.1 @@ -0,0 +1,51 @@ +.\" Man page generated from reStructuredText. +. +.TH "PRINT_WF" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +print_wf \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Print the ground state wave function stored in the \fI\%EZFIO\fP folder in the intermediate normalization. +.INDENT 0.0 +.INDENT 3.5 +It also prints a lot of information regarding the excitation operators from the reference determinant +.sp +and a first\-order perturbative analysis of the wave function. +.sp +If the wave function strongly deviates from the first\-order analysis, something funny is going on :) +.UNINDENT +.UNINDENT +.sp +File: \fBtools/print_wf.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/printing.1 b/man/printing.1 new file mode 100644 index 00000000..8e66bfea --- /dev/null +++ b/man/printing.1 @@ -0,0 +1,83 @@ +.\" Man page generated from reStructuredText. +. +.TH "PRINTING" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +printing \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Once obtained the near FCI energy, one can also take a closer look at the wave function stored in the \fI\%EZFIO\fP database. +If the wave function contains less than 10^4 determinants, you can directly read it with the +qp_edit command. Just run +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp_edit file.ezfio +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBIMPORTANT:\fP +.INDENT 0.0 +.INDENT 3.5 +The qp_edit mode virtually makes human\-friendly the architecture of the \fI\%EZFIO\fP database +through \fIvim\fP\-like editor. +.UNINDENT +.UNINDENT +.sp +Then, look for the word “hand” when you are in the qp_edit mode. If the research is negative, +then it means that the wave function stored in the \fI\%EZFIO\fP database is too large to be edited +interactively in qp_edit mode. An alternative is to use the \fBprint_wf\fP command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp_run print_wf file.ezfio | tee file.ezfio.fci_natorb.wf +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This program will, by default, print out the first 10^4 determinants whatever the size of the wave function stored in the \fI\%EZFIO\fP folder. If you want to change the number of printed Slater determinants, just change the \fBdeterminants n_det_print_wf\fP keyword using the qp_edit tool. +.sp +\fBSEE ALSO:\fP +.INDENT 0.0 +.INDENT 3.5 +The documentation of the print_wf program. +.UNINDENT +.UNINDENT +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/pt2.1 b/man/pt2.1 new file mode 100644 index 00000000..2a9b8fd3 --- /dev/null +++ b/man/pt2.1 @@ -0,0 +1,51 @@ +.\" Man page generated from reStructuredText. +. +.TH "PT2" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +pt2 \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Second order perturbative correction to the wave function contained in the EZFIO directory. +.INDENT 0.0 +.INDENT 3.5 +This programs runs the stochastic PT2 correction on all “n_states” wave function stored in the EZFIO folder (see \fBdeterminant n_states\fP). +.sp +The option for the PT2 correction are the “pt2_relative_error” which is the relative stochastic +.sp +error on the PT2 to reach before stopping the stochastic sampling. (see \fBperturbation pt2_relative_error\fP) +.UNINDENT +.UNINDENT +.sp +File: \fBfci/pt2.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/qp_update.1 b/man/qp_update.1 new file mode 100644 index 00000000..e54e5be5 --- /dev/null +++ b/man/qp_update.1 @@ -0,0 +1,51 @@ +.\" Man page generated from reStructuredText. +. +.TH "QP_UPDATE" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +qp_update \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +This command makes an update of the \fIQuantum Package\fP to the latest stable version. +.SH USAGE +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp_update [\-h] +.ft P +.fi +.UNINDENT +.UNINDENT +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/qpsh.1 b/man/qpsh.1 new file mode 100644 index 00000000..8543f069 --- /dev/null +++ b/man/qpsh.1 @@ -0,0 +1,115 @@ +.\" Man page generated from reStructuredText. +. +.TH "QPSH" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +qpsh \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +\fBqpsh\fP is the \fIQuantum Package\fP shell. It is a +.nf +|Bash| +.fi + shell with all +the required evironment variables loaded, a modified prompt, and the +qp command. +.sp +This command reads the content of the \fI\%EZFIO\fP directory and creates a temporary +file containing the data. The data is presented as a \fIReStructured Text\fP (rst) +document, where each section corresponds to the corresponding \fIQuantum Package\fP module. The +content of the file can be modified to change the input parameters. When the +text editor is closed, the updated data is saved into the \fI\%EZFIO\fP directory. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +The text editor which will be opened is defined by the \fBEDITOR\fP +environment variable. If this variable is not set, the \fBvi\fP +text editor will be used by default. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 0.0 +.INDENT 3.5 +When the wave function is too large (more than 10 000 determinants), the +determinants are not displayed. +.UNINDENT +.UNINDENT +.SH USAGE +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp_edit [\-c] [\-h] [\-n ] [\-s ] [\-\-] EZFIO_DIR +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-c, \-\-check +Checks the input data +.UNINDENT +.INDENT 0.0 +.TP +.B \-h, \-\-help +Print the help text and exits +.UNINDENT +.INDENT 0.0 +.TP +.B \-n, \-\-ndet= +Truncates the wavefunction to the target number of determinants +.UNINDENT +.INDENT 0.0 +.TP +.B \-s, \-\-state= +Select the states to extract from the \fI\%EZFIO\fP directory, using the same conventions +as qp_set_mo_class\&. See example below. +.UNINDENT +.SH EXAMPLE +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp_edit \-\-state="[1,3\-5]" test.ezfio +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Removes all states except states 1,3,4 and 5 from \fBtest.ezfio\fP\&. The +resulting \fI\%EZFIO\fP directory has 4 states. +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/rs_ks_scf.1 b/man/rs_ks_scf.1 new file mode 100644 index 00000000..7f1ba0ab --- /dev/null +++ b/man/rs_ks_scf.1 @@ -0,0 +1,42 @@ +.\" Man page generated from reStructuredText. +. +.TH "RS_KS_SCF" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +rs_ks_scf \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Produce \fIRange_separated_Kohn_Sham\fP MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef +.sp +File: \fBkohn_sham_rs/rs_ks_scf.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/save_natorb.1 b/man/save_natorb.1 new file mode 100644 index 00000000..2f9b59ca --- /dev/null +++ b/man/save_natorb.1 @@ -0,0 +1,53 @@ +.\" Man page generated from reStructuredText. +. +.TH "SAVE_NATORB" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +save_natorb \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Save natural MOs into the EZFIO +.INDENT 0.0 +.INDENT 3.5 +This program reads the wave function stored in the EZFIO folder, +.sp +extracts the corresponding natural orbitals and set them as the new MOs +.sp +If this is a multi\-state calculation, the density matrix that produces the natural orbitals +.sp +is obtained from a state\-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight). +.UNINDENT +.UNINDENT +.sp +File: \fBtools/save_natorb.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/save_one_e_dm.1 b/man/save_one_e_dm.1 new file mode 100644 index 00000000..e2cdb4ec --- /dev/null +++ b/man/save_one_e_dm.1 @@ -0,0 +1,49 @@ +.\" Man page generated from reStructuredText. +. +.TH "SAVE_ONE_E_DM" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +save_one_e_dm \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities. +.INDENT 0.0 +.INDENT 3.5 +Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation. +.sp +This can be used to perform damping on the density in RS\-DFT calculation (see the density_for_dft module). +.UNINDENT +.UNINDENT +.sp +File: \fBtools/save_one_e_dm.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/save_ortho_mos.1 b/man/save_ortho_mos.1 new file mode 100644 index 00000000..54fcc06f --- /dev/null +++ b/man/save_ortho_mos.1 @@ -0,0 +1,51 @@ +.\" Man page generated from reStructuredText. +. +.TH "SAVE_ORTHO_MOS" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +save_ortho_mos \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Save orthonormalized MOs in the EZFIO. +.INDENT 0.0 +.INDENT 3.5 +This program reads the current MOs, computes the corresponding overlap matrix in the MO basis +.sp +and perform a Lowdin orthonormalization : MO_{new} = S^{\-1/2} MO_{guess}\&. +.sp +Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs. +.UNINDENT +.UNINDENT +.sp +File: \fBtools/save_ortho_mos.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/scf.1 b/man/scf.1 new file mode 100644 index 00000000..df26847e --- /dev/null +++ b/man/scf.1 @@ -0,0 +1,51 @@ +.\" Man page generated from reStructuredText. +. +.TH "SCF" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +scf \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Produce \fIHartree_Fock\fP MOs +.INDENT 0.0 +.INDENT 3.5 +output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ +.sp +output: hartree_fock.energy +.sp +optional: mo_basis.mo_coef +.UNINDENT +.UNINDENT +.sp +File: \fBhartree_fock/scf.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +. diff --git a/man/write_integrals_erf.1 b/man/write_integrals_erf.1 new file mode 100644 index 00000000..06f28c7c --- /dev/null +++ b/man/write_integrals_erf.1 @@ -0,0 +1,42 @@ +.\" Man page generated from reStructuredText. +. +.TH "WRITE_INTEGRALS_ERF" "1" "Jan 16, 2019" "2.0" "Quantum Package" +.SH NAME +write_integrals_erf \- | Quantum Package > +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.sp +Saves the two\-electron integrals with the erf(\emu r_{12})/r_{12} oprerator into the EZFIO folder +.sp +File: \fBtools/write_integrals_erf.irp.f\fP +.SH AUTHOR +A. Scemama, E. Giner +.SH COPYRIGHT +2018, A. Scemama, E. Giner +.\" Generated by docutils manpage writer. +.