10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-11-03 20:54:00 +01:00

Beginning the merge with qp old

This commit is contained in:
Manu 2015-06-29 10:35:29 +02:00
parent 8b52142e91
commit ee81a80368
20 changed files with 333 additions and 168 deletions

View File

@ -57,6 +57,6 @@ FCFLAGS : -xSSE2 -C -fpe0
################# #################
# #
[OPENMP] [OPENMP]
FC : -fopenmp FC : -openmp
IRPF90_FLAGS : --openmp IRPF90_FLAGS : --openmp

View File

View File

@ -0,0 +1,4 @@
==================
All_singles Module
==================

View File

@ -34,24 +34,24 @@ Documentation
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cas_sd_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1842>`_ `h_apply_cas_sd_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1892>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cas_sd_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1358>`_ `h_apply_cas_sd_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1383>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cas_sd_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1661>`_ `h_apply_cas_sd_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1701>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cas_sd_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1112>`_ `h_apply_cas_sd_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L1137>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
@ -62,7 +62,7 @@ Documentation
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cas_sd_selected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L917>`_ `h_apply_cas_sd_selected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/H_apply.irp.f_shell_16#L932>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.

View File

@ -26,10 +26,6 @@ Documentation
.. Do not edit this section. It was auto-generated from the .. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/cisd_lapack.irp.f#L1>`_
Undocumented
`h_apply_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_8#L406>`_ `h_apply_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_8#L406>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
@ -46,3 +42,160 @@ Documentation
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f#L13>`_
Undocumented
`h_apply_cisd_selection_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L6067>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_delta_rho_one_point_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L5524>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_delta_rho_one_point_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L5862>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L6856>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_dipole_moment_z_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L6313>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_dipole_moment_z_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L6651>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L1333>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L2122>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_2x2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L1579>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_2x2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L1917>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L790>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L1128>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L4489>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_sc2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L3946>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L4284>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L3700>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L3157>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L3495>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L2911>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L2368>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L2706>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L544>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_h_core_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L1>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_h_core_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L339>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L5278>`_
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_moller_plesset_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L4735>`_
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`h_apply_cisd_selection_moller_plesset_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_10#L5073>`_
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.

View File

@ -12,41 +12,41 @@ Documentation
Undocumented Undocumented
`h_apply_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1253>`_ `h_apply_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1303>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L767>`_ `h_apply_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L792>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_pt2_en_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1946>`_ `h_apply_pt2_en_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L2021>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_pt2_en_sc2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1460>`_ `h_apply_pt2_en_sc2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1510>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_pt2_en_sc2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1765>`_ `h_apply_pt2_en_sc2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1830>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1072>`_ `h_apply_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L1112>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_sc2_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L521>`_ `h_apply_sc2_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L546>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
@ -57,7 +57,7 @@ Documentation
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_sc2_selected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L326>`_ `h_apply_sc2_selected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/H_apply.irp.f_shell_17#L341>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.

View File

@ -8,162 +8,158 @@ Documentation
.. Do not edit this section. It was auto-generated from the .. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script. .. by the `update_README.py` script.
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/cisd_selection.irp.f#L1>`_
Undocumented
`h_apply_cisd_selection <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f#L13>`_ `h_apply_cisd_selection <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f#L13>`_
Undocumented Undocumented
`h_apply_cisd_selection_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1283>`_ `h_apply_cisd_selection_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L6067>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_delta_rho_one_point_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L765>`_ `h_apply_cisd_selection_delta_rho_one_point_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5524>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_delta_rho_one_point_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1088>`_ `h_apply_cisd_selection_delta_rho_one_point_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5862>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L6631>`_ `h_apply_cisd_selection_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L6856>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_dipole_moment_z_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L6113>`_ `h_apply_cisd_selection_dipole_moment_z_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L6313>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_dipole_moment_z_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L6436>`_ `h_apply_cisd_selection_dipole_moment_z_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L6651>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5103>`_ `h_apply_cisd_selection_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1333>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5867>`_ `h_apply_cisd_selection_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2122>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_2x2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5349>`_ `h_apply_cisd_selection_epstein_nesbet_2x2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1579>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_2x2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5672>`_ `h_apply_cisd_selection_epstein_nesbet_2x2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1917>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L4585>`_ `h_apply_cisd_selection_epstein_nesbet_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L790>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L4908>`_ `h_apply_cisd_selection_epstein_nesbet_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1128>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L4339>`_ `h_apply_cisd_selection_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L4489>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_sc2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3821>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3946>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L4144>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L4284>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3575>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3700>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3057>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3157>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3380>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L3495>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2811>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2911>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2293>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2368>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2616>`_ `h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2706>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L2047>`_ `h_apply_cisd_selection_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L544>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_h_core_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1529>`_ `h_apply_cisd_selection_h_core_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_h_core_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1852>`_ `h_apply_cisd_selection_h_core_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L339>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L519>`_ `h_apply_cisd_selection_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5278>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_cisd_selection_moller_plesset_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L1>`_ `h_apply_cisd_selection_moller_plesset_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L4735>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_cisd_selection_moller_plesset_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L324>`_ `h_apply_cisd_selection_moller_plesset_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/H_apply.irp.f_shell_10#L5073>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.

View File

@ -12,24 +12,24 @@ Documentation
Undocumented Undocumented
`h_apply_ddci_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L1267>`_ `h_apply_ddci_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L1341>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
`h_apply_ddci_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L774>`_ `h_apply_ddci_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L811>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_ddci_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L1083>`_ `h_apply_ddci_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L1143>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_ddci_selection <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L528>`_ `h_apply_ddci_selection <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L565>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
@ -40,7 +40,7 @@ Documentation
Assume N_int is already provided. Assume N_int is already provided.
`h_apply_ddci_selection_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L330>`_ `h_apply_ddci_selection_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/H_apply.irp.f_shell_15#L353>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.

