10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-07-05 10:55:59 +02:00

Merge branch 'master' of lpqlx139:quantum_package

This commit is contained in:
Anthony Scemama 2015-09-22 09:36:41 +02:00
commit 3ca25bc422
61 changed files with 3521 additions and 836 deletions

46
configure vendored
View File

@ -7,15 +7,16 @@ Usage: configure <config_file> (--production | --development)
Options: Options:
config_file A config file with all the information for the compilation config_file A config file with all the information for compiling.
Example config_files are given in config/ Example config_files are given in config/
--production You can only compile all the modules with this flag, --production You can only compile **all** the modules with this flag,
but the compilation will be lighting fast but it will compile lighting fast.
--development this will create a build.ninja for each directory which
contains a binary. In a second step you may compile them
individually if you like.
--development It will create a build.ninja for each directory
who contains a binary, than you can compile then
individualy if you want
Examples: Examples:
@ -71,7 +72,7 @@ from collections import namedtuple
Info = namedtuple("Info", ["url", "description", "default_path"]) Info = namedtuple("Info", ["url", "description", "default_path"])
path_github = {"head": "http://github.com/", "tail": "archive/master.tar.gz"} path_github = {"head": "http://github.com", "tail": "archive/master.tar.gz"}
ocaml = Info( ocaml = Info(
url='http://raw.github.com/ocaml/opam/master/shell/opam_installer.sh', url='http://raw.github.com/ocaml/opam/master/shell/opam_installer.sh',
@ -163,7 +164,7 @@ def find_path(bin_, l_installed, var_for_qp_root=False):
# | |_| | | (_ |_ | (_) | | # | |_| | | (_ |_ | (_) | |
# #
def check_output(*popenargs, **kwargs): def check_output(*popenargs, **kwargs):
"""Run command with arguments and return its output as a byte string. """Run command with arguments and return its output as a string.
Backported from Python 2.7 as it's implemented as pure python on stdlib. Backported from Python 2.7 as it's implemented as pure python on stdlib.
@ -180,6 +181,8 @@ def check_output(*popenargs, **kwargs):
cmd = popenargs[0] cmd = popenargs[0]
error = subprocess.CalledProcessError(retcode, cmd) error = subprocess.CalledProcessError(retcode, cmd)
error.output = output error.output = output
# print output
# print unused_err
raise error raise error
return output return output
@ -187,7 +190,7 @@ def check_output(*popenargs, **kwargs):
def checking(d_dependency): def checking(d_dependency):
""" """
For each key in d_dependency check if it For each key in d_dependency check if it
it avalabie or not is avalabie or not
""" """
def check_python(): def check_python():
@ -203,8 +206,8 @@ def checking(d_dependency):
def check_availability(binary): def check_availability(binary):
""" """
If avalable return the path who can find the If avalable return the path where the binary
binary else return 0 can be found, else return 0
""" """
if binary == "python": if binary == "python":
@ -224,7 +227,7 @@ def checking(d_dependency):
return a return a
except subprocess.CalledProcessError: except (OSError,subprocess.CalledProcessError):
default_path = d_info[binary].default_path default_path = d_info[binary].default_path
if os.path.exists(default_path): if os.path.exists(default_path):
return default_path return default_path
@ -252,7 +255,7 @@ def checking(d_dependency):
""" """
print "Checking what you need to install and what is it avalaible" print "Checking what you need to install and what is avalaible"
print "" print ""
l_installed = dict() l_installed = dict()
l_needed = [] l_needed = []
@ -325,7 +328,7 @@ _|_ | | _> |_ (_| | | (_| |_ | (_) | |
d_print = { d_print = {
"install_ninja": "Install ninja...", "install_ninja": "Install ninja...",
"build": "Creating build.ninja...", "build": "Creating build.ninja...",
"install": "Installing the dependency through ninja..." "install": "Installing the dependencies with Ninja..."
} }
length = max(map(len, d_print.values())) length = max(map(len, d_print.values()))
@ -341,9 +344,9 @@ _|_ | | _> |_ (_| | | (_| |_ | (_) | |
extension = splitext(url)[1] extension = splitext(url)[1]
path_archive = "Downloads/{0}{1}".format("ninja", extension) path_archive = "Downloads/{0}{1}".format("ninja", extension)
l_cmd = ["cd install &&", l_cmd = ["set -x ;", "cd install &&",
"wget {0} -O {1} -o /dev/null &&".format(url, path_archive), "wget {0} -O {1} &&".format(url, path_archive),
"./scripts/install_ninja.sh 2> /dev/null &&", "cd -"] "./scripts/install_ninja.sh &&", "cd -"]
try: try:
check_output(" ".join(l_cmd), shell=True) check_output(" ".join(l_cmd), shell=True)
@ -451,7 +454,7 @@ def create_ninja_and_rc(l_installed):
'export IRPF90={0}'.format(path_irpf90), 'export IRPF90={0}'.format(path_irpf90),
'export NINJA={0}'.format(path_ninja), 'export NINJA={0}'.format(path_ninja),
'export QP_PYTHON={0}'.format(":".join(l_python)), "", 'export QP_PYTHON={0}'.format(":".join(l_python)), "",
'export PYTHONPATH="${QP_PYTHON}":"${PYTHONPATH}"', 'export PYTHONPATH="${QP_EZFIO}":"${QP_PYTHON}":"${PYTHONPATH}"',
'export PATH="${QP_PYTHON}":"${QP_ROOT}"/bin:"${QP_ROOT}"/ocaml:"${PATH}"', 'export PATH="${QP_PYTHON}":"${QP_ROOT}"/bin:"${QP_ROOT}"/ocaml:"${PATH}"',
'export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"', 'export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"',
'export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"', "", 'export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"', "",
@ -484,7 +487,7 @@ def create_ninja_and_rc(l_installed):
subprocess.check_call(" ".join(l), shell=True,stderr=dnull) subprocess.check_call(" ".join(l), shell=True,stderr=dnull)
except: except:
print "[ FAIL ]" print "[ FAIL ]"
print "Check the valididy of the config file provided ({0})".format(sys.argv[1]) print "Check the validity of the config file provided ({0})".format(sys.argv[1])
print "Exit..." print "Exit..."
sys.exit(1) sys.exit(1)
@ -496,6 +499,11 @@ def recommendation():
path = join(QP_ROOT, "quantum_package.rc") path = join(QP_ROOT, "quantum_package.rc")
print "Now :" print "Now :"
print " source {0}".format(path) print " source {0}".format(path)
print ""
print "Then, install the modules you want to install using :"
print " qp_install_module.py "
print ""
print "Finally :"
print " ninja" print " ninja"
print " make -C ocaml" print " make -C ocaml"
print "" print ""

View File

@ -14,7 +14,7 @@ let spec =
+> flag "m" (optional_with_default 1 int) +> flag "m" (optional_with_default 1 int)
~doc:"int Spin multiplicity (2S+1) of the molecule. Default is 1." ~doc:"int Spin multiplicity (2S+1) of the molecule. Default is 1."
+> flag "p" no_arg +> flag "p" no_arg
~doc:"Using pseudopotentials" ~doc:" Using pseudopotentials"
+> anon ("xyz_file" %: string) +> anon ("xyz_file" %: string)
;; ;;

View File

@ -96,3 +96,92 @@ Needed Modules
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_ * `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_ * `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation>`_
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_CAS>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`full_ci <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/cas_sd_selected.irp.f#L1>`_
Undocumented
`h_apply_cas_sd <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L414>`_
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.
`h_apply_cas_sd_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cas_sd_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L269>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cas_sd_pt2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2610>`_
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.
`h_apply_cas_sd_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2118>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cas_sd_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2427>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cas_sd_selected <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1872>`_
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.
`h_apply_cas_sd_selected_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1346>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cas_sd_selected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1675>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cas_sd_selected_no_skip <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1128>`_
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.
`h_apply_cas_sd_selected_no_skip_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L602>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cas_sd_selected_no_skip_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L931>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

@ -48,3 +48,44 @@ Needed Modules
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_ * `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_ * `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`cis <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/super_ci.irp.f#L1>`_
Undocumented
`h_apply_cis <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/H_apply.irp.f_shell_8#L414>`_
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.
`h_apply_cis_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/H_apply.irp.f_shell_8#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cis_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/H_apply.irp.f_shell_8#L269>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`super_ci <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/super_ci.irp.f#L9>`_
Undocumented

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -20,7 +20,6 @@ Pseudo
Selectors_full Selectors_full
SingleRefMethod SingleRefMethod
Utils Utils
cisd
cisd_lapack cisd_lapack
ezfio_interface.irp.f ezfio_interface.irp.f
irpf90.make irpf90.make

View File

@ -42,3 +42,36 @@ Documentation
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`h_apply_cisd <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD/H_apply.irp.f_shell_8#L414>`_
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.
`h_apply_cisd_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD/H_apply.irp.f_shell_8#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD/H_apply.irp.f_shell_8#L269>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.

View File

@ -14,6 +14,7 @@ program cisd
enddo enddo
call save_wavefunction call save_wavefunction
call ezfio_set_cisd_energy(CI_energy(1))
! call CISD_SC2(psi_det,psi_coef,eigvalues,size(psi_coef,1),N_det,N_states,N_int) ! call CISD_SC2(psi_det,psi_coef,eigvalues,size(psi_coef,1),N_det,N_states,N_int)
! do i = 1, N_states ! do i = 1, N_states
! print*,'eigvalues(i) = ',eigvalues(i) ! print*,'eigvalues(i) = ',eigvalues(i)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -23,7 +23,6 @@ Pseudo
Selectors_full Selectors_full
SingleRefMethod SingleRefMethod
Utils Utils
cisd_selection
ezfio_interface.irp.f ezfio_interface.irp.f
irpf90.make irpf90.make
irpf90_entities irpf90_entities

View File

@ -179,3 +179,197 @@ Needed Modules
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_ * `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_ * `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation>`_
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`cisd <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/cisd_selection.irp.f#L1>`_
Undocumented
`h_apply_cisd <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_8#L414>`_
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.
`h_apply_cisd_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_8#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_8#L269>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f#L13>`_
Undocumented
`h_apply_cisd_selection_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L5931>`_
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.
`h_apply_cisd_selection_delta_rho_one_point_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L5405>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_delta_rho_one_point_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L5734>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L5159>`_
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.
`h_apply_cisd_selection_dipole_moment_z_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L4633>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_dipole_moment_z_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L4962>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L3615>`_
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.
`h_apply_cisd_selection_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L4387>`_
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.
`h_apply_cisd_selection_epstein_nesbet_2x2_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L3861>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_2x2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L4190>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L3089>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L3418>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L2843>`_
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.
`h_apply_cisd_selection_epstein_nesbet_sc2_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L2317>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L2646>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L2071>`_
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.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L1545>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L1874>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L1299>`_
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.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L773>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L1102>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L527>`_
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.
`h_apply_cisd_selection_h_core_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_h_core_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L330>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L6703>`_
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.
`h_apply_cisd_selection_moller_plesset_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L6177>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_moller_plesset_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/H_apply.irp.f_shell_10#L6506>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.

View File

@ -43,4 +43,6 @@ program cisd
call diagonalize_CI call diagonalize_CI
deallocate(pt2,norm_pert,H_pert_diag) deallocate(pt2,norm_pert,H_pert_diag)
call save_wavefunction call save_wavefunction
call ezfio_set_cisd_energy(CI_energy)
call ezfio_set_cisd_energy_pt2(CI_energy+pt2)
end end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -1,23 +1,23 @@
# Automatically created by /home/razoa/quantum_package/scripts/module/module_handler.py # Automatically created by $QP_ROOT/scripts/module/module_handler.py
IRPF90_temp
IRPF90_man
irpf90_entities
tags
irpf90.make
Makefile
Makefile.depend
.ninja_log
.ninja_deps .ninja_deps
ezfio_interface.irp.f .ninja_log
Ezfio_files AO_Basis
Bitmask
Determinants Determinants
Electrons
Ezfio_files
IRPF90_man
IRPF90_temp
Integrals_Bielec
Integrals_Monoelec Integrals_Monoelec
MO_Basis MO_Basis
Utils Makefile
Pseudo Makefile.depend
Bitmask
AO_Basis
Electrons
Nuclei Nuclei
Integrals_Bielec Pseudo
fcidump Utils
ezfio_interface.irp.f
fcidump
irpf90.make
irpf90_entities
tags

View File

@ -23,3 +23,22 @@ Needed Modules
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_ * `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`fcidump <http://github.com/LCPQ/quantum_package/tree/master/plugins/FCIdump/fcidump.irp.f#L1>`_
Undocumented

View File

@ -4,164 +4,165 @@ Full_CI Module
Performs a perturbatively selected Full-CI. Performs a perturbatively selected Full-CI.
Documentation
=============
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script.
`full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/full_ci_no_skip.irp.f#L1>`_
Undocumented
`h_apply_fci <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L527>`_
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.
`h_apply_fci_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2744>`_
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.
`h_apply_fci_mono_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2216>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_mono_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2545>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L330>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_no_skip <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1998>`_
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.
`h_apply_fci_no_skip_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1472>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_no_skip_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1801>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1265>`_
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.
`h_apply_fci_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L773>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1082>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L4258>`_
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.
`h_apply_pt2_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L3764>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L4073>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L5729>`_
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.
`h_apply_pt2_mono_di_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L5237>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_di_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L5546>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L3518>`_
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.
`h_apply_select_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2990>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L3319>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L4991>`_
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.
`h_apply_select_mono_di_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L4465>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_di_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L4794>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`var_pt2_ratio_run <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/var_pt2_ratio.irp.f#L1>`_
Undocumented
Needed Modules Needed Modules
============== ==============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_ * `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation>`_
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_ * `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_ * `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`full_ci <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/full_ci_no_skip.irp.f#L1>`_
Undocumented
`h_apply_fci <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L527>`_
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.
`h_apply_fci_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_mono <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2744>`_
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.
`h_apply_fci_mono_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2216>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_mono_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2545>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L330>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_no_skip <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1998>`_
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.
`h_apply_fci_no_skip_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1472>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_no_skip_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1801>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_pt2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1265>`_
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.
`h_apply_fci_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L773>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_fci_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1082>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4258>`_
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.
`h_apply_pt2_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3764>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4073>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L5729>`_
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.
`h_apply_pt2_mono_di_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L5237>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_pt2_mono_di_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L5546>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3518>`_
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.
`h_apply_select_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2990>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3319>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4991>`_
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.
`h_apply_select_mono_di_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4465>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_select_mono_di_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4794>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`var_pt2_ratio_run <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/var_pt2_ratio.irp.f#L1>`_
Undocumented

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 98 KiB

View File

@ -49,3 +49,40 @@ Needed Modules
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_ * `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_CAS/generators.irp.f#L3>`_
Number of generator detetrminants
`psi_coef_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_CAS/generators.irp.f#L35>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`psi_det_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_CAS/generators.irp.f#L34>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`select_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_CAS/generators.irp.f#L78>`_
Memo to skip useless selectors
`size_select_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_CAS/generators.irp.f#L70>`_
Size of the select_max array

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -5,42 +5,10 @@ Generators_full Module
All the determinants of the wave function are generators. In this way, the Full CI All the determinants of the wave function are generators. In this way, the Full CI
space is explored. space is explored.
Documentation
=============
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script.
`degree_max_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L43>`_
Max degree of excitation (respect to HF) of the generators
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L3>`_
For Single reference wave functions, the number of generators is 1 : the
Hartree-Fock determinant
`psi_coef_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L26>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`psi_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L25>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L66>`_
Memo to skip useless selectors
`size_select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L58>`_
Size of the select_max array
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
@ -48,3 +16,46 @@ Needed Modules
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_ * `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_ * `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`degree_max_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full/generators.irp.f#L43>`_
Max degree of excitation (respect to HF) of the generators
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full/generators.irp.f#L3>`_
For Single reference wave functions, the number of generators is 1 : the
Hartree-Fock determinant
`psi_coef_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full/generators.irp.f#L26>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`psi_det_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full/generators.irp.f#L25>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`select_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full/generators.irp.f#L66>`_
Memo to skip useless selectors
`size_select_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full/generators.irp.f#L58>`_
Size of the select_max array

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -7,9 +7,20 @@ From the 140 molecules of the G2 set, only LiO, ONa don't converge well.
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_ * `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_
@ -17,61 +28,61 @@ Needed Modules
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`ao_bi_elec_integral_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L102>`_
`ao_bi_elec_integral_alpha <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L102>`_
Alpha Fock matrix in AO basis set Alpha Fock matrix in AO basis set
`ao_bi_elec_integral_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L103>`_ `ao_bi_elec_integral_beta <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L103>`_
Alpha Fock matrix in AO basis set Alpha Fock matrix in AO basis set
`create_guess <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L13>`_ `create_guess <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/SCF.irp.f#L13>`_
Create an MO guess if no MOs are present in the EZFIO directory Create an MO guess if no MOs are present in the EZFIO directory
`damping_scf <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/damping_SCF.irp.f#L1>`_ `damping_scf <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/damping_SCF.irp.f#L1>`_
Undocumented Undocumented
`diagonal_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L1>`_ `diagonal_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/diagonalize_fock.irp.f#L1>`_
Diagonal Fock matrix in the MO basis Diagonal Fock matrix in the MO basis
`diagonal_fock_matrix_mo_sum <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L67>`_ `diagonal_fock_matrix_mo_sum <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/diagonalize_fock.irp.f#L67>`_
diagonal element of the fock matrix calculated as the sum over all the interactions diagonal element of the fock matrix calculated as the sum over all the interactions
with all the electrons in the RHF determinant with all the electrons in the RHF determinant
diagonal_Fock_matrix_mo_sum(i) = sum_{j=1, N_elec} 2 J_ij -K_ij diagonal_Fock_matrix_mo_sum(i) = sum_{j=1, N_elec} 2 J_ij -K_ij
`eigenvectors_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L2>`_ `eigenvectors_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/diagonalize_fock.irp.f#L2>`_
Diagonal Fock matrix in the MO basis Diagonal Fock matrix in the MO basis
`fock_matrix_alpha_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L83>`_ `fock_matrix_alpha_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L83>`_
Alpha Fock matrix in AO basis set Alpha Fock matrix in AO basis set
`fock_matrix_alpha_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L231>`_ `fock_matrix_alpha_mo <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L231>`_
Fock matrix on the MO basis Fock matrix on the MO basis
`fock_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L289>`_ `fock_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L289>`_
Fock matrix in AO basis set Fock matrix in AO basis set
`fock_matrix_beta_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L84>`_ `fock_matrix_beta_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L84>`_
Alpha Fock matrix in AO basis set Alpha Fock matrix in AO basis set
`fock_matrix_beta_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L251>`_ `fock_matrix_beta_mo <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L251>`_
Fock matrix on the MO basis Fock matrix on the MO basis
`fock_matrix_diag_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L2>`_ `fock_matrix_diag_mo <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L2>`_
Fock matrix on the MO basis. Fock matrix on the MO basis.
For open shells, the ROHF Fock Matrix is For open shells, the ROHF Fock Matrix is
.br .br
@ -87,7 +98,7 @@ Documentation
.br .br
`fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L1>`_ `fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L1>`_
Fock matrix on the MO basis. Fock matrix on the MO basis.
For open shells, the ROHF Fock Matrix is For open shells, the ROHF Fock Matrix is
.br .br
@ -103,53 +114,53 @@ Documentation
.br .br
`fock_mo_to_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L332>`_ `fock_mo_to_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L332>`_
Undocumented Undocumented
`guess <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Huckel_guess.irp.f#L1>`_ `guess <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Huckel_guess.irp.f#L1>`_
Undocumented Undocumented
`hf_density_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L27>`_ `hf_density_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/HF_density_matrix_ao.irp.f#L27>`_
S^-1 Density matrix in the AO basis S^-1 S^-1 Density matrix in the AO basis S^-1
`hf_density_matrix_ao_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L1>`_ `hf_density_matrix_ao_alpha <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/HF_density_matrix_ao.irp.f#L1>`_
S^-1 x Alpha density matrix in the AO basis x S^-1 S^-1 x Alpha density matrix in the AO basis x S^-1
`hf_density_matrix_ao_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L14>`_ `hf_density_matrix_ao_beta <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/HF_density_matrix_ao.irp.f#L14>`_
S^-1 Beta density matrix in the AO basis x S^-1 S^-1 Beta density matrix in the AO basis x S^-1
`hf_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L270>`_ `hf_energy <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L270>`_
Hartree-Fock energy Hartree-Fock energy
`huckel_guess <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/huckel.irp.f#L1>`_ `huckel_guess <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/huckel.irp.f#L1>`_
Build the MOs using the extended Huckel model Build the MOs using the extended Huckel model
`mo_guess_type <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ezfio_interface.irp.f#L28>`_ `mo_guess_type <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/ezfio_interface.irp.f#L28>`_
Initial MO guess. Can be [ Huckel | HCore ] Initial MO guess. Can be [ Huckel | HCore ]
`n_it_scf_max <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ezfio_interface.irp.f#L6>`_ `n_it_scf_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/ezfio_interface.irp.f#L6>`_
Maximum number of SCF iterations Maximum number of SCF iterations
`run <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L38>`_ `run <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/SCF.irp.f#L38>`_
Run SCF calculation Run SCF calculation
`scf <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L1>`_ `scf <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/SCF.irp.f#L1>`_
Produce `Hartree_Fock` MO orbital Produce `Hartree_Fock` MO orbital
output: mo_basis.mo_tot_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: mo_basis.mo_tot_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
output: hartree_fock.energy output: hartree_fock.energy
optional: mo_basis.mo_coef optional: mo_basis.mo_coef
`thresh_scf <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ezfio_interface.irp.f#L46>`_ `thresh_scf <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/ezfio_interface.irp.f#L46>`_
Threshold on the convergence of the Hartree Fock energy Threshold on the convergence of the Hartree Fock energy

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -14,7 +14,7 @@ Integrals_Bielec
Integrals_Monoelec Integrals_Monoelec
MOGuess MOGuess
MO_Basis MO_Basis
MRCC_Utils_new MRCC_Utils
Makefile Makefile
Makefile.depend Makefile.depend
Nuclei Nuclei

View File

@ -1 +1 @@
Perturbation Selectors_full Generators_full Psiref_CAS MRCC_Utils_new Perturbation Selectors_full Generators_full Psiref_CAS MRCC_Utils

View File

@ -16,7 +16,7 @@ Needed Modules
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_ * `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_ * `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_
* `Psiref_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_CAS>`_ * `Psiref_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_CAS>`_
* `MRCC_Utils_new <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils_new>`_ * `MRCC_Utils <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils>`_
Documentation Documentation
============= =============
@ -31,3 +31,30 @@ Documentation
`print_cas_coefs <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_CASSD/mrcc_cassd.irp.f#L11>`_ `print_cas_coefs <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_CASSD/mrcc_cassd.irp.f#L11>`_
Undocumented Undocumented
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation>`_
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full>`_
* `Psiref_CAS <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS>`_
* `MRCC_Utils <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_CASSD/mrcc_cassd.irp.f#L1>`_
Undocumented
`print_cas_coefs <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_CASSD/mrcc_cassd.irp.f#L11>`_
Undocumented

View File

@ -21,19 +21,19 @@ Documentation
.. Do not edit this section. It was auto-generated from the .. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`ci_eigenvectors_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L76>`_ `ci_eigenvectors_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L166>`_
Eigenvectors/values of the CI matrix Eigenvectors/values of the CI matrix
`ci_eigenvectors_s2_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L77>`_ `ci_eigenvectors_s2_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L167>`_
Eigenvectors/values of the CI matrix Eigenvectors/values of the CI matrix
`ci_electronic_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L75>`_ `ci_electronic_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L165>`_
Eigenvectors/values of the CI matrix Eigenvectors/values of the CI matrix
`ci_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L142>`_ `ci_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L232>`_
N_states lowest eigenvalues of the dressed CI matrix N_states lowest eigenvalues of the dressed CI matrix
@ -77,15 +77,15 @@ Documentation
Initial guess vectors are not necessarily orthonormal Initial guess vectors are not necessarily orthonormal
`delta_ii <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L39>`_ `delta_ii <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L104>`_
Dressing matrix in N_det basis Dressing matrix in N_det basis
`delta_ij <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L38>`_ `delta_ij <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L103>`_
Dressing matrix in N_det basis Dressing matrix in N_det basis
`diagonalize_ci_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L157>`_ `diagonalize_ci_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L247>`_
Replace the coefficients of the CI states by the coefficients of the Replace the coefficients of the CI states by the coefficients of the
eigenstates of the CI matrix eigenstates of the CI matrix
@ -111,7 +111,7 @@ Documentation
Assume N_int is already provided. Assume N_int is already provided.
`h_matrix_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L50>`_ `h_matrix_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L140>`_
Dressed H with Delta_ij Dressed H with Delta_ij
@ -123,11 +123,15 @@ Documentation
H_jj : array of <j|H|j> H_jj : array of <j|H|j>
`lambda_mrcc <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L1>`_ `lambda_mrcc <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L5>`_
cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m) cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
`lambda_pert <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L2>`_ `lambda_mrcc_tmp <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L81>`_
Undocumented
`lambda_pert <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L6>`_
cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m) cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
@ -143,6 +147,14 @@ Documentation
Undocumented Undocumented
`oscillations <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L86>`_
Undocumented
`pert_determinants <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_utils.irp.f#L1>`_
Undocumented
`psi_ref_lock <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_dress.irp.f#L3>`_ `psi_ref_lock <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_dress.irp.f#L3>`_
Locks on ref determinants to fill delta_ij Locks on ref determinants to fill delta_ij
@ -151,6 +163,795 @@ Documentation
Undocumented Undocumented
`set_generators_bitmasks_as_holes_and_particles <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_general.irp.f#L39>`_ `set_generators_bitmasks_as_holes_and_particles <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC_Utils/mrcc_general.irp.f#L69>`_
Undocumented Undocumented
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation>`_
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full>`_
* `Psiref_Utils <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`a_coef <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L252>`_
Undocumented
`abort_all <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/abort.irp.f#L1>`_
If True, all the calculation is aborted
`abort_here <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/abort.irp.f#L11>`_
If True, all the calculation is aborted
`add_poly <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L306>`_
Add two polynomials
D(t) =! D(t) +( B(t)+C(t))
`add_poly_multiply <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L334>`_
Add a polynomial multiplied by a constant
D(t) =! D(t) +( cst * B(t))
`align_double <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L48>`_
Compute 1st dimension such that it is aligned for vectorization.
`apply_rotation <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L168>`_
Apply the rotation found by find_rotation
`approx_dble <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L380>`_
Undocumented
`b_coef <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L257>`_
Undocumented
`binom <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L31>`_
Binomial coefficients
`binom_func <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L1>`_
.. math ::
.br
\frac{i!}{j!(i-j)!}
.br
`binom_transp <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L32>`_
Binomial coefficients
`catch_signal <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/abort.irp.f#L30>`_
What to do on Ctrl-C. If two Ctrl-C are pressed within 1 sec, the calculation if aborted.
`ci_eigenvectors_dressed <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L166>`_
Eigenvectors/values of the CI matrix
`ci_eigenvectors_s2_dressed <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L167>`_
Eigenvectors/values of the CI matrix
`ci_electronic_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L165>`_
Eigenvectors/values of the CI matrix
`ci_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L232>`_
N_states lowest eigenvalues of the dressed CI matrix
`davidson_diag_hjj_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/davidson.irp.f#L56>`_
Davidson diagonalization with specific diagonal elements of the H matrix
.br
H_jj : specific diagonal H matrix elements to diagonalize de Davidson
.br
dets_in : bitmasks corresponding to determinants
.br
u_in : guess coefficients on the various states. Overwritten
on exit
.br
dim_in : leftmost dimension of u_in
.br
sze : Number of determinants
.br
N_st : Number of eigenstates
.br
iunit : Unit for the I/O
.br
Initial guess vectors are not necessarily orthonormal
`davidson_diag_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/davidson.irp.f#L1>`_
Davidson diagonalization.
.br
dets_in : bitmasks corresponding to determinants
.br
u_in : guess coefficients on the various states. Overwritten
on exit
.br
dim_in : leftmost dimension of u_in
.br
sze : Number of determinants
.br
N_st : Number of eigenstates
.br
iunit : Unit number for the I/O
.br
Initial guess vectors are not necessarily orthonormal
`dble_fact <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L138>`_
Undocumented
`dble_fact_even <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L155>`_
n!!
`dble_fact_odd <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L176>`_
n!!
`dble_logfact <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L210>`_
n!!
`ddfact2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L243>`_
Undocumented
`delta_ii <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L104>`_
Dressing matrix in N_det basis
`delta_ij <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L103>`_
Dressing matrix in N_det basis
`diagonalize_ci_dressed <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L247>`_
Replace the coefficients of the CI states by the coefficients of the
eigenstates of the CI matrix
`dset_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_216#L27>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`dset_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L94>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`dsort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L339>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`erf0 <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L105>`_
Undocumented
`f_integral <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L408>`_
function that calculates the following integral
\int_{\-infty}^{+\infty} x^n \exp(-p x^2) dx
`fact <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L63>`_
n!
`fact_inv <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L125>`_
1/n!
`find_rotation <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L149>`_
Find A.C = B
`find_triples_and_quadruples <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L206>`_
Undocumented
`gammln <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L271>`_
Undocumented
`gammp <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L133>`_
Undocumented
`gaussian_product <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L184>`_
Gaussian product in 1D.
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
`gaussian_product_x <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L226>`_
Gaussian product in 1D.
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
`gcf <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L211>`_
Undocumented
`get_pseudo_inverse <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L95>`_
Find C = A^-1
`give_explicit_poly_and_gaussian <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L46>`_
Transforms the product of
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
into
fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 )
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
`give_explicit_poly_and_gaussian_double <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L122>`_
Transforms the product of
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3)
exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta) exp(-(r-Nucl_center)^2 gama
.br
into
fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 )
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
`give_explicit_poly_and_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L1>`_
Transform the product of
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
into
fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2)
`gser <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L167>`_
Undocumented
`h_apply_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/H_apply.irp.f_shell_27#L422>`_
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.
`h_apply_mrcc_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/H_apply.irp.f_shell_27#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_mrcc_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/H_apply.irp.f_shell_27#L273>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_matrix_dressed <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L140>`_
Dressed H with Delta_ij
`h_u_0_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/davidson.irp.f#L360>`_
Computes v_0 = H|u_0>
.br
n : number of determinants
.br
H_jj : array of <j|H|j>
`heap_dsort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L210>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_dsort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L273>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_i2sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L744>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_i2sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L807>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_i8sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L566>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_i8sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L629>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_isort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L388>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_isort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L451>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L32>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L95>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`hermite <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L540>`_
Hermite polynomial
`i2radix_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_450#L323>`_
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.
`i2set_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_216#L102>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`i2set_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L271>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`i2sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L873>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`i8radix_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_450#L163>`_
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.
`i8radix_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_450#L643>`_
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.
`i8set_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_216#L77>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`i8set_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L212>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`i8sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L695>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_dsort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L180>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_dsort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L61>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_i2sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L714>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_i2sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L238>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_i8sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L536>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_i8sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L179>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_isort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L358>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_isort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L120>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L2>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L2>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`inv_int <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L257>`_
1/i
`iradix_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_450#L3>`_
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.
`iradix_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_450#L483>`_
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.
`iset_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_216#L52>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`iset_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L153>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`isort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L517>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`lambda_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L5>`_
cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
`lambda_mrcc_tmp <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L81>`_
Undocumented
`lambda_pert <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L6>`_
cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
`lapack_diag <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L247>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`lapack_diag_s2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L310>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`lapack_diagd <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L180>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`lapack_partial_diag <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L376>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`logfact <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L93>`_
n!
`mrcc_dress <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L15>`_
Undocumented
`mrcc_dress_simple <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L160>`_
Undocumented
`mrcc_iterations <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_general.irp.f#L7>`_
Undocumented
`multiply_poly <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L264>`_
Multiply two polynomials
D(t) =! D(t) +( B(t)*C(t))
`normalize <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L356>`_
Normalizes vector u
u is expected to be aligned in memory.
`nproc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L283>`_
Number of current OpenMP threads
`ortho_lowdin <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L1>`_
Compute C_new=C_old.S^-1/2 canonical orthogonalization.
.br
overlap : overlap matrix
.br
LDA : leftmost dimension of overlap array
.br
N : Overlap matrix is NxN (array is (LDA,N) )
.br
C : Coefficients of the vectors to orthogonalize. On exit,
orthogonal vectors
.br
LDC : leftmost dimension of C
.br
m : Coefficients matrix is MxN, ( array is (LDC,N) )
.br
`oscillations <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L86>`_
Undocumented
`overlap_a_b_c <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/one_e_integration.irp.f#L35>`_
Undocumented
`overlap_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/one_e_integration.irp.f#L1>`_
.. math::
.br
\sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx
.br
`overlap_gaussian_xyz <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/one_e_integration.irp.f#L113>`_
.. math::
.br
S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\
S = S_x S_y S_z
.br
`overlap_x_abs <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/one_e_integration.irp.f#L175>`_
.. math ::
.br
\int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx
.br
`pert_determinants <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_utils.irp.f#L1>`_
Undocumented
`progress_active <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L29>`_
Current status for displaying progress bars. Global variable.
`progress_bar <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L27>`_
Current status for displaying progress bars. Global variable.
`progress_timeout <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L28>`_
Current status for displaying progress bars. Global variable.
`progress_title <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L31>`_
Current status for displaying progress bars. Global variable.
`progress_value <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L30>`_
Current status for displaying progress bars. Global variable.
`psi_ref_lock <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L3>`_
Locks on ref determinants to fill delta_ij
`recentered_poly2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L363>`_
Recenter two polynomials
`rint <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L436>`_
.. math::
.br
\int_0^1 dx \exp(-p x^2) x^n
.br
`rint1 <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L596>`_
Standard version of rint
`rint_large_n <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L565>`_
Version of rint for large values of n
`rint_sum <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/integration.irp.f#L484>`_
Needed for the calculation of two-electron integrals.
`rinteg <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L47>`_
Undocumented
`rintgauss <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L31>`_
Undocumented
`run_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_general.irp.f#L1>`_
Undocumented
`run_progress <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L45>`_
Display a progress bar with documentation of what is happening
`sabpartial <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/need.irp.f#L2>`_
Undocumented
`set_generators_bitmasks_as_holes_and_particles <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_general.irp.f#L69>`_
Undocumented
`set_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_216#L2>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`set_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_283#L35>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`set_zero_extra_diag <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L433>`_
Undocumented
`sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/sort.irp.f_template_184#L161>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`start_progress <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L1>`_
Starts the progress bar
`stop_progress <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/progress.irp.f#L19>`_
Stop the progress bar
`trap_signals <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/abort.irp.f#L19>`_
What to do when a signal is caught. Here, trap Ctrl-C and call the control_C subroutine.
`u_dot_u <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L325>`_
Compute <u|u>
`u_dot_v <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L299>`_
Compute <u|v>
`wall_time <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L268>`_
The equivalent of cpu_time, but for the wall time.
`write_git_log <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/util.irp.f#L243>`_
Write the last git commit in file iunit.

View File

@ -10,11 +10,14 @@ subroutine mrcc_iterations
integer :: i,j integer :: i,j
double precision :: E_new, E_old, delta_e double precision :: E_new, E_old, delta_e
integer :: iteration integer :: iteration,i_oscillations
double precision :: E_past(4)
E_new = 0.d0 E_new = 0.d0
delta_E = 1.d0 delta_E = 1.d0
iteration = 0 iteration = 0
do while (delta_E > 100.d0*davidson_threshold) j = 1
i_oscillations = 0
do while (delta_E > 1.d-7)
iteration += 1 iteration += 1
print *, '===========================' print *, '==========================='
print *, 'MRCC Iteration', iteration print *, 'MRCC Iteration', iteration
@ -25,10 +28,37 @@ subroutine mrcc_iterations
call diagonalize_ci_dressed call diagonalize_ci_dressed
E_new = sum(ci_energy_dressed) E_new = sum(ci_energy_dressed)
delta_E = dabs(E_new - E_old) delta_E = dabs(E_new - E_old)
if (iteration > 20) then
exit E_past(j) = E_new
j +=1
if(j>4)then
j=1
endif
if(iteration > 4) then
if(delta_E > 1.d-10)then
if(dabs(E_past(1) - E_past(3)) .le. delta_E .and. dabs(E_past(2) - E_past(4)).le. delta_E)then
print*,'OSCILLATIONS !!!'
oscillations = .True.
i_oscillations +=1
lambda_mrcc_tmp = lambda_mrcc
endif
endif
endif endif
call save_wavefunction call save_wavefunction
! if (i_oscillations > 5) then
! exit
! endif
if (iteration > 200) then
exit
endif
print*,'------------'
print*,'VECTOR'
do i = 1, N_det_ref
print*,''
print*,'psi_ref_coef(i,1) = ',psi_ref_coef(i,1)
print*,'delta_ii(i,1) = ',delta_ii(i,1)
enddo
print*,'------------'
enddo enddo
call write_double(6,ci_energy_dressed(1),"Final MRCC energy") call write_double(6,ci_energy_dressed(1),"Final MRCC energy")
call ezfio_set_mrcc_cassd_energy(ci_energy_dressed(1)) call ezfio_set_mrcc_cassd_energy(ci_energy_dressed(1))

View File

@ -1,29 +1,94 @@
BEGIN_PROVIDER [integer, pert_determinants, (N_states, psi_det_size) ]
END_PROVIDER
BEGIN_PROVIDER [ double precision, lambda_mrcc, (N_states,psi_det_size) ] BEGIN_PROVIDER [ double precision, lambda_mrcc, (N_states,psi_det_size) ]
&BEGIN_PROVIDER [ double precision, lambda_pert, (N_states,psi_det_size) ] &BEGIN_PROVIDER [ double precision, lambda_pert, (N_states,psi_det_size) ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m) ! cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
END_DOC END_DOC
integer :: i,k integer :: i,k,j
double precision :: ihpsi(N_states), hii double precision :: ihpsi(N_states), hii,delta_e_eff,ihpsi_current(N_states),hij
integer :: i_ok,i_pert,i_pert_count
i_ok = 0
double precision :: phase_restart(N_states),tmp
do k = 1, N_states
phase_restart(k) = dsign(1.d0,psi_ref_coef_restart(1,k)/psi_ref_coef(1,k))
enddo
i_pert_count = 0
do i=1,N_det_non_ref do i=1,N_det_non_ref
call i_h_psi(psi_non_ref(1,1,i), psi_ref, psi_ref_coef, N_int, N_det_ref,& call i_h_psi(psi_non_ref(1,1,i), psi_ref_restart, psi_ref_coef_restart, N_int, N_det_ref,&
size(psi_ref_coef,1), n_states, ihpsi) size(psi_ref_coef_restart,1), n_states, ihpsi)
call i_h_j(psi_non_ref(1,1,i),psi_non_ref(1,1,i),N_int,hii) call i_H_j(psi_non_ref(1,1,i),psi_non_ref(1,1,i),N_int,hii)
do k=1,N_states do k=1,N_states
lambda_pert(k,i) = 1.d0 / (psi_ref_energy_diagonalized(k)-hii) lambda_pert(k,i) = 1.d0 / (psi_ref_energy_diagonalized(k)-hii)
if (dabs(ihpsi(k)).le.1.d-3) then call i_h_psi(psi_non_ref(1,1,i), psi_ref, psi_ref_coef, N_int, N_det_ref,size(psi_ref_coef,1), n_states, ihpsi_current)
tmp = psi_non_ref_coef(i,k)/ihpsi_current(k)
i_pert = 1
if((ihpsi(k) * lambda_pert(k,i))/psi_non_ref_coef_restart(i,k) .ge. 0.5d0 &
.and. (ihpsi(k) * lambda_pert(k,i))/psi_non_ref_coef_restart(i,k) > 0.d0 )then ! test on the first order coefficient
i_pert = 0
endif
do j = 1, N_det_ref
call i_H_j(psi_non_ref(1,1,i),psi_ref(1,1,j),N_int,hij)
if(dabs(hij * tmp).ge.0.5d0)then
i_pert_count +=1
i_pert = 1
exit
endif
enddo
if( i_pert == 1)then
pert_determinants(k,i) = i_pert
endif
if(pert_determinants(k,i) == 1)then
i_ok +=1
lambda_mrcc(k,i) = lambda_pert(k,i) lambda_mrcc(k,i) = lambda_pert(k,i)
else else
lambda_mrcc(k,i) = psi_non_ref_coef(i,k)/ihpsi(k) lambda_mrcc(k,i) = psi_non_ref_coef(i,k)/ihpsi_current(k)
endif endif
enddo enddo
enddo enddo
!if(oscillations)then
! print*,'AVERAGING the lambda_mrcc with those of the previous iterations'
! do i = 1, N_det_non_ref
! do k = 1, N_states
! double precision :: tmp
! tmp = lambda_mrcc(k,i)
! lambda_mrcc(k,i) += lambda_mrcc_tmp(k,i)
! lambda_mrcc(k,i) = lambda_mrcc(k,i) * 0.5d0
! if(dabs(tmp - lambda_mrcc(k,i)).ge.1.d-9)then
! print*,''
! print*,'i = ',i
! print*,'psi_non_ref_coef(i,k) = ',psi_non_ref_coef(i,k)
! print*,'lambda_mrcc(k,i) = ',lambda_mrcc(k,i)
! print*,' tmp = ',tmp
! endif
! enddo
! enddo
!endif
print*,'N_det_non_ref = ',N_det_non_ref
print*,'Number of Perturbatively treated determinants = ',i_ok
print*,'i_pert_count = ',i_pert_count
print*,'psi_coef_ref_ratio = ',psi_ref_coef(2,1)/psi_ref_coef(1,1)
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, lambda_mrcc_tmp, (N_states,psi_det_size) ]
implicit none
lambda_mrcc_tmp = 0.d0
END_PROVIDER
BEGIN_PROVIDER [ logical, oscillations ]
implicit none
oscillations = .False.
END_PROVIDER
!BEGIN_PROVIDER [ double precision, delta_ij_non_ref, (N_det_non_ref, N_det_non_ref,N_states) ] !BEGIN_PROVIDER [ double precision, delta_ij_non_ref, (N_det_non_ref, N_det_non_ref,N_states) ]
@ -45,6 +110,31 @@ END_PROVIDER
delta_ij = 0.d0 delta_ij = 0.d0
delta_ii = 0.d0 delta_ii = 0.d0
call H_apply_mrcc(delta_ij,delta_ii,N_det_ref,N_det_non_ref) call H_apply_mrcc(delta_ij,delta_ii,N_det_ref,N_det_non_ref)
double precision :: max_delta
double precision :: accu
integer :: imax,jmax
max_delta = 0.d0
accu = 0.d0
do i = 1, N_det_ref
do j = 1, N_det_non_ref
accu += psi_non_ref_coef(j,1) * psi_ref_coef(i,1) * delta_ij(i,j,1)
if(dabs(delta_ij(i,j,1)).gt.max_delta)then
max_delta = dabs(delta_ij(i,j,1))
imax = i
jmax = j
endif
enddo
enddo
print*,''
print*,''
print*,'<psi| Delta H |psi> = ',accu
print*,'MAX VAL OF DRESING = ',delta_ij(imax,jmax,1)
print*,'imax,jmax = ',imax,jmax
print*,'psi_ref_coef(imax,1) = ',psi_ref_coef(imax,1)
print*,'psi_non_ref_coef(jmax,1) = ',psi_non_ref_coef(jmax,1)
do i = 1, N_det_ref
print*,'delta_ii(i,1) = ',delta_ii(i,1)
enddo
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, h_matrix_dressed, (N_det,N_det,N_states) ] BEGIN_PROVIDER [ double precision, h_matrix_dressed, (N_det,N_det,N_states) ]

View File

@ -67,115 +67,137 @@ Assumptions
pt2_.... pt2_....
Documentation Needed Modules
============= ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
`do_pt2_end <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/ezfio_interface.irp.f#L6>`_ .. image:: tree_dependency.png
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`do_pt2_end <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/ezfio_interface.irp.f#L6>`_
If true, compute the PT2 at the end of the selection If true, compute the PT2 at the end of the selection
`fill_h_apply_buffer_selection <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/selection.irp.f#L1>`_ `fill_h_apply_buffer_selection <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L1>`_
Fill the H_apply buffer with determiants for the selection Fill the H_apply buffer with determiants for the selection
`max_exc_pert <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/exc_max.irp.f#L1>`_ `max_exc_pert <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/exc_max.irp.f#L1>`_
Undocumented Undocumented
`perturb_buffer_by_mono_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L791>`_ `perturb_buffer_by_mono_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L791>`_
Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L686>`_ `perturb_buffer_by_mono_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L686>`_
Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L476>`_ `perturb_buffer_by_mono_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L476>`_
Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L581>`_ `perturb_buffer_by_mono_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L581>`_
Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L371>`_ `perturb_buffer_by_mono_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L371>`_
Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L266>`_ `perturb_buffer_by_mono_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L266>`_
Applly pertubration ``epstein_nesbet_sc2_no_projected`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_sc2_no_projected`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L161>`_ `perturb_buffer_by_mono_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L161>`_
Applly pertubration ``epstein_nesbet_sc2_projected`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_sc2_projected`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L56>`_ `perturb_buffer_by_mono_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L56>`_
Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L896>`_ `perturb_buffer_by_mono_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L896>`_
Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L740>`_ `perturb_buffer_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L740>`_
Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L635>`_ `perturb_buffer_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L635>`_
Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L425>`_ `perturb_buffer_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L425>`_
Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L530>`_ `perturb_buffer_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L530>`_
Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L320>`_ `perturb_buffer_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L320>`_
Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L215>`_ `perturb_buffer_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L215>`_
Applly pertubration ``epstein_nesbet_sc2_no_projected`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_sc2_no_projected`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L110>`_ `perturb_buffer_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L110>`_
Applly pertubration ``epstein_nesbet_sc2_projected`` to the buffer of determinants generated in the H_apply Applly pertubration ``epstein_nesbet_sc2_projected`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L5>`_ `perturb_buffer_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L5>`_
Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L845>`_ `perturb_buffer_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L845>`_
Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply
routine. routine.
`pt2_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/delta_rho_perturbation.irp.f#L1>`_ `pt2_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/delta_rho_perturbation.irp.f#L1>`_
compute the perturbatibe contribution to the Integrated Spin density at z = z_one point of one determinant compute the perturbatibe contribution to the Integrated Spin density at z = z_one point of one determinant
.br .br
for the various n_st states, at various level of theory. for the various n_st states, at various level of theory.
@ -196,7 +218,7 @@ Documentation
.br .br
`pt2_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/dipole_moment.irp.f#L1>`_ `pt2_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/dipole_moment.irp.f#L1>`_
compute the perturbatibe contribution to the dipole moment of one determinant compute the perturbatibe contribution to the dipole moment of one determinant
.br .br
for the various n_st states, at various level of theory. for the various n_st states, at various level of theory.
@ -217,7 +239,7 @@ Documentation
.br .br
`pt2_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/epstein_nesbet.irp.f#L1>`_ `pt2_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/epstein_nesbet.irp.f#L1>`_
compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
.br .br
for the various N_st states. for the various N_st states.
@ -228,7 +250,7 @@ Documentation
.br .br
`pt2_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/epstein_nesbet.irp.f#L45>`_ `pt2_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/epstein_nesbet.irp.f#L45>`_
compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution
.br .br
for the various N_st states. for the various N_st states.
@ -239,7 +261,7 @@ Documentation
.br .br
`pt2_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/pert_sc2.irp.f#L186>`_ `pt2_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pert_sc2.irp.f#L186>`_
compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
.br .br
for the various N_st states, but with the CISD_SC2 energies and coefficients for the various N_st states, but with the CISD_SC2 energies and coefficients
@ -250,7 +272,7 @@ Documentation
.br .br
`pt2_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/pert_sc2.irp.f#L87>`_ `pt2_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pert_sc2.irp.f#L87>`_
compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
.br .br
for the various N_st states, for the various N_st states,
@ -274,7 +296,7 @@ Documentation
H_pert_diag = <HF|H|det_pert> c_pert H_pert_diag = <HF|H|det_pert> c_pert
`pt2_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/pert_sc2.irp.f#L2>`_ `pt2_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pert_sc2.irp.f#L2>`_
compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
.br .br
for the various N_st states, for the various N_st states,
@ -298,7 +320,7 @@ Documentation
H_pert_diag = <HF|H|det_pert> c_pert H_pert_diag = <HF|H|det_pert> c_pert
`pt2_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/pert_single.irp.f#L1>`_ `pt2_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pert_single.irp.f#L1>`_
compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
.br .br
for the various N_st states. for the various N_st states.
@ -309,12 +331,12 @@ Documentation
.br .br
`pt2_max <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/ezfio_interface.irp.f#L28>`_ `pt2_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/ezfio_interface.irp.f#L28>`_
The selection process stops when the largest PT2 (for all the state) is lower The selection process stops when the largest PT2 (for all the state) is lower
than pt2_max in absolute value than pt2_max in absolute value
`pt2_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/Moller_plesset.irp.f#L1>`_ `pt2_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/Moller_plesset.irp.f#L1>`_
compute the standard Moller-Plesset perturbative first order coefficient and second order energetic contribution compute the standard Moller-Plesset perturbative first order coefficient and second order energetic contribution
.br .br
for the various n_st states. for the various n_st states.
@ -325,39 +347,28 @@ Documentation
.br .br
`remove_small_contributions <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/selection.irp.f#L87>`_ `remove_small_contributions <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L87>`_
Remove determinants with small contributions. N_states is assumed to be Remove determinants with small contributions. N_states is assumed to be
provided. provided.
`repeat_all_e_corr <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/pert_sc2.irp.f#L156>`_ `repeat_all_e_corr <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pert_sc2.irp.f#L156>`_
Undocumented Undocumented
`selection_criterion <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/selection.irp.f#L74>`_ `selection_criterion <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L74>`_
Threshold to select determinants. Set by selection routines. Threshold to select determinants. Set by selection routines.
`selection_criterion_factor <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/selection.irp.f#L76>`_ `selection_criterion_factor <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L76>`_
Threshold to select determinants. Set by selection routines. Threshold to select determinants. Set by selection routines.
`selection_criterion_min <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/selection.irp.f#L75>`_ `selection_criterion_min <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L75>`_
Threshold to select determinants. Set by selection routines. Threshold to select determinants. Set by selection routines.
`var_pt2_ratio <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/ezfio_interface.irp.f#L51>`_ `var_pt2_ratio <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/ezfio_interface.irp.f#L51>`_
The selection process stops when the energy ratio variational/(variational+PT2) The selection process stops when the energy ratio variational/(variational+PT2)
is equal to var_pt2_ratio is equal to var_pt2_ratio
Needed Modules
==============
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_

View File

@ -2,47 +2,67 @@
Properties Module Properties Module
================= =================
Documentation Needed Modules
============= ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
`ao_integrated_delta_rho_all_points <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L61>`_ .. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`ao_integrated_delta_rho_all_points <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L61>`_
array of the overlap in x,y between the AO function and integrated between [z,z+dz] in the z axis array of the overlap in x,y between the AO function and integrated between [z,z+dz] in the z axis
for all the z points that are given (N_z_pts) for all the z points that are given (N_z_pts)
`ao_integrated_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L130>`_ `ao_integrated_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L130>`_
array of the overlap in x,y between the AO function and integrated between [z,z+dz] in the z axis array of the overlap in x,y between the AO function and integrated between [z,z+dz] in the z axis
for one specific z point for one specific z point
`average_position <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/properties.irp.f#L1>`_ `average_position <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/properties.irp.f#L1>`_
average_position(1) = <psi_det|X|psi_det> average_position(1) = <psi_det|X|psi_det>
average_position(2) = <psi_det|Y|psi_det> average_position(2) = <psi_det|Y|psi_det>
average_position(3) = <psi_det|Z|psi_det> average_position(3) = <psi_det|Z|psi_det>
`average_spread <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/properties.irp.f#L27>`_ `average_spread <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/properties.irp.f#L27>`_
average_spread(1) = <psi_det|X^2|psi_det> average_spread(1) = <psi_det|X^2|psi_det>
average_spread(2) = <psi_det|Y^2|psi_det> average_spread(2) = <psi_det|Y^2|psi_det>
average_spread(3) = <psi_det|Z^2|psi_det> average_spread(3) = <psi_det|Z^2|psi_det>
`delta_z <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L4>`_ `delta_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L4>`_
Undocumented Undocumented
`diag_o1_mat_elem <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/slater_rules_mono_electronic.irp.f#L91>`_ `diag_o1_mat_elem <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/slater_rules_mono_electronic.irp.f#L91>`_
Computes <i|O1|i> Computes <i|O1|i>
`diag_o1_mat_elem_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/slater_rules_mono_electronic.irp.f#L210>`_ `diag_o1_mat_elem_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/slater_rules_mono_electronic.irp.f#L210>`_
Computes <i|O1(alpha) -O1(beta)|i> Computes <i|O1(alpha) -O1(beta)|i>
`filter_connected_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/slater_rules_mono_electronic.irp.f#L240>`_ `filter_connected_mono <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/slater_rules_mono_electronic.irp.f#L240>`_
Filters out the determinants that are not connected through PURE Filters out the determinants that are not connected through PURE
.br .br
MONO EXCITATIONS OPERATORS (a^{\dagger}j a_i) MONO EXCITATIONS OPERATORS (a^{\dagger}j a_i)
@ -56,99 +76,89 @@ Documentation
idx(0) is the number of determinants that interact with key1 idx(0) is the number of determinants that interact with key1
`get_average <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/average.irp.f#L1>`_ `get_average <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/average.irp.f#L1>`_
computes the average value of a pure MONO ELECTRONIC OPERATOR computes the average value of a pure MONO ELECTRONIC OPERATOR
whom integrals on the MO basis are stored in "array" whom integrals on the MO basis are stored in "array"
and with the density is stored in "density" and with the density is stored in "density"
`i_o1_j <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/slater_rules_mono_electronic.irp.f#L1>`_ `i_o1_j <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/slater_rules_mono_electronic.irp.f#L1>`_
Returns <i|O1|j> where i and j are determinants Returns <i|O1|j> where i and j are determinants
and O1 is a ONE BODY OPERATOR and O1 is a ONE BODY OPERATOR
array is the array of the mono electronic operator array is the array of the mono electronic operator
on the MO basis on the MO basis
`i_o1_j_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/slater_rules_mono_electronic.irp.f#L158>`_ `i_o1_j_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/slater_rules_mono_electronic.irp.f#L158>`_
Returns <i|O1(alpha) - O1(beta)|j> where i and j are determinants Returns <i|O1(alpha) - O1(beta)|j> where i and j are determinants
and O1 is a ONE BODY OPERATOR and O1 is a ONE BODY OPERATOR
array is the array of the mono electronic operator array is the array of the mono electronic operator
on the MO basis on the MO basis
`i_o1_psi <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/slater_rules_mono_electronic.irp.f#L52>`_ `i_o1_psi <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/slater_rules_mono_electronic.irp.f#L52>`_
<key|O1|psi> for the various Nstates <key|O1|psi> for the various Nstates
and O1 is a ONE BODY OPERATOR and O1 is a ONE BODY OPERATOR
array is the array of the mono electronic operator array is the array of the mono electronic operator
on the MO basis on the MO basis
`i_o1_psi_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/slater_rules_mono_electronic.irp.f#L119>`_ `i_o1_psi_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/slater_rules_mono_electronic.irp.f#L119>`_
<key|O1(alpha) - O1(beta)|psi> for the various Nstates <key|O1(alpha) - O1(beta)|psi> for the various Nstates
and O1 is a ONE BODY OPERATOR and O1 is a ONE BODY OPERATOR
array is the array of the mono electronic operator array is the array of the mono electronic operator
on the MO basis on the MO basis
`i_unit_integrated_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L118>`_ `i_unit_integrated_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L118>`_
fortran unit for the writing of the integrated delta_rho fortran unit for the writing of the integrated delta_rho
`integrated_delta_rho_all_points <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L15>`_ `integrated_delta_rho_all_points <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L15>`_
.br .br
integrated_rho(alpha,z) - integrated_rho(beta,z) for all the z points integrated_rho(alpha,z) - integrated_rho(beta,z) for all the z points
chosen chosen
.br .br
`integrated_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L212>`_ `integrated_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L212>`_
.br .br
integral (x,y) and (z,z+delta_z) of rho(alpha) - rho(beta) integral (x,y) and (z,z+delta_z) of rho(alpha) - rho(beta)
on the MO basis on the MO basis
.br .br
`mo_integrated_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L184>`_ `mo_integrated_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L184>`_
.br .br
array of the integrals needed of integrated_rho(alpha,z) - integrated_rho(beta,z) for z = z_one_point array of the integrals needed of integrated_rho(alpha,z) - integrated_rho(beta,z) for z = z_one_point
on the MO basis on the MO basis
.br .br
`n_z_pts <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L1>`_ `n_z_pts <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L1>`_
Undocumented Undocumented
`test_average_value <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/routines_test.irp.f#L3>`_ `test_average_value <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/routines_test.irp.f#L3>`_
Undocumented Undocumented
`test_average_value_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/routines_test.irp.f#L25>`_ `test_average_value_alpha_beta <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/routines_test.irp.f#L25>`_
Undocumented Undocumented
`test_dm <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/routines_test.irp.f#L56>`_ `test_dm <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/routines_test.irp.f#L56>`_
Undocumented Undocumented
`z_max <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L3>`_ `z_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L3>`_
Undocumented Undocumented
`z_min <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/delta_rho.irp.f#L2>`_ `z_min <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/delta_rho.irp.f#L2>`_
Undocumented Undocumented
`z_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Properties/ezfio_interface.irp.f#L6>`_ `z_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties/ezfio_interface.irp.f#L6>`_
z point on which the integrated delta rho is calculated z point on which the integrated delta rho is calculated
Needed Modules
==============
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_

View File

@ -31,6 +31,14 @@ Documentation
CAS wave function, defined from the application of the CAS bitmask on the 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. determinants. idx_cas gives the indice of the CAS determinant in psi_det.
`psi_ref_coef_restart <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_CAS/psi_ref.irp.f#L30>`_
Projection of the CAS wave function on the restart wave function.
`psi_ref_restart <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_CAS/psi_ref.irp.f#L29>`_
Projection of the CAS wave function on the restart wave function.
Needed Modules Needed Modules
============== ==============
@ -41,3 +49,46 @@ Needed Modules
* `Psiref_Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils>`_ * `Psiref_Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Psiref_Utils <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`idx_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS/psi_ref.irp.f#L5>`_
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.
`n_det_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS/psi_ref.irp.f#L6>`_
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.
`psi_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS/psi_ref.irp.f#L3>`_
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.
`psi_ref_coef <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS/psi_ref.irp.f#L4>`_
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.
`psi_ref_coef_restart <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS/psi_ref.irp.f#L30>`_
Projection of the CAS wave function on the restart wave function.
`psi_ref_restart <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS/psi_ref.irp.f#L29>`_
Projection of the CAS wave function on the restart wave function.

View File

@ -26,3 +26,29 @@ use bitmasks
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ integer(bit_kind), psi_ref_restart, (N_int,2,psi_det_size) ]
&BEGIN_PROVIDER [ double precision, psi_ref_coef_restart, (psi_det_size,n_states) ]
implicit none
BEGIN_DOC
! Projection of the CAS wave function on the restart wave function.
END_DOC
integer :: i,j,k
integer, save :: ifirst
if(ifirst == 0)then
ifirst = 1
do i=1,N_det_ref
do k=1,N_int
psi_ref_restart(k,1,i) = psi_cas(k,1,i)
psi_ref_restart(k,2,i) = psi_cas(k,2,i)
enddo
enddo
do k=1,N_states
do i=1,N_det_ref
psi_ref_coef_restart(i,k) = psi_cas_coef(i,k)
enddo
enddo
endif
END_PROVIDER

View File

@ -13,11 +13,11 @@ Documentation
.. Do not edit this section. It was auto-generated from the .. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`get_index_in_psi_ref_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L140>`_ `get_index_in_psi_ref_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L182>`_
Returns the index of the determinant in the ``psi_ref_sorted_bit`` array Returns the index of the determinant in the ``psi_ref_sorted_bit`` array
`h_matrix_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L74>`_ `h_matrix_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L116>`_
Undocumented Undocumented
@ -42,7 +42,7 @@ Documentation
idx_non_ref_rev gives the reverse. idx_non_ref_rev gives the reverse.
`is_in_psi_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L126>`_ `is_in_psi_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L168>`_
True if the determinant ``det`` is in the wave function True if the determinant ``det`` is in the wave function
@ -60,7 +60,7 @@ Documentation
been done going from psi_ref to psi_non_ref been done going from psi_ref to psi_non_ref
`psi_coef_ref_diagonalized <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L86>`_ `psi_coef_ref_diagonalized <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L128>`_
Undocumented Undocumented
@ -78,12 +78,26 @@ Documentation
idx_non_ref_rev gives the reverse. idx_non_ref_rev gives the reverse.
`psi_non_ref_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L62>`_ `psi_non_ref_coef_restart <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L62>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
But this is with respect to the restart wave function.
`psi_non_ref_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L104>`_
Reference determinants sorted to accelerate the search of a random determinant in the wave Reference determinants sorted to accelerate the search of a random determinant in the wave
function. function.
`psi_non_ref_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L61>`_ `psi_non_ref_restart <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L61>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
But this is with respect to the restart wave function.
`psi_non_ref_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L103>`_
Reference determinants sorted to accelerate the search of a random determinant in the wave Reference determinants sorted to accelerate the search of a random determinant in the wave
function. function.
@ -93,11 +107,11 @@ Documentation
function. function.
`psi_ref_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L105>`_ `psi_ref_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L147>`_
Undocumented Undocumented
`psi_ref_energy_diagonalized <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L87>`_ `psi_ref_energy_diagonalized <http://github.com/LCPQ/quantum_package/tree/master/src/Psiref_Utils/psi_ref_utils.irp.f#L129>`_
Undocumented Undocumented
@ -105,3 +119,740 @@ Documentation
Reference determinants sorted to accelerate the search of a random determinant in the wave Reference determinants sorted to accelerate the search of a random determinant in the wave
function. function.
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`a_coef <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L252>`_
Undocumented
`abort_all <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/abort.irp.f#L1>`_
If True, all the calculation is aborted
`abort_here <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/abort.irp.f#L11>`_
If True, all the calculation is aborted
`add_poly <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L306>`_
Add two polynomials
D(t) =! D(t) +( B(t)+C(t))
`add_poly_multiply <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L334>`_
Add a polynomial multiplied by a constant
D(t) =! D(t) +( cst * B(t))
`align_double <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L48>`_
Compute 1st dimension such that it is aligned for vectorization.
`apply_rotation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L168>`_
Apply the rotation found by find_rotation
`approx_dble <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L380>`_
Undocumented
`b_coef <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L257>`_
Undocumented
`binom <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L31>`_
Binomial coefficients
`binom_func <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L1>`_
.. math ::
.br
\frac{i!}{j!(i-j)!}
.br
`binom_transp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L32>`_
Binomial coefficients
`catch_signal <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/abort.irp.f#L30>`_
What to do on Ctrl-C. If two Ctrl-C are pressed within 1 sec, the calculation if aborted.
`dble_fact <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L138>`_
Undocumented
`dble_fact_even <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L155>`_
n!!
`dble_fact_odd <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L176>`_
n!!
`dble_logfact <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L210>`_
n!!
`ddfact2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L243>`_
Undocumented
`dset_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_216#L27>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`dset_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L94>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`dsort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L339>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`erf0 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L105>`_
Undocumented
`f_integral <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L408>`_
function that calculates the following integral
\int_{\-infty}^{+\infty} x^n \exp(-p x^2) dx
`fact <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L63>`_
n!
`fact_inv <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L125>`_
1/n!
`find_rotation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L149>`_
Find A.C = B
`gammln <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L271>`_
Undocumented
`gammp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L133>`_
Undocumented
`gaussian_product <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L184>`_
Gaussian product in 1D.
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
`gaussian_product_x <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L226>`_
Gaussian product in 1D.
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
`gcf <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L211>`_
Undocumented
`get_index_in_psi_ref_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L182>`_
Returns the index of the determinant in the ``psi_ref_sorted_bit`` array
`get_pseudo_inverse <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L95>`_
Find C = A^-1
`give_explicit_poly_and_gaussian <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L46>`_
Transforms the product of
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
into
fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 )
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
`give_explicit_poly_and_gaussian_double <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L122>`_
Transforms the product of
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3)
exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta) exp(-(r-Nucl_center)^2 gama
.br
into
fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 )
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
`give_explicit_poly_and_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L1>`_
Transform the product of
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
into
fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2)
`gser <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L167>`_
Undocumented
`h_matrix_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L116>`_
Undocumented
`heap_dsort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L210>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_dsort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L273>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_i2sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L744>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_i2sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L807>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_i8sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L566>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_i8sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L629>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_isort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L388>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_isort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L451>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`heap_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L32>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`heap_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L95>`_
Sort array x(isize) using the heap sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`hermite <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L540>`_
Hermite polynomial
`holes_operators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_excitations_operators.irp.f#L3>`_
holes_operators represents an array of integers where all the holes have
been done going from psi_ref to psi_non_ref
particles_operators represents an array of integers where all the particles have
been done going from psi_ref to psi_non_ref
`i2radix_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_450#L323>`_
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.
`i2set_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_216#L102>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`i2set_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L271>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`i2sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L873>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`i8radix_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_450#L163>`_
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.
`i8radix_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_450#L643>`_
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.
`i8set_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_216#L77>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`i8set_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L212>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`i8sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L695>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`idx_non_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L20>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
idx_non_ref_rev gives the reverse.
`idx_non_ref_rev <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L21>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
idx_non_ref_rev gives the reverse.
`insertion_dsort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L180>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_dsort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L61>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_i2sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L714>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_i2sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L238>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_i8sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L536>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_i8sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L179>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_isort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L358>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_isort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L120>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`insertion_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L2>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`insertion_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L2>`_
Sort array x(isize) using the insertion sort algorithm.
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
This is a version for very large arrays where the indices need
to be in integer*8 format
`inv_int <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L257>`_
1/i
`iradix_sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_450#L3>`_
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.
`iradix_sort_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_450#L483>`_
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.
`is_in_psi_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L168>`_
True if the determinant ``det`` is in the wave function
`iset_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_216#L52>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`iset_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L153>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`isort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L517>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`lapack_diag <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L247>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`lapack_diag_s2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L310>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`lapack_diagd <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L180>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`lapack_partial_diag <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L376>`_
Diagonalize matrix H
.br
H is untouched between input and ouptut
.br
eigevalues(i) = ith lowest eigenvalue of the H matrix
.br
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
.br
`logfact <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L93>`_
n!
`multiply_poly <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L264>`_
Multiply two polynomials
D(t) =! D(t) +( B(t)*C(t))
`n_det_non_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L22>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
idx_non_ref_rev gives the reverse.
`normalize <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L356>`_
Normalizes vector u
u is expected to be aligned in memory.
`nproc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L283>`_
Number of current OpenMP threads
`ortho_lowdin <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L1>`_
Compute C_new=C_old.S^-1/2 canonical orthogonalization.
.br
overlap : overlap matrix
.br
LDA : leftmost dimension of overlap array
.br
N : Overlap matrix is NxN (array is (LDA,N) )
.br
C : Coefficients of the vectors to orthogonalize. On exit,
orthogonal vectors
.br
LDC : leftmost dimension of C
.br
m : Coefficients matrix is MxN, ( array is (LDC,N) )
.br
`overlap_a_b_c <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/one_e_integration.irp.f#L35>`_
Undocumented
`overlap_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/one_e_integration.irp.f#L1>`_
.. math::
.br
\sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx
.br
`overlap_gaussian_xyz <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/one_e_integration.irp.f#L113>`_
.. math::
.br
S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\
S = S_x S_y S_z
.br
`overlap_x_abs <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/one_e_integration.irp.f#L175>`_
.. math ::
.br
\int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx
.br
`particles_operators <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_excitations_operators.irp.f#L4>`_
holes_operators represents an array of integers where all the holes have
been done going from psi_ref to psi_non_ref
particles_operators represents an array of integers where all the particles have
been done going from psi_ref to psi_non_ref
`progress_active <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L29>`_
Current status for displaying progress bars. Global variable.
`progress_bar <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L27>`_
Current status for displaying progress bars. Global variable.
`progress_timeout <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L28>`_
Current status for displaying progress bars. Global variable.
`progress_title <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L31>`_
Current status for displaying progress bars. Global variable.
`progress_value <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L30>`_
Current status for displaying progress bars. Global variable.
`psi_coef_ref_diagonalized <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L128>`_
Undocumented
`psi_non_ref <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L18>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
idx_non_ref_rev gives the reverse.
`psi_non_ref_coef <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L19>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
idx_non_ref_rev gives the reverse.
`psi_non_ref_coef_restart <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L62>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
But this is with respect to the restart wave function.
`psi_non_ref_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L104>`_
Reference determinants sorted to accelerate the search of a random determinant in the wave
function.
`psi_non_ref_restart <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L61>`_
Set of determinants which are not part of the reference, defined from the application
of the reference bitmask on the determinants.
idx_non_ref gives the indice of the determinant in psi_det.
But this is with respect to the restart wave function.
`psi_non_ref_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L103>`_
Reference determinants sorted to accelerate the search of a random determinant in the wave
function.
`psi_ref_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L5>`_
Reference determinants sorted to accelerate the search of a random determinant in the wave
function.
`psi_ref_energy <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L147>`_
Undocumented
`psi_ref_energy_diagonalized <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L129>`_
Undocumented
`psi_ref_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/psi_ref_utils.irp.f#L4>`_
Reference determinants sorted to accelerate the search of a random determinant in the wave
function.
`recentered_poly2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L363>`_
Recenter two polynomials
`rint <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L436>`_
.. math::
.br
\int_0^1 dx \exp(-p x^2) x^n
.br
`rint1 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L596>`_
Standard version of rint
`rint_large_n <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L565>`_
Version of rint for large values of n
`rint_sum <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/integration.irp.f#L484>`_
Needed for the calculation of two-electron integrals.
`rinteg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L47>`_
Undocumented
`rintgauss <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L31>`_
Undocumented
`run_progress <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L45>`_
Display a progress bar with documentation of what is happening
`sabpartial <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/need.irp.f#L2>`_
Undocumented
`set_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_216#L2>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
`set_order_big <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_283#L35>`_
array A has already been sorted, and iorder has contains the new order of
elements of A. This subroutine changes the order of x to match the new order of A.
This is a version for very large arrays where the indices need
to be in integer*8 format
`set_zero_extra_diag <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/LinearAlgebra.irp.f#L433>`_
Undocumented
`sort <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/sort.irp.f_template_184#L161>`_
Sort array x(isize).
iorder in input should be (1,2,3,...,isize), and in output
contains the new order of the elements.
`start_progress <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L1>`_
Starts the progress bar
`stop_progress <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/progress.irp.f#L19>`_
Stop the progress bar
`trap_signals <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/abort.irp.f#L19>`_
What to do when a signal is caught. Here, trap Ctrl-C and call the control_C subroutine.
`u_dot_u <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L325>`_
Compute <u|u>
`u_dot_v <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L299>`_
Compute <u|v>
`wall_time <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L268>`_
The equivalent of cpu_time, but for the wall time.
`write_git_log <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_Utils/util.irp.f#L243>`_
Write the last git commit in file iunit.

View File

@ -58,6 +58,48 @@ END_PROVIDER
N_det_non_ref = i_non_ref N_det_non_ref = i_non_ref
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ integer(bit_kind), psi_non_ref_restart, (N_int,2,psi_det_size) ]
&BEGIN_PROVIDER [ double precision, psi_non_ref_coef_restart, (psi_det_size,n_states) ]
implicit none
BEGIN_DOC
! Set of determinants which are not part of the reference, defined from the application
! of the reference bitmask on the determinants.
! idx_non_ref gives the indice of the determinant in psi_det.
! But this is with respect to the restart wave function.
END_DOC
integer :: i_non_ref,j,k
integer :: degree
logical :: in_ref
integer, save :: ifirst = 0
if(ifirst==0)then
ifirst = 1
i_non_ref =0
do k=1,N_det
in_ref = .False.
do j=1,N_det_ref
call get_excitation_degree(psi_ref(1,1,j), psi_det(1,1,k), degree, N_int)
if (degree == 0) then
in_ref = .True.
exit
endif
enddo
if (.not.in_ref) then
double precision :: hij
i_non_ref += 1
do j=1,N_int
psi_non_ref_restart(j,1,i_non_ref) = psi_det(j,1,k)
psi_non_ref_restart(j,2,i_non_ref) = psi_det(j,2,k)
enddo
do j=1,N_states
psi_non_ref_coef_restart(i_non_ref,j) = psi_coef(k,j)
enddo
endif
enddo
endif
END_PROVIDER
BEGIN_PROVIDER [ integer(bit_kind), psi_non_ref_sorted_bit, (N_int,2,psi_det_size) ] BEGIN_PROVIDER [ integer(bit_kind), psi_non_ref_sorted_bit, (N_int,2,psi_det_size) ]
&BEGIN_PROVIDER [ double precision, psi_non_ref_coef_sorted_bit, (psi_det_size,N_states) ] &BEGIN_PROVIDER [ double precision, psi_non_ref_coef_sorted_bit, (psi_det_size,N_states) ]
implicit none implicit none

View File

@ -43,3 +43,44 @@ Needed Modules
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_ * `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`ao_pseudo_grid <http://github.com/LCPQ/quantum_package/tree/master/plugins/QmcChem/pot_ao_pseudo_ints.irp.f#L2>`_
Grid points for f(|r-r_A|) = \int Y_{lm}^{C} (|r-r_C|, \Omega_C) \chi_i^{A} (r-r_A) d\Omega_C
.br
<img src="http://latex.codecogs.com/gif.latex?f(|r-r_A|)&space;=&space;\int&space;Y_{lm}^{C}&space;(|r-r_C|,&space;\Omega_C)&space;\chi_i^{A}&space;(r-r_A)&space;d\Omega_C"
title="f(|r-r_A|) = \int Y_{lm}^{C} (|r-r_C|, \Omega_C) \chi_i^{A} (r-r_A) d\Omega_C" />
`mo_pseudo_grid <http://github.com/LCPQ/quantum_package/tree/master/plugins/QmcChem/pot_ao_pseudo_ints.irp.f#L56>`_
Grid points for f(|r-r_A|) = \int Y_{lm}^{C} (|r-r_C|, \Omega_C) \phi_i^{A} (r-r_A) d\Omega_C
.br
<img src="http://latex.codecogs.com/gif.latex?f(|r-r_A|)&space;=&space;\int&space;Y_{lm}^{C}&space;(|r-r_C|,&space;\Omega_C)&space;\chi_i^{A}&space;(r-r_A)&space;d\Omega_C"
title="f(|r-r_A|) = \int Y_{lm}^{C} (|r-r_C|, \Omega_C) \chi_i^{A} (r-r_A) d\Omega_C" />
`save_for_qmc <http://github.com/LCPQ/quantum_package/tree/master/plugins/QmcChem/save_for_qmcchem.irp.f#L1>`_
Undocumented
`test_pseudo_grid_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/QmcChem/pot_ao_pseudo_ints.irp.f#L111>`_
Undocumented
`write_pseudopotential <http://github.com/LCPQ/quantum_package/tree/master/plugins/QmcChem/pseudo.irp.f#L1>`_
Write the pseudo_potential into the EZFIO file

View File

@ -2,183 +2,10 @@
Selectors_full Module Selectors_full Module
===================== =====================
Documentation
=============
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script.
`coef_hf_selector <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L28>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`delta_e_per_selector <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L33>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`double_index_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L4>`_
degree of excitation respect to Hartree Fock for the wave function
.br
for the all the selectors determinants
.br
double_index_selectors = list of the index of the double excitations
.br
n_double_selectors = number of double excitations in the selectors determinants
`e_corr_double_only <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L34>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`e_corr_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L31>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`e_corr_second_order <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L35>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`exc_degree_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L3>`_
degree of excitation respect to Hartree Fock for the wave function
.br
for the all the selectors determinants
.br
double_index_selectors = list of the index of the double excitations
.br
n_double_selectors = number of double excitations in the selectors determinants
`i_h_hf_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L32>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`inv_selectors_coef_hf <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L29>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`inv_selectors_coef_hf_squared <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L30>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`n_det_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L8>`_
For Single reference wave functions, the number of selectors is 1 : the
Hartree-Fock determinant
`n_double_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L5>`_
degree of excitation respect to Hartree Fock for the wave function
.br
for the all the selectors determinants
.br
double_index_selectors = list of the index of the double excitations
.br
n_double_selectors = number of double excitations in the selectors determinants
`psi_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L30>`_
Determinants on which we apply <i|H|psi> for perturbation.
`psi_selectors_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L64>`_
Determinants on which we apply <i|H|j>.
They are sorted by the 3 highest electrons in the alpha part,
then by the 3 highest electrons in the beta part to accelerate
the research of connected determinants.
`psi_selectors_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L31>`_
Determinants on which we apply <i|H|psi> for perturbation.
`psi_selectors_coef_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L65>`_
Determinants on which we apply <i|H|j>.
They are sorted by the 3 highest electrons in the alpha part,
then by the 3 highest electrons in the beta part to accelerate
the research of connected determinants.
`psi_selectors_diag_h_mat <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L51>`_
Diagonal elements of the H matrix for each selectors
`psi_selectors_next_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L66>`_
Determinants on which we apply <i|H|j>.
They are sorted by the 3 highest electrons in the alpha part,
then by the 3 highest electrons in the beta part to accelerate
the research of connected determinants.
`psi_selectors_size <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L3>`_
Undocumented
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
@ -186,3 +13,187 @@ Needed Modules
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_ * `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_ * `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`coef_hf_selector <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L28>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`delta_e_per_selector <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L33>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`double_index_selectors <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L4>`_
degree of excitation respect to Hartree Fock for the wave function
.br
for the all the selectors determinants
.br
double_index_selectors = list of the index of the double excitations
.br
n_double_selectors = number of double excitations in the selectors determinants
`e_corr_double_only <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L34>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`e_corr_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L31>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`e_corr_second_order <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L35>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`exc_degree_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L3>`_
degree of excitation respect to Hartree Fock for the wave function
.br
for the all the selectors determinants
.br
double_index_selectors = list of the index of the double excitations
.br
n_double_selectors = number of double excitations in the selectors determinants
`i_h_hf_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L32>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`inv_selectors_coef_hf <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L29>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`inv_selectors_coef_hf_squared <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L30>`_
energy of correlation per determinant respect to the Hartree Fock determinant
.br
for the all the double excitations in the selectors determinants
.br
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
.br
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
.br
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
`n_det_selectors <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L8>`_
For Single reference wave functions, the number of selectors is 1 : the
Hartree-Fock determinant
`n_double_selectors <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/e_corr_selectors.irp.f#L5>`_
degree of excitation respect to Hartree Fock for the wave function
.br
for the all the selectors determinants
.br
double_index_selectors = list of the index of the double excitations
.br
n_double_selectors = number of double excitations in the selectors determinants
`psi_selectors <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L30>`_
Determinants on which we apply <i|H|psi> for perturbation.
`psi_selectors_ab <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L64>`_
Determinants on which we apply <i|H|j>.
They are sorted by the 3 highest electrons in the alpha part,
then by the 3 highest electrons in the beta part to accelerate
the research of connected determinants.
`psi_selectors_coef <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L31>`_
Determinants on which we apply <i|H|psi> for perturbation.
`psi_selectors_coef_ab <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L65>`_
Determinants on which we apply <i|H|j>.
They are sorted by the 3 highest electrons in the alpha part,
then by the 3 highest electrons in the beta part to accelerate
the research of connected determinants.
`psi_selectors_diag_h_mat <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L51>`_
Diagonal elements of the H matrix for each selectors
`psi_selectors_next_ab <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L66>`_
Determinants on which we apply <i|H|j>.
They are sorted by the 3 highest electrons in the alpha part,
then by the 3 highest electrons in the beta part to accelerate
the research of connected determinants.
`psi_selectors_size <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full/selectors.irp.f#L3>`_
Undocumented

View File

@ -43,3 +43,41 @@ Needed Modules
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_ * `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod/generators.irp.f#L3>`_
For Single reference wave functions, the number of generators is 1 : the
Hartree-Fock determinant
`psi_coef_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod/generators.irp.f#L13>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`psi_det_generators <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod/generators.irp.f#L12>`_
For Single reference wave functions, the generator is the
Hartree-Fock determinant
`select_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod/generators.irp.f#L41>`_
Memo to skip useless selectors
`size_select_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod/generators.irp.f#L49>`_
Size of select_max

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -23,12 +23,11 @@ except ImportError:
"..", "..",
"..", "..",
"quantum_package.rc")) "quantum_package.rc"))
print """
Error: print "\n".join(["", "Error:", "source %s" % f, ""])
source %s
""" % f
sys.exit(1) sys.exit(1)
# __ # __
# /__ | _ |_ _. | _. ._ o _. |_ | _ _ # /__ | _ |_ _. | _. ._ o _. |_ | _ _
# \_| | (_) |_) (_| | \/ (_| | | (_| |_) | (/_ _> # \_| | (_) |_) (_| | \/ (_| | | (_| |_) | (/_ _>
@ -516,7 +515,7 @@ def ninja_readme_rule():
For not dealted the readme when ninja -t clean and the generator option For not dealted the readme when ninja -t clean and the generator option
""" """
l_string = ["rule build_readme", l_string = ["rule build_readme",
" command = cd $module_abs ; update_README.py $module_root", " command = qp_update_readme.py $module_abs --root_module $module_root",
" description = update_README $module_rel", " description = update_README $module_rel",
" generator = 1", ""] " generator = 1", ""]
@ -552,7 +551,8 @@ def ninja_readme_build(path_module, d_irp, dict_root_path):
# / # /
def get_binaries(path_module): def get_binaries(path_module):
""" """
Return the list of binaries (Path= namedtuple('Path', ['abs', 'rel']) for a module Return the list of binaries
(Path= namedtuple('Path', ['abs', 'rel']) for a module
""" """
import subprocess import subprocess
@ -666,20 +666,26 @@ def ninja_binaries_build(path_module, l_children, d_binaries):
# s t r i n g # # s t r i n g #
# ~#~#~#~#~#~ # # ~#~#~#~#~#~ #
path_readme = os.path.join(path_module.abs, "README.rst")
path_png = os.path.join(path_module.abs, "tree_dependency.png")
l_string = ["build {0}: build_binaries {1} {2}".format(" ".join(l_abs_bin), l_string = ["build {0}: build_binaries {1} {2}".format(" ".join(l_abs_bin),
EZFIO_LIB, EZFIO_LIB,
ninja_module_path), ninja_module_path),
" module_abs = {0}".format(path_module.abs), " module_abs = {0}".format(path_module.abs),
" module_rel = {0}".format(path_module.rel), ""] " module_rel = {0}".format(path_module.rel), ""]
l_string += ["build module_{0}: phony {1} {2} {3}".format(path_module.rel, return l_string
" ".join(l_abs_bin),
path_readme,
path_png def ninja_module_build(path_module, d_binaries):
), ""]
l_abs_bin = [binary.abs for binary in d_binaries[path_module]]
path_readme = os.path.join(path_module.abs, "README.rst")
path_png = os.path.join(path_module.abs, "tree_dependency.png")
l_string = ["build module_{0}: phony {1} {2} {3}".format(path_module.rel,
" ".join(l_abs_bin),
path_readme,
path_png), ""]
return l_string return l_string
@ -723,7 +729,7 @@ def ninja_dot_tree_build(path_module, l_module):
# |\/| _ _| | _ # |\/| _ _| | _
# | | (_) (_| |_| | (/_ # | | (_) (_| |_| | (/_
# #
def create_build_ninja_module(path_module): def save_subninja_file(path_module):
l_string = ["builddir = {0}".format(os.path.dirname(ROOT_BUILD_NINJA)), l_string = ["builddir = {0}".format(os.path.dirname(ROOT_BUILD_NINJA)),
""] ""]
@ -732,17 +738,19 @@ def create_build_ninja_module(path_module):
""] ""]
l_string += ["rule make_local_binaries", l_string += ["rule make_local_binaries",
" command = ninja -f {0} module_{1}".format( " command = ninja -f {0} module_{1}".format(ROOT_BUILD_NINJA, path_module.rel),
ROOT_BUILD_NINJA, path_module.rel), " pool = console", " pool = console",
" description = Compile only {0}".format(path_module.rel), " description = Compile only {0}".format(path_module.rel),
""] ""]
l_string += ["rule make_all_binaries", l_string += ["rule make_all_binaries",
" command = ninja -f {0}".format(ROOT_BUILD_NINJA), " command = ninja -f {0}".format(ROOT_BUILD_NINJA),
" pool = console", " description = Compiling all modules", " pool = console",
" description = Compiling all modules",
""] ""]
l_string += ["rule make_clean", " command = module_handler.py clean {0}".format(path_module.rel), l_string += ["rule make_clean",
" command = module_handler.py clean {0}".format(path_module.rel),
" description = Cleaning module {0}".format(path_module.rel), " description = Cleaning module {0}".format(path_module.rel),
""] ""]
@ -766,7 +774,7 @@ def create_build_ninja_global():
" command = {0} update".format(__file__), " command = {0} update".format(__file__),
""] ""]
l_string += ["rule make_all_binaries", l_string += ["rule make_all",
" command = ninja -f {0}".format(ROOT_BUILD_NINJA), " command = ninja -f {0}".format(ROOT_BUILD_NINJA),
" pool = console", " description = Compiling all modules", " pool = console", " description = Compiling all modules",
""] ""]
@ -777,7 +785,7 @@ def create_build_ninja_global():
l_string += ["build dummy_target: update_build_ninja_root", l_string += ["build dummy_target: update_build_ninja_root",
"", "",
"build all: make_all_binaries dummy_target", "build all: make_all dummy_target",
"default all", "default all",
"", "",
"build clean: make_clean dummy_target", "build clean: make_clean dummy_target",
@ -919,9 +927,6 @@ if __name__ == "__main__":
for module_to_compile in l_module: for module_to_compile in l_module:
if arguments["--development"]:
create_build_ninja_module(module_to_compile)
# ~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~ #
# S y m l i n k # # S y m l i n k #
# ~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~ #
@ -939,8 +944,14 @@ if __name__ == "__main__":
l_string += ninja_binaries_build(module_to_compile, l_children, l_string += ninja_binaries_build(module_to_compile, l_children,
d_binaries) d_binaries)
l_string += ninja_gitignore_build(module_to_compile, d_binaries, if arguments["--development"]:
l_symlink)
l_string += ninja_module_build(module_to_compile, d_binaries)
l_string += ninja_gitignore_build(module_to_compile, d_binaries,
l_symlink)
save_subninja_file(module_to_compile)
# ~#~#~#~#~ # # ~#~#~#~#~ #
# S a v e s # # S a v e s #

View File

@ -8,6 +8,8 @@
# Prints in stdout the name of a temporary file containing the basis set. # Prints in stdout the name of a temporary file containing the basis set.
# #
if [[ -z ${QP_ROOT} ]] if [[ -z ${QP_ROOT} ]]
then then
print "The QP_ROOT environment variable is not set." print "The QP_ROOT environment variable is not set."
@ -15,6 +17,7 @@ then
exit -1 exit -1
fi fi
export EMSL_API_ROOT="${QP_ROOT}"/install/emsl export EMSL_API_ROOT="${QP_ROOT}"/install/emsl
tmpfile="$1" tmpfile="$1"

View File

@ -23,16 +23,19 @@ import shutil
try: try:
from docopt import docopt from docopt import docopt
from qp_path import QP_SRC from qp_path import QP_SRC, QP_ROOT, QP_PLUGINS
from qp_path import QP_ROOT
except ImportError: except ImportError:
print "source .quantum_package.rc" print "source .quantum_package.rc"
raise raise
# Canot cache for namedtuple are not hashable def is_module(path_module_rel):
def is_module(path_module): return os.path.isfile(os.path.join(QP_SRC, path_module_rel,
return os.path.isfile(os.path.join(QP_SRC, path_module, "NEEDED_CHILDREN_MODULES"))
def is_plugin(path_module_rel):
return os.path.isfile(os.path.join(QP_PLUGINS, path_module_rel,
"NEEDED_CHILDREN_MODULES")) "NEEDED_CHILDREN_MODULES"))
@ -180,13 +183,7 @@ class ModuleHandler():
basename = "tree_dependency" basename = "tree_dependency"
path = '{0}.png'.format(basename) path = '{0}.png'.format(basename)
# Init from graphviz import Digraph
try:
from graphviz import Digraph
except:
with open(path, 'a'):
os.utime(path, None)
return
all_ready_done = [] all_ready_done = []
@ -209,7 +206,14 @@ class ModuleHandler():
graph.node(module, fontcolor="red") graph.node(module, fontcolor="red")
draw_module_edge(module, d_ref[module]) draw_module_edge(module, d_ref[module])
graph.render(cleanup=True) # Try to render the png
# If not just touch it
try:
graph.render(cleanup=True)
except:
with open(path, 'a'):
os.utime(path, None)
return
if __name__ == '__main__': if __name__ == '__main__':
@ -292,4 +296,3 @@ if __name__ == '__main__':
l_text = l_dir + l_file + l_symlink + l_exe l_text = l_dir + l_file + l_symlink + l_exe
l_text.sort() l_text.sort()
f.write("\n".join(l_text)) f.write("\n".join(l_text))

View File

@ -22,7 +22,7 @@ try:
from docopt import docopt from docopt import docopt
from module_handler import ModuleHandler, get_dict_child from module_handler import ModuleHandler, get_dict_child
from module_handler import get_l_module_descendant from module_handler import get_l_module_descendant
from update_README import Doc_key, Needed_key from qp_update_readme import D_KEY
from qp_path import QP_SRC, QP_PLUGINS, QP_ROOT from qp_path import QP_SRC, QP_PLUGINS, QP_ROOT
except ImportError: except ImportError:
print "Please check if you have sourced the .quantum_package.rc" print "Please check if you have sourced the .quantum_package.rc"
@ -56,8 +56,8 @@ def save_new_module(path, l_child):
with open(os.path.join(path, "README.rst"), "w") as f: with open(os.path.join(path, "README.rst"), "w") as f:
f.write(header + "\n") f.write(header + "\n")
f.write(Doc_key + "\n") f.write(D_KEY["needed_module"])
f.write(Needed_key + "\n") f.write(D_KEY["documentation"])
if __name__ == '__main__': if __name__ == '__main__':
@ -108,8 +108,9 @@ if __name__ == '__main__':
save_new_module(path, l_child_reduce) save_new_module(path, l_child_reduce)
print " [ OK ]" print " [ OK ]"
print "If this was a plugins, you can install it normaly. Type:" print "You can now install it normaly. Type:"
print "` {0} install {1} `".format(os.path.basename(__file__), name) print "` {0} install {1} `".format(os.path.basename(__file__), name)
print "And don't forgot to add this to the git if you want"
elif arguments["download"]: elif arguments["download"]:
pass pass

View File

@ -0,0 +1,205 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Updates the README.rst of a module
Usage:
qp_update_readme.py [<module_path>...] [--root_module=<module_path>]
Options:
path_readme: All the absolute path you want to update.
By default is the cwd
--root_module: Is the path of the root module who containt the tags file.
By default is the cwd
"""
import sys
try:
from docopt import docopt
from module_handler import is_module, is_plugin
except:
print "Please check if you have sourced the .quantum_package.rc"
print "(`source .quantum_package.rc`)"
print sys.exit(1)
import os
from collections import namedtuple
from collections import defaultdict
def header_format(str_):
warning = "\n".join([".. Do not edit this section It was auto-generated",
".. by the `update_README.py` script."])
return "{0}\n{1}\n{2}\n".format(str_, "=" * len(str_), warning)
D_KEY = {"needed_module": header_format("Needed Modules"),
"documentation": header_format("Documentation")}
def get_url(path_module_rel):
if is_plugin(path_module_rel):
url = "http://github.com/LCPQ/quantum_package/tree/master/plugins"
elif is_module(path_module_rel):
url = "http://github.com/LCPQ/quantum_package/tree/master/src"
else:
print "{0} Is not a valide module nor plugin".format(path_module_rel)
sys.exit(1)
return os.path.join(url, path_module_rel)
def fetch_splitted_data(d_readme, l_module_readme):
"""Read the README.rst file and split it in strings:
* The documentation
* The needed modules
The result is given as a list of strings
"""
sentinel = "@@$%&@@"
for path_readme in l_module_readme:
with open(os.path.join(path_readme, "README.rst"), 'r') as f:
data = f.read()
# Place sentinels
for v in D_KEY.values():
data = data.replace(v, sentinel + v)
# Now Split data using the sentinels
d_readme[path_readme] = {"human": data.split(sentinel)[0]}
def update_needed(d_readme):
"""Read the NEEDED_CHILDREN_MODULES file, and replace the data with it.
Create the links to the GitHub pages."""
header_image = ".. image:: tree_dependency.png"
for path in d_readme:
with open(os.path.join(path, 'NEEDED_CHILDREN_MODULES'), 'r') as f:
modules = f.read()
if modules.strip():
l_module = ['* `{0} <{1}>`_'.format(name, get_url(name))
for name in modules.split()]
l_module_section = [D_KEY["needed_module"], '',
header_image, '',
'\n'.join(l_module), '', '']
else:
l_module_section = ""
d_readme[path]["needed_module"] = "\n".join(l_module_section)
def extract_doc(root_module, provider):
"""Extracts the documentation contained in IRPF90_man file"""
path = os.path.join(root_module, "IRPF90_man/%s.l" % (provider))
with open(path, 'r') as f:
l_line = f.readlines()
result = []
inside = False
for line in l_line:
if not inside:
inside = line.startswith(".SH Description")
else:
if line.startswith(".SH"):
break
result.append(" {0}".format(line.strip()))
if not result:
result = [" Undocumented"]
return "\n".join(result) + "\n"
def update_documentation(d_readmen, root_module):
"""Reads the BEGIN_DOC ... END_DOC blocks and builds the documentation"""
IRP_info = namedtuple('IRP_info', ["module", "file", "provider", "line"])
# If the file does not exist, don't do anything
path = os.path.join(root_module, "tags")
with open(path, 'r') as f:
dump = f.readlines()
d_info = defaultdict(list)
for i in dump:
# i =
# output_cpu_time_0 Ezfio_files/output.irp.f 2
provider, irp_file_raw, ligne = i.split()
for path in d_readme:
if root_module == path and "/" not in irp_file_raw:
d_info[path].append(IRP_info(os.path.basename(path),
irp_file_raw,
provider,
ligne))
elif "/" in irp_file_raw and os.path.dirname(irp_file_raw) in path:
module, irp_file = os.path.split(irp_file_raw)
d_info[path].append(IRP_info(module, irp_file, provider, ligne))
for path in d_readme:
l_doc = []
for irp in d_info[path]:
url = os.path.join(get_url(os.path.basename(path)), irp.file)
doc = extract_doc(root_module, irp.provider)
l_doc += ["`{0} <{1}#L{2}>`_".format(irp.provider, url, irp.line),
doc,
""]
l_doc_section = [D_KEY["documentation"], '',
"\n".join(l_doc)]
d_readme[path]["documentation"] = "\n".join(l_doc_section)
if __name__ == '__main__':
arguments = docopt(__doc__)
if arguments["--root_module"]:
root_module = os.path.realpath(arguments["--root_module"])
else:
root_module = os.getcwd()
if not arguments["<module_path>"]:
l_module_readme = [os.path.join(os.getcwd())]
else:
l_module_readme = arguments["<module_path>"]
# d[Path] ={humain, needed_module, documentation}
d_readme = defaultdict(dict)
try:
fetch_splitted_data(d_readme, l_module_readme)
except IOError:
print l_module_readme, "is not a module and/or",
print "have not a `README.rst` file inside"
print "Abort..."
sys.exit(1)
update_needed(d_readme)
update_documentation(d_readme, root_module)
for path, d in d_readme.iteritems():
with open(os.path.join(path, "README.rst"), 'w') as f:
for k in ["human",
"needed_module",
"documentation"]:
f.write(d[k])

View File

@ -1,191 +0,0 @@
#!/usr/bin/env python
"""Updates the README.rst file as the include directive is disabled on GitHub."""
__date__ = "Thu Apr 3 23:06:18 CEST 2014"
__author__ = "Anthony Scemama<scemama@irsamc.ups-tlse.fr> & TApplencourt "
README = "README.rst"
Assum_key = "Assumptions\n===========\n"
Needed_key = "Needed Modules\n==============\n"
Doc_key = "Documentation\n=============\n"
Sentinel = "@@$%&@@"
URL = "http://github.com/LCPQ/quantum_package/tree/master/src/"
import os
import subprocess
from collections import namedtuple
import sys
"""
NEED to call in a module
First arg can be the root parent
"""
try:
ROOT_module = os.path.realpath(sys.argv[1])
except:
ROOT_module = os.getcwd()
if ROOT_module != os.getcwd():
change = True
else:
change = False
MODULE_NAME = os.path.basename(os.getcwd())
header = """
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script.
"""
def fetch_splitted_data():
"""Read the README.rst file and split it in strings:
* The documentation
* The needed modules
The result is given as a list of strings
"""
try:
with open(README, 'r') as f:
data = f.read()
except IOError:
return []
# Place sentinels
data = data.replace(Doc_key, Sentinel + Doc_key)
data = data.replace(Needed_key, Sentinel + Needed_key)
# Now Split data using the sentinels
result = data.split(Sentinel)
return result
def update_needed(data):
"""Read the NEEDED_CHILDREN_MODULES file, and replace the data with it.
Create the links to the GitHub pages."""
with open('NEEDED_CHILDREN_MODULES', 'r') as f:
modules = f.read()
header_image = ".. image:: tree_dependency.png\n\n"
if modules.strip():
modules = ['* `{0} <{1}>`_'.format(name, os.path.join(URL, name))
for name in modules.split()]
modules = "\n".join(modules)
modules = Needed_key + header + header_image + modules + '\n\n'
has_modules = False
for i in range(len(data)):
if data[i].startswith(Needed_key):
has_modules = True
data[i] = modules
if not has_modules:
data.append(modules)
return data
def extract_doc(item):
"""Extracts the documentation contained in IRPF90_man file"""
path = os.path.join(ROOT_module, "IRPF90_man/%s.l" % (item))
with open(path, 'r') as f:
l_line = f.readlines()
result = []
inside = False
for line in l_line:
if not inside:
inside = line.startswith(".SH Description")
else:
if line.startswith(".SH"):
break
result.append(" {0}".format(line.strip()))
if not result:
result = [" Undocumented"]
return "\n".join(result) + '\n'
def update_documentation(data):
"""Reads the BEGIN_DOC ... END_DOC blocks and builds the documentation"""
IRP_info = namedtuple('IRP_info', ["name", "file", "line"])
# If the file does not exist, don't do anything
path = os.path.join(ROOT_module, "tags")
with open(path, 'r') as f:
dump = f.readlines()
l_info = []
for i in dump:
name, f, ligne = i.split()
if not change and "/" not in i:
l_info.append(IRP_info(name, f, ligne))
elif change and MODULE_NAME in i:
l_info.append(IRP_info(name, f.split("/")[-1], ligne))
l_line = []
for irp in l_info:
url = os.path.join(URL, MODULE_NAME, irp.file)
doc = extract_doc(irp.name)
l_line += ["`{0} <{1}#L{2}>`_".format(irp.name, url, irp.line), doc,
""]
documentation = Doc_key + header + "\n".join(l_line)
has_doc = False
for i in range(len(data)):
if data[i].startswith(Doc_key):
has_doc = True
data[i] = documentation
if not has_doc:
data.append(documentation)
return data
def git_add():
"""Executes:
git add README.rst
throw an error if git is not precent"""
try:
# pipe output to /dev/null for silence
null = open("/dev/null", "w")
subprocess.Popen("git add README.rst", stdout=null, stderr=null)
null.close()
except OSError:
raise
def main():
data = fetch_splitted_data()
data = update_documentation(data)
data = update_needed(data)
output = ''.join(data)
with open(README, 'w') as f:
f.write(output)
try:
git_add()
except OSError:
pass
if __name__ == '__main__':
main()

View File

@ -4,6 +4,7 @@
# directory, where xxx is the corresponding mo_label. # directory, where xxx is the corresponding mo_label.
# Wed Apr 2 14:35:15 CEST 2014 # Wed Apr 2 14:35:15 CEST 2014
if [[ -z ${QP_ROOT} ]] if [[ -z ${QP_ROOT} ]]
then then
print "The QP_ROOT environment variable is not set." print "The QP_ROOT environment variable is not set."
@ -11,40 +12,40 @@ then
exit -1 exit -1
fi fi
EZFIO=$1 EZFIO="$1"
if [[ -z ${EZFIO} ]] if [[ -z "${EZFIO}" ]]
then then
echo "Error in $0" echo "Error in $0"
exit 1 exit 1
fi fi
if [[ ! -f ${EZFIO}/mo_basis/mo_label ]] if [[ ! -f "${EZFIO}/mo_basis/mo_label" ]]
then then
LABEL='no_label' LABEL='no_label'
else else
LABEL=$(head -1 ${EZFIO}/mo_basis/mo_label) LABEL=$(head -1 "${EZFIO}/mo_basis/mo_label")
fi fi
DESTINATION="save/mo_basis/${LABEL}" DESTINATION="save/mo_basis/${LABEL}"
cd ${EZFIO} cd "${EZFIO}"
if [[ ! -d save/mo_basis ]] if [[ ! -d save/mo_basis ]]
then then
mkdir -p save/mo_basis mkdir -p save/mo_basis
fi fi
BACKUP=${DESTINATION}.old BACKUP="${DESTINATION}.old"
if [[ -d ${BACKUP} ]] if [[ -d "${BACKUP}" ]]
then then
rm -rf ${BACKUP} rm -rf "${BACKUP}"
fi fi
if [[ -d ${DESTINATION} ]] if [[ -d "${DESTINATION}" ]]
then then
mv ${DESTINATION} ${BACKUP} mv "${DESTINATION}" "${BACKUP}"
fi fi
cp -r mo_basis ${DESTINATION} cp -r mo_basis "${DESTINATION}"

View File

@ -33,19 +33,29 @@ Assumptions
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_ * `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`ao_coef <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L24>`_ `ao_coef <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L24>`_
AO Coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs. AO Coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs.

View File

@ -37,19 +37,29 @@ Assumptions
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_ * `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`bitstring_to_hexa <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L98>`_ `bitstring_to_hexa <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L98>`_
Transform a bit string to a string in hexadecimal format for printing Transform a bit string to a string in hexadecimal format for printing

View File

@ -29,9 +29,20 @@ Assumptions
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_
* `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_ * `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_
@ -39,10 +50,10 @@ Needed Modules
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`a_operator <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1108>`_ `a_operator <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1108>`_
Needed for diag_H_mat_elem Needed for diag_H_mat_elem

View File

@ -960,7 +960,7 @@ subroutine get_excitation_degree_vector(key1,key2,degree,Nint,sze,idx)
integer, intent(out) :: degree(sze) integer, intent(out) :: degree(sze)
integer, intent(out) :: idx(0:sze) integer, intent(out) :: idx(0:sze)
integer :: i,l,d integer :: i,l,d,m
ASSERT (Nint > 0) ASSERT (Nint > 0)
ASSERT (sze > 0) ASSERT (sze > 0)
@ -1023,9 +1023,9 @@ subroutine get_excitation_degree_vector(key1,key2,degree,Nint,sze,idx)
do i=1,sze do i=1,sze
d = 0 d = 0
!DEC$ LOOP COUNT MIN(4) !DEC$ LOOP COUNT MIN(4)
do l=1,Nint do m=1,Nint
d = d + popcnt(xor( key1(l,1,i), key2(l,1))) & d = d + popcnt(xor( key1(m,1,i), key2(m,1))) &
+ popcnt(xor( key1(l,2,i), key2(l,2))) + popcnt(xor( key1(m,2,i), key2(m,2)))
enddo enddo
if (d > 4) then if (d > 4) then
cycle cycle

View File

@ -21,19 +21,29 @@ Assumptions
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_ * `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`elec_alpha_num <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons/ezfio_interface.irp.f#L28>`_ `elec_alpha_num <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons/ezfio_interface.irp.f#L28>`_
Numbers of electrons alpha ("up") Numbers of electrons alpha ("up")

View File

@ -170,3 +170,171 @@ Documentation
Write a time stamp in the output for chronological reconstruction Write a time stamp in the output for chronological reconstruction
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`ezfio_filename <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/ezfio.irp.f#L1>`_
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.
`getunitandopen <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/get_unit_and_open.irp.f#L1>`_
:f:
file name
.br
:mode:
'R' : READ, UNFORMATTED
'W' : WRITE, UNFORMATTED
'r' : READ, FORMATTED
'w' : WRITE, FORMATTED
'a' : APPEND, FORMATTED
'x' : READ/WRITE, FORMATTED
.br
`output_ao_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L1>`_
Output file for AO_Basis
`output_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L21>`_
Output file for Bitmask
`output_cas_sd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L41>`_
Output file for CAS_SD
`output_cis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L61>`_
Output file for CIS
`output_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L81>`_
Output file for CISD
`output_cisd_selected <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L101>`_
Output file for CISD_selected
`output_cpu_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L2>`_
Initial CPU and wall times when printing in the output files
`output_determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L121>`_
Output file for Determinants
`output_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L141>`_
Output file for Electrons
`output_ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L161>`_
Output file for Ezfio_files
`output_fcidump <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L181>`_
Output file for FCIdump
`output_full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L201>`_
Output file for Full_CI
`output_generators_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L221>`_
Output file for Generators_CAS
`output_generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L241>`_
Output file for Generators_full
`output_hartree_fock <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L261>`_
Output file for Hartree_Fock
`output_integrals_bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L281>`_
Output file for Integrals_Bielec
`output_integrals_monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L301>`_
Output file for Integrals_Monoelec
`output_mo_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L321>`_
Output file for MO_Basis
`output_moguess <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L341>`_
Output file for MOGuess
`output_mrcc_cassd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L361>`_
Output file for MRCC_CASSD
`output_mrcc_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L381>`_
Output file for MRCC_Utils
`output_nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L401>`_
Output file for Nuclei
`output_perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L421>`_
Output file for Perturbation
`output_properties <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L441>`_
Output file for Properties
`output_pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L461>`_
Output file for Pseudo
`output_psiref_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L481>`_
Output file for Psiref_CAS
`output_psiref_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L501>`_
Output file for Psiref_Utils
`output_qmcchem <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L521>`_
Output file for QmcChem
`output_selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L541>`_
Output file for Selectors_full
`output_singlerefmethod <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L561>`_
Output file for SingleRefMethod
`output_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L581>`_
Output file for Utils
`output_wall_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L1>`_
Initial CPU and wall times when printing in the output files
`write_bool <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L88>`_
Write an logical value in output
`write_double <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L58>`_
Write a double precision value in output
`write_int <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L73>`_
Write an integer value in output
`write_time <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L42>`_
Write a time stamp in the output for chronological reconstruction

View File

@ -13,9 +13,20 @@ MO integral, use ``get_mo_bielec_integral(i,j,k,l,mo_integrals_map)`` or
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_ * `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_
@ -23,10 +34,10 @@ Needed Modules
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L42>`_ `add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L42>`_
Adds integrals to tha MO map according to some bitmask Adds integrals to tha MO map according to some bitmask

View File

@ -20,7 +20,13 @@ implicit none
read_ao_integrals = .False. read_ao_integrals = .False.
write_ao_integrals = .False. write_ao_integrals = .False.
else if (disk_access_mo_integrals.EQ.'Read') then else
print *, 'bielec_integrals/disk_access_ao_integrals has a wrong type'
stop 1
endif
if (disk_access_mo_integrals.EQ.'Read') then
read_mo_integrals = .True. read_mo_integrals = .True.
write_mo_integrals = .False. write_mo_integrals = .False.
@ -33,8 +39,8 @@ implicit none
write_mo_integrals = .False. write_mo_integrals = .False.
else else
print *, 'bielec_integrals/disk_acces not of a the good type' print *, 'bielec_integrals/disk_access_mo_integrals has a wrong type'
stop "1" stop 1
endif endif

View File

@ -1,9 +1,20 @@
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
* `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_ * `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
@ -11,10 +22,10 @@ Needed Modules
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`ao_deriv2_x <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec/kin_ao_ints.irp.f#L1>`_ `ao_deriv2_x <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec/kin_ao_ints.irp.f#L1>`_
second derivatives matrix elements in the ao basis second derivatives matrix elements in the ao basis
.. math:: .. math::

View File

@ -5,19 +5,29 @@ MOGuess Module
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_ * `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`ao_ortho_lowdin_coef <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess/mo_ortho_lowdin.irp.f#L2>`_ `ao_ortho_lowdin_coef <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess/mo_ortho_lowdin.irp.f#L2>`_
matrix of the coefficients of the mos generated by the matrix of the coefficients of the mos generated by the
orthonormalization by the S^{-1/2} canonical transformation of the aos orthonormalization by the S^{-1/2} canonical transformation of the aos

View File

@ -33,9 +33,20 @@ ASSUMPTONS
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `AO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis>`_
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `AO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis>`_ * `AO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis>`_
@ -43,10 +54,10 @@ Needed Modules
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`ao_to_mo <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis/mos.irp.f#L136>`_ `ao_to_mo <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis/mos.irp.f#L136>`_
Transform A from the AO basis to the MO basis Transform A from the AO basis to the MO basis

View File

@ -9,9 +9,20 @@ The coordinates are expressed in atomic units.
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_ * `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
@ -19,10 +30,10 @@ Needed Modules
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`element_name <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L172>`_ `element_name <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L172>`_
Array of the name of element, sorted by nuclear charge (integer) Array of the name of element, sorted by nuclear charge (integer)

View File

@ -5,19 +5,29 @@ Pseudo Module
Needed Modules Needed Modules
============== ==============
.. Do not edit this section. It was auto-generated from the .. Do not edit this section It was auto-generated
.. by the `update_README.py` script. .. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_ * `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`do_pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo/ezfio_interface.irp.f#L248>`_ `do_pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo/ezfio_interface.irp.f#L248>`_
Using pseudo potential integral of not Using pseudo potential integral of not

View File

@ -6,10 +6,10 @@ Contains general purpose utilities.
Documentation Documentation
============= =============
.. Do not edit this section It was auto-generated
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`a_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/need.irp.f#L252>`_ `a_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/need.irp.f#L252>`_
Undocumented Undocumented
@ -634,4 +634,3 @@ Documentation
`write_git_log <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L243>`_ `write_git_log <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L243>`_
Write the last git commit in file iunit. Write the last git commit in file iunit.