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

Merge pull request #21 from LCPQ/master

Merge with Manu
This commit is contained in:
Anthony Scemama 2015-09-08 17:01:05 +02:00
commit 6bccfd5e6f
24 changed files with 941 additions and 756 deletions

14
configure vendored
View File

@ -71,7 +71,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',
@ -180,6 +180,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
@ -224,7 +226,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
@ -341,9 +343,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 +453,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}"', "",

View File

@ -22,7 +22,6 @@ Properties
Pseudo Pseudo
Selectors_full Selectors_full
Utils Utils
exc_degree
ezfio_interface.irp.f ezfio_interface.irp.f
full_ci full_ci
full_ci_no_skip full_ci_no_skip

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#L521>`_
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#L2720>`_
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#L2198>`_
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#L2522>`_
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#L325>`_
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#L1980>`_
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#L1460>`_
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#L1784>`_
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#L1253>`_
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#L767>`_
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#L1071>`_
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#L4222>`_
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#L3734>`_
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#L4038>`_
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#L5681>`_
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#L5195>`_
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#L5499>`_
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#L3488>`_
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#L2966>`_
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#L3290>`_
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#L4949>`_
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#L4429>`_
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#L4753>`_
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

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

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

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#L161>`_
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#L896>`_
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#L686>`_
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#L791>`_
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#L581>`_
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#L476>`_
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#L371>`_
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#L266>`_
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#L56>`_
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#L110>`_
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#L845>`_
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#L635>`_
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#L740>`_
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#L530>`_
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#L425>`_
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#L320>`_
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#L215>`_
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#L5>`_
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

@ -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

@ -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

@ -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

@ -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,15 +50,11 @@ 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>`_
Needed for diag_H_mat_elem Needed for diag_H_mat_elem
`abs_psi_coef_max <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/determinants.irp.f#L451>`_
Max and min values of the coefficients Max and min values of the coefficients

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

@ -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

@ -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.