View File

@ -14,7 +14,7 @@ Documentation
Undocumented Undocumented
`h_apply_fci <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L519>`_ `h_apply_fci <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L544>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
@ -25,126 +25,126 @@ Documentation
Assume N_int is already provided. 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#L2712>`_ `h_apply_fci_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2812>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. 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#L2192>`_ `h_apply_fci_mono_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2267>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L2515>`_ `h_apply_fci_mono_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2605>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L324>`_ `h_apply_fci_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L339>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L1974>`_ `h_apply_fci_no_skip <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L2049>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. 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#L1456>`_ `h_apply_fci_no_skip_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1506>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L1779>`_ `h_apply_fci_no_skip_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1844>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L1249>`_ `h_apply_fci_pt2 <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1299>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. 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#L765>`_ `h_apply_fci_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L790>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L1068>`_ `h_apply_fci_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L1108>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L4210>`_ `h_apply_pt2_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L4360>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. 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#L3724>`_ `h_apply_pt2_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L3849>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L4027>`_ `h_apply_pt2_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L4167>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L5665>`_ `h_apply_pt2_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L5865>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. 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#L5181>`_ `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#L5356>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L5484>`_ `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#L5674>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L3478>`_ `h_apply_select_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L3603>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. 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#L2958>`_ `h_apply_select_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L3058>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L3281>`_ `h_apply_select_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L3396>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L4935>`_ `h_apply_select_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/H_apply.irp.f_shell_43#L5110>`_
Calls H_apply on the HF determinant and selects all connected single and double 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. 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#L4417>`_ `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#L4567>`_
Generate all double excitations of key_in using the bit masks of holes and Generate all double excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. 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#L4740>`_ `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#L4905>`_
Generate all single excitations of key_in using the bit masks of holes and Generate all single excitations of key_in using the bit masks of holes and
particles. particles.
Assume N_int is already provided. Assume N_int is already provided.

View File

@ -28,6 +28,7 @@ program full_ci
print *, '-----' print *, '-----'
endif endif
double precision :: i_H_psi_array(N_states),diag_H_mat_elem,h,i_O1_psi_array(N_states) double precision :: i_H_psi_array(N_states),diag_H_mat_elem,h,i_O1_psi_array(N_states)
double precision :: E_CI_before(N_states)
if(read_wf)then if(read_wf)then
call i_H_psi(psi_det(1,1,N_det),psi_det,psi_coef,N_int,N_det,psi_det_size,N_states,i_H_psi_array) call i_H_psi(psi_det(1,1,N_det),psi_det,psi_coef,N_int,N_det,psi_det_size,N_states,i_H_psi_array)
h = diag_H_mat_elem(psi_det(1,1,N_det),N_int) h = diag_H_mat_elem(psi_det(1,1,N_det),N_int)
@ -38,6 +39,7 @@ program full_ci
integer :: n_det_before integer :: n_det_before
print*,'Beginning the selection ...' print*,'Beginning the selection ...'
E_CI_before = CI_energy
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max) do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
n_det_before = N_det n_det_before = N_det
call H_apply_FCI(pt2, norm_pert, H_pert_diag, N_st) call H_apply_FCI(pt2, norm_pert, H_pert_diag, N_st)
@ -57,12 +59,13 @@ program full_ci
if(n_det_before == N_det)then if(n_det_before == N_det)then
selection_criterion = selection_criterion * 0.5d0 selection_criterion = selection_criterion * 0.5d0
endif endif
print *, 'N_det = ', N_det print *, 'N_det = ', N_det
print *, 'N_states = ', N_states print *, 'N_states = ', N_states
print *, 'PT2 = ', pt2 print *, 'PT2 = ', pt2
print *, 'E = ', CI_energy print *, 'E = ', CI_energy
print *, 'E+PT2 = ', CI_energy+pt2 print *, 'E(before)+PT2 = ', E_CI_before+pt2
print *, '-----' print *, '-----'
E_CI_before = CI_energy
call ezfio_set_full_ci_energy(CI_energy) call ezfio_set_full_ci_energy(CI_energy)
if (abort_all) then if (abort_all) then
exit exit

View File

@ -28,6 +28,7 @@ program full_ci
print *, '-----' print *, '-----'
endif endif
double precision :: i_H_psi_array(N_states),diag_H_mat_elem,h,i_O1_psi_array(N_states) double precision :: i_H_psi_array(N_states),diag_H_mat_elem,h,i_O1_psi_array(N_states)
double precision :: E_CI_before(N_states)
if(read_wf)then if(read_wf)then
call i_H_psi(psi_det(1,1,N_det),psi_det,psi_coef,N_int,N_det,psi_det_size,N_states,i_H_psi_array) call i_H_psi(psi_det(1,1,N_det),psi_det,psi_coef,N_int,N_det,psi_det_size,N_states,i_H_psi_array)
h = diag_H_mat_elem(psi_det(1,1,N_det),N_int) h = diag_H_mat_elem(psi_det(1,1,N_det),N_int)
@ -38,6 +39,7 @@ program full_ci
integer :: n_det_before integer :: n_det_before
print*,'Beginning the selection ...' print*,'Beginning the selection ...'
E_CI_before = CI_energy
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max) do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
n_det_before = N_det n_det_before = N_det
call H_apply_FCI_no_skip(pt2, norm_pert, H_pert_diag, N_st) call H_apply_FCI_no_skip(pt2, norm_pert, H_pert_diag, N_st)
@ -61,8 +63,9 @@ program full_ci
print *, 'N_states = ', N_states print *, 'N_states = ', N_states
print *, 'PT2 = ', pt2 print *, 'PT2 = ', pt2
print *, 'E = ', CI_energy print *, 'E = ', CI_energy
print *, 'E+PT2 = ', CI_energy+pt2 print *, 'E+PT2 = ', E_CI_before+pt2
print *, '-----' print *, '-----'
E_CI_before = CI_energy
call ezfio_set_full_ci_energy(CI_energy) call ezfio_set_full_ci_energy(CI_energy)
if (abort_all) then if (abort_all) then
exit exit

View File

@ -2,40 +2,3 @@
Generators_restart Module Generators_restart Module
========================= =========================
Documentation
=============
.. Do not edit this section. It was auto-generated from the
.. by the `update_README.py` script.
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_restart/generators.irp.f#L3>`_
Read the wave function
`psi_coef_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_restart/generators.irp.f#L21>`_
read wf
.br
`psi_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_restart/generators.irp.f#L20>`_
read wf
.br
`select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_restart/generators.irp.f#L52>`_
Memo to skip useless selectors
`size_select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_restart/generators.irp.f#L44>`_
Size of the select_max array
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

@ -1,21 +1,32 @@
BEGIN_PROVIDER [ double precision, lambda_mrcc, (N_states,psi_det_size) ] BEGIN_PROVIDER [ double precision, lambda_mrcc, (N_states,psi_det_size) ]
&BEGIN_PROVIDER [ double precision, lambda_pert, (N_states,psi_det_size) ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! cm/<Psi_0|H|D_m> ! cm/<Psi_0|H|D_m>
END_DOC END_DOC
integer :: i,k integer :: i,k
double precision :: ihpsi(N_states) double precision :: ihpsi(N_states), hij(N_states)
do i=1,N_det_non_cas
do i=1,N_det_non_cas
call i_h_psi(psi_non_cas(1,1,i), psi_cas, psi_cas_coef, N_int, N_det_cas, & call i_h_psi(psi_non_cas(1,1,i), psi_cas, psi_cas_coef, N_int, N_det_cas, &
size(psi_cas_coef,1), n_states, ihpsi) size(psi_cas_coef,1), n_states, ihpsi)
double precision :: hij call i_h_j(psi_non_cas(1,1,i),psi_non_cas(1,1,i),N_int,hij)
do k=1,N_states do k=1,N_states
if (dabs(ihpsi(k)) > 1.d-5) then lambda_pert(k,i) = 1d0 / (CI_electronic_energy(k)-hij(k))
lambda_mrcc(k,i) = psi_non_cas_coef(i,k)/ihpsi(k) lambda_mrcc(k,i) = psi_non_cas_coef(i,k)/ihpsi(k)
lambda_mrcc(k,i) = min( lambda_mrcc (k,i),0.d0 ) if ((lambda_mrcc(k,i)/lambda_pert(k,i))<0.d0 .or. (lambda_mrcc(k,i)/lambda_pert(k,i))>4.d0) then
lambda_mrcc(k,i) = lambda_pert(k,i)
else else
lambda_mrcc(k,i) = 0.d0 if ((lambda_mrcc(k,i)/lambda_pert(k,i))<0.1d0 .or. (lambda_mrcc(k,i)/lambda_pert(k,i))>=0d0) then
lambda_mrcc(k,i) = lambda_mrcc(k,i)*((cos((lambda_mrcc(k,i)/lambda_pert(k,i))*3.141592653589793d0/0.1d0+3.141592653589793d0)+1d0)/2.d0) &
+ lambda_pert(k,i)*(1.d0-((cos((lambda_mrcc(k,i)/lambda_pert(k,i))*3.141592653589793d0/0.1d0+3.141592653589793d0)+1.d0)/2.d0))
elseif ((lambda_mrcc(k,i)/lambda_pert(k,i))<=4.0d0 .or. (lambda_mrcc(k,i)/lambda_pert(k,i))>2.0d0) then
lambda_mrcc(k,i) = lambda_mrcc(k,i)*(1.d0-(cos(abs(2.d0-(lambda_mrcc(k,i)/lambda_pert(k,i)))*3.141592653589793d0/2.0d0+3.141592653589793d0)+1.d0)/2d0) &
+ lambda_pert(k,i)*((cos(abs(2.d0-(lambda_mrcc(k,i)/lambda_pert(k,i)))*3.141592653589793d0/2.0d0+3.141592653589793d0)+1.d0)/2.d0)
else
lambda_mrcc(k,i) = lambda_mrcc(k,i)
endif
endif endif
enddo enddo
enddo enddo
@ -23,6 +34,8 @@ END_PROVIDER
BEGIN_PROVIDER [ character*(32), dressing_type ] BEGIN_PROVIDER [ character*(32), dressing_type ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC

View File

@ -35,6 +35,6 @@ Needed Modules
.. image:: tree_dependency.png .. image:: tree_dependency.png
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_ * `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_ * `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_

View File

@ -85,7 +85,7 @@ Documentation
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#L161>`_ `perturb_buffer_by_mono_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L791>`_
Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply
routine. routine.
@ -95,12 +95,12 @@ Documentation
routine. routine.
`perturb_buffer_by_mono_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L686>`_ `perturb_buffer_by_mono_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L161>`_
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#L791>`_ `perturb_buffer_by_mono_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L266>`_
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.
@ -120,17 +120,17 @@ Documentation
routine. routine.
`perturb_buffer_by_mono_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L266>`_ `perturb_buffer_by_mono_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L56>`_
Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_by_mono_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L56>`_ `perturb_buffer_by_mono_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L686>`_
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#L110>`_ `perturb_buffer_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L740>`_
Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply Applly pertubration ``delta_rho_one_point`` to the buffer of determinants generated in the H_apply
routine. routine.
@ -140,12 +140,12 @@ Documentation
routine. routine.
`perturb_buffer_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L635>`_ `perturb_buffer_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L110>`_
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#L740>`_ `perturb_buffer_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L215>`_
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.
@ -165,12 +165,12 @@ Documentation
routine. routine.
`perturb_buffer_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L215>`_ `perturb_buffer_h_core <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L5>`_
Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
routine. routine.
`perturb_buffer_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L5>`_ `perturb_buffer_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/perturbation.irp.f_shell_13#L635>`_
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.

View File

@ -133,7 +133,7 @@ def get_type_dict():
fancy_type['bool'] = Type(None, "bool", "logical") fancy_type['bool'] = Type(None, "bool", "logical")
fancy_type['character*(32)'] = Type(None, "string", "character*(32)") fancy_type['character*(32)'] = Type(None, "string", "character*(32)")
fancy_type['character*(64)'] = Type(None, "string", "character*(68)") fancy_type['character*(64)'] = Type(None, "string", "character*(64)")
fancy_type['character*(256)'] = Type(None, "string", "character*(256)") fancy_type['character*(256)'] = Type(None, "string", "character*(256)")
# ~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~ #

View File

@ -2,6 +2,7 @@
import os import os
file = open(os.environ["QP_ROOT"]+'/src/Determinants/H_apply.template.f','r') file = open(os.environ["QP_ROOT"]+'/src/Determinants/H_apply.template.f','r')
template = file.read() template = file.read()
file.close() file.close()
@ -13,6 +14,8 @@ initialization
declarations declarations
decls_main decls_main
keys_work keys_work
do_double_excitations
check_double_excitation
copy_buffer copy_buffer
finalization finalization
generate_psi_guess generate_psi_guess
@ -54,6 +57,7 @@ class H_apply(object):
!$OMP SHARED(key_in,N_int,elec_num_tab,mo_tot_num, & !$OMP SHARED(key_in,N_int,elec_num_tab,mo_tot_num, &
!$OMP hole_1, particl_1, hole_2, particl_2, & !$OMP hole_1, particl_1, hole_2, particl_2, &
!$OMP elec_alpha_num,i_generator) FIRSTPRIVATE(iproc)""" !$OMP elec_alpha_num,i_generator) FIRSTPRIVATE(iproc)"""
s["omp_end_parallel"] = "!$OMP END PARALLEL" s["omp_end_parallel"] = "!$OMP END PARALLEL"
s["omp_master"] = "!$OMP MASTER" s["omp_master"] = "!$OMP MASTER"
s["omp_end_master"] = "!$OMP END MASTER" s["omp_end_master"] = "!$OMP END MASTER"
@ -104,7 +108,7 @@ class H_apply(object):
endif endif
SOFT_TOUCH psi_det psi_coef N_det SOFT_TOUCH psi_det psi_coef N_det
""" """
s["printout_now"] = """write(output_determinants,*) & s["printout_now"] = """write(output_Determinants,*) &
100.*float(i_generator)/float(N_det_generators), '% in ', wall_1-wall_0, 's'""" 100.*float(i_generator)/float(N_det_generators), '% in ', wall_1-wall_0, 's'"""
self.data = s self.data = s
@ -127,21 +131,23 @@ class H_apply(object):
""" """
def set_filter_holes(self): def set_filter_holes(self):
self["filterhole"] = """ self["filterhole"] = """
if(iand(ibset(0_bit_kind,j),hole(k,other_spin)).eq.0_bit_kind )cycle if(iand(ibset(0_bit_kind,j),key(k,other_spin)).eq.0_bit_kind )cycle
""" """
def set_filter_particl(self): def set_filter_particl(self):
self["filterparticle"] = """ self["filterparticle"] = """
if(iand(ibset(0_bit_kind,j_a),hole(k_a,other_spin)).eq.0_bit_kind )cycle if(iand(ibset(0_bit_kind,j_a),key(k_a,other_spin)).eq.0_bit_kind )cycle
""" """
def unset_skip(self): def unset_skip(self):
self["skip"] = """ self["skip"] = """
""" """
def set_filter_2h_2p(self): def set_filter_2h_2p(self):
self["filter2h2p"] = """ self["filter2h2p"] = """
! ! DIR$ FORCEINLINE ! ! DIR$ FORCEINLINE
if (is_a_two_holes_two_particles(key)) cycle ! call get_excitation_degree(ref_bitmask,key,degree,N_int)
! if(degree==1)then
! print*,'degree = ',degree
! endif
if(is_a_two_holes_two_particles(key))cycle
""" """
@ -187,9 +193,14 @@ class H_apply(object):
PROVIDE CI_electronic_energy psi_selectors_coef psi_selectors E_corr_per_selectors psi_det_sorted_bit PROVIDE CI_electronic_energy psi_selectors_coef psi_selectors E_corr_per_selectors psi_det_sorted_bit
""" """
self.data["keys_work"] = """ self.data["keys_work"] = """
call perturb_buffer_%s(i_generator,keys_out,key_idx,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert, & if(check_double_excitation)then
sum_norm_pert,sum_H_pert_diag,N_st,N_int) call perturb_buffer_%s(i_generator,keys_out,key_idx,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert, &
"""%(pert,) sum_norm_pert,sum_H_pert_diag,N_st,N_int)
else
call perturb_buffer_by_mono_%s(i_generator,keys_out,key_idx,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert, &
sum_norm_pert,sum_H_pert_diag,N_st,N_int)
endif
"""%(pert,pert)
self.data["finalization"] = """ self.data["finalization"] = """
""" """
self.data["copy_buffer"] = "" self.data["copy_buffer"] = ""
@ -211,9 +222,9 @@ class H_apply(object):
delta_pt2(k) = 0.d0 delta_pt2(k) = 0.d0
pt2_old(k) = 0.d0 pt2_old(k) = 0.d0
enddo enddo
write(output_determinants,'(A12, X, A8, 3(2X, A9), 2X, A8, 2X, A8, 2X, A8)') & write(output_Determinants,'(A12, X, A8, 3(2X, A9), 2X, A8, 2X, A8, 2X, A8)') &
'N_generators', 'Norm', 'Delta PT2', 'PT2', 'Est. PT2', 'secs' 'N_generators', 'Norm', 'Delta PT2', 'PT2', 'Est. PT2', 'secs'
write(output_determinants,'(A12, X, A8, 3(2X, A9), 2X, A8, 2X, A8, 2X, A8)') & write(output_Determinants,'(A12, X, A8, 3(2X, A9), 2X, A8, 2X, A8, 2X, A8)') &
'============', '========', '=========', '=========', '=========', & '============', '========', '=========', '=========', '=========', &
'=========' '========='
""" """
@ -226,7 +237,7 @@ class H_apply(object):
""" """
self.data["printout_now"] = """ self.data["printout_now"] = """
do k=1,N_st do k=1,N_st
write(output_determinants,'(I10, 4(2X, F9.6), 2X, F8.1)') & write(output_Determinants,'(I10, 4(2X, F9.6), 2X, F8.1)') &
i_generator, norm_psi(k), delta_pt2(k), pt2(k), & i_generator, norm_psi(k), delta_pt2(k), pt2(k), &
pt2(k)/(norm_psi(k)*norm_psi(k)), & pt2(k)/(norm_psi(k)*norm_psi(k)), &
wall_1-wall_0 wall_1-wall_0
@ -258,7 +269,7 @@ class H_apply(object):
! SOFT_TOUCH psi_det psi_coef N_det ! SOFT_TOUCH psi_det psi_coef N_det
selection_criterion_min = min(selection_criterion_min, maxval(select_max))*0.1d0 selection_criterion_min = min(selection_criterion_min, maxval(select_max))*0.1d0
selection_criterion = selection_criterion_min selection_criterion = selection_criterion_min
call write_double(output_determinants,selection_criterion,'Selection criterion') call write_double(output_Determinants,selection_criterion,'Selection criterion')
""" """
self.data["keys_work"] = """ self.data["keys_work"] = """
e_2_pert_buffer = 0.d0 e_2_pert_buffer = 0.d0
@ -275,10 +286,10 @@ class H_apply(object):
if (select_max(i_generator) < selection_criterion_min*selection_criterion_factor) then if (select_max(i_generator) < selection_criterion_min*selection_criterion_factor) then
!$ call omp_set_lock(lck) !$ call omp_set_lock(lck)
do k=1,N_st do k=1,N_st
norm_psi(k) = norm_psi(k) + psi_coef_generators(i_generator,k)*psi_coef_generators(i_generator,k) norm_psi(k) = norm_psi(k) + psi_coef_generators(i_generator,k)*psi_coef_generators(i_generator,k)
! delta_pt2(k) = 0.d0 delta_pt2(k) = 0.d0
! pt2_old(k) = 0.d0 pt2_old(k) = 0.d0
! pt2(k) = select_max(i_generator) pt2(k) = select_max(i_generator)
enddo enddo
!$ call omp_unset_lock(lck) !$ call omp_unset_lock(lck)
cycle cycle

View File

@ -52,6 +52,10 @@ END_PROVIDER
call davidson_diag(psi_det,CI_eigenvectors,CI_electronic_energy, & call davidson_diag(psi_det,CI_eigenvectors,CI_electronic_energy, &
size(CI_eigenvectors,1),N_det,N_states_diag,N_int,output_determinants) size(CI_eigenvectors,1),N_det,N_states_diag,N_int,output_determinants)
do j=1,N_states_diag
call get_s2_u0(psi_det,CI_eigenvectors(1,j),N_det,size(CI_eigenvectors,1),CI_eigenvectors_s2(j))
enddo
else if (diag_algorithm == "Lapack") then else if (diag_algorithm == "Lapack") then
@ -69,7 +73,8 @@ END_PROVIDER
if (s2_eig) then if (s2_eig) then
i_state = 0 i_state = 0
do j=1,N_det do j=1,N_det
call get_s2_u0(psi_det,eigenvectors(1,j),N_det,N_det,s2) call get_s2_u0(psi_det,eigenvectors(1,j),N_det,size(eigenvectors,1),s2)
print*,'s2 = ',s2
if(dabs(s2-expected_s2).le.0.3d0)then if(dabs(s2-expected_s2).le.0.3d0)then
i_state += 1 i_state += 1
do i=1,N_det do i=1,N_det

View File

@ -1,4 +1,4 @@
subroutine get_s2(key_i,key_j,phase,Nint) subroutine get_s2(key_i,key_j,s2,Nint)
implicit none implicit none
use bitmasks use bitmasks
BEGIN_DOC BEGIN_DOC
@ -7,21 +7,21 @@ subroutine get_s2(key_i,key_j,phase,Nint)
integer, intent(in) :: Nint integer, intent(in) :: Nint
integer(bit_kind), intent(in) :: key_i(Nint,2) integer(bit_kind), intent(in) :: key_i(Nint,2)
integer(bit_kind), intent(in) :: key_j(Nint,2) integer(bit_kind), intent(in) :: key_j(Nint,2)
double precision, intent(out) :: phase double precision, intent(out) :: s2
integer :: exc(0:2,2,2) integer :: exc(0:2,2,2)
integer :: degree integer :: degree
double precision :: phase_spsm double precision :: phase_spsm
integer :: nup, i integer :: nup, i
phase = 0.d0 s2 = 0.d0
!$FORCEINLINE !$FORCEINLINE
call get_excitation_degree(key_i,key_j,degree,Nint) call get_excitation_degree(key_i,key_j,degree,Nint)
select case (degree) select case (degree)
case(2) case(2)
call get_double_excitation(key_i,key_j,exc,phase_spsm,Nint) call get_double_excitation(key_j,key_i,exc,phase_spsm,Nint)
if (exc(0,1,1) == 1) then ! Mono alpha + mono-beta if (exc(0,1,1) == 1) then ! Mono alpha + mono-beta
if ( (exc(1,1,1) == exc(1,2,2)).and.(exc(1,1,2) == exc(1,2,1)) ) then if ( (exc(1,1,1) == exc(1,2,2)).and.(exc(1,1,2) == exc(1,2,1)) ) then
phase = -phase_spsm s2 = -phase_spsm
endif endif
endif endif
case(0) case(0)
@ -29,7 +29,7 @@ subroutine get_s2(key_i,key_j,phase,Nint)
do i=1,Nint do i=1,Nint
nup += popcnt(iand(xor(key_i(i,1),key_i(i,2)),key_i(i,1))) nup += popcnt(iand(xor(key_i(i,1),key_i(i,2)),key_i(i,1)))
enddo enddo
phase = dble(nup) s2 = dble(nup)
end select end select
end end
@ -72,7 +72,7 @@ BEGIN_PROVIDER [ double precision, s2_values, (N_states) ]
integer :: i integer :: i
double precision :: s2 double precision :: s2
do i = 1, N_states do i = 1, N_states
call get_s2_u0(psi_det,psi_coef(1,i),n_det,psi_det_size,s2) call get_s2_u0(psi_det,psi_coef(1,i),n_det,size(psi_coef,1),s2)
s2_values(i) = s2 s2_values(i) = s2
enddo enddo
@ -89,18 +89,32 @@ subroutine get_s2_u0(psi_keys_tmp,psi_coefs_tmp,n,nmax,s2)
integer :: i,j,l integer :: i,j,l
double precision :: s2_tmp double precision :: s2_tmp
s2 = 0.d0 s2 = 0.d0
!print*,'IN get_s2_u0'
!print*,'n,nmax = ',n,nmax
double precision :: accu
accu = 0.d0
do i = 1,n
accu += psi_coefs_tmp(i) * psi_coefs_tmp(i)
! print*,'psi_coef = ',psi_coefs_tmp(i)
enddo
!print*,'accu = ',accu
!print*,''
!$OMP PARALLEL DO DEFAULT(NONE) & !$OMP PARALLEL DO DEFAULT(NONE) &
!$OMP PRIVATE(i,j,s2_tmp) SHARED(n,psi_coefs_tmp,psi_keys_tmp,N_int) & !$OMP PRIVATE(i,j,s2_tmp) SHARED(n,psi_coefs_tmp,psi_keys_tmp,N_int) REDUCTION(+:s2) SCHEDULE(dynamic)
!$OMP REDUCTION(+:s2) SCHEDULE(dynamic)
do i=1,n do i=1,n
call get_s2(psi_keys_tmp(1,1,i),psi_keys_tmp(1,1,i),s2_tmp,N_int)
s2 += psi_coefs_tmp(i)*psi_coefs_tmp(i)*s2_tmp
do j=i+1,n do j=i+1,n
call get_s2(psi_keys_tmp(1,1,i),psi_keys_tmp(1,1,j),s2_tmp,N_int) call get_s2(psi_keys_tmp(1,1,i),psi_keys_tmp(1,1,j),s2_tmp,N_int)
s2 += (psi_coefs_tmp(i)+psi_coefs_tmp(i))*psi_coefs_tmp(j)*s2_tmp s2 += (psi_coefs_tmp(i)+psi_coefs_tmp(i))*psi_coefs_tmp(j)*s2_tmp
! s2 = s2 + 2.d0 * psi_coefs_tmp(i)*psi_coefs_tmp(j)*s2_tmp
enddo enddo
enddo enddo
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
do i=1,n
call get_s2(psi_keys_tmp(1,1,i),psi_keys_tmp(1,1,i),s2_tmp,N_int)
s2 += psi_coefs_tmp(i)*psi_coefs_tmp(i)*s2_tmp
enddo
s2 += S_z2_Sz s2 += S_z2_Sz
!print*,'s2 = ',s2
!print*,''
end end