10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-06-02 11:25:26 +02:00

connected_to_ref

This commit is contained in:
Yann Garniron 2015-10-23 15:58:43 +02:00
parent 0232df92af
commit cad30f56f9
11 changed files with 503 additions and 136 deletions

View File

@ -27,7 +27,7 @@ python:
script: script:
- ./configure --production ./config/gfortran.cfg - ./configure --production ./config/gfortran.cfg
- source ./quantum_package.rc - source ./quantum_package.rc
- qp_install_module.py install Full_CI Hartree_Fock - qp_install_module.py install Full_CI Hartree_Fock CAS_SD MRCC_CASSD
- ninja - ninja
- cd ocaml ; make ; cd - - cd ocaml ; make ; cd -
- cd testing_no_regression ; ./unit_test.py - cd testing_no_regression ; ./unit_test.py

View File

@ -118,69 +118,101 @@ Documentation
Undocumented Undocumented
`h_apply_cas_sd <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L414>`_ `h_apply_cas_sd <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L537>`_
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_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1>`_ `h_apply_cas_sd_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L3>`_
Undocumented
`h_apply_cas_sd_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L119>`_
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_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L269>`_ `h_apply_cas_sd_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L96>`_
Undocumented
`h_apply_cas_sd_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L387>`_
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_pt2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2610>`_ `h_apply_cas_sd_pt2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L3175>`_
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/plugins/CAS_SD/H_apply.irp.f_shell_22#L2118>`_ `h_apply_cas_sd_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2540>`_
Undocumented
`h_apply_cas_sd_pt2_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2678>`_
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/plugins/CAS_SD/H_apply.irp.f_shell_22#L2427>`_ `h_apply_cas_sd_pt2_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2644>`_
Undocumented
`h_apply_cas_sd_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2987>`_
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/plugins/CAS_SD/H_apply.irp.f_shell_22#L1872>`_ `h_apply_cas_sd_selected <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2291>`_
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_selected_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1346>`_ `h_apply_cas_sd_selected_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1620>`_
Undocumented
`h_apply_cas_sd_selected_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1760>`_
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_selected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1675>`_ `h_apply_cas_sd_selected_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1725>`_
Undocumented
`h_apply_cas_sd_selected_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L2089>`_
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_no_skip <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1128>`_ `h_apply_cas_sd_selected_no_skip <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1399>`_
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_selected_no_skip_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L602>`_ `h_apply_cas_sd_selected_no_skip_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L728>`_
Undocumented
`h_apply_cas_sd_selected_no_skip_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L868>`_
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_selected_no_skip_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L931>`_ `h_apply_cas_sd_selected_no_skip_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L833>`_
Undocumented
`h_apply_cas_sd_selected_no_skip_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CAS_SD/H_apply.irp.f_shell_22#L1197>`_
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

@ -27,137 +27,201 @@ Documentation
Undocumented Undocumented
`h_apply_fci <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L527>`_ `h_apply_fci <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L674>`_
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_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1>`_ `h_apply_fci_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3>`_
Undocumented
`h_apply_fci_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L143>`_
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 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2744>`_ `h_apply_fci_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L108>`_
Undocumented
`h_apply_fci_mono <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3333>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L2216>`_ `h_apply_fci_mono_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2660>`_
Undocumented
`h_apply_fci_mono_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2800>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L2545>`_ `h_apply_fci_mono_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2765>`_
Undocumented
`h_apply_fci_mono_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3129>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L330>`_ `h_apply_fci_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L472>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L1998>`_ `h_apply_fci_no_skip <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2439>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L1472>`_ `h_apply_fci_no_skip_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1768>`_
Undocumented
`h_apply_fci_no_skip_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1908>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L1801>`_ `h_apply_fci_no_skip_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1873>`_
Undocumented
`h_apply_fci_no_skip_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L2237>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L1265>`_ `h_apply_fci_pt2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1558>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L773>`_ `h_apply_fci_pt2_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L923>`_
Undocumented
`h_apply_fci_pt2_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1061>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L1082>`_ `h_apply_fci_pt2_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1027>`_
Undocumented
`h_apply_fci_pt2_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L1370>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L4258>`_ `h_apply_pt2_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L5141>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L3764>`_ `h_apply_pt2_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4504>`_
Undocumented
`h_apply_pt2_mono_delta_rho_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4642>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L4073>`_ `h_apply_pt2_mono_delta_rho_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4608>`_
Undocumented
`h_apply_pt2_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4951>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L5729>`_ `h_apply_pt2_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L6906>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L5237>`_ `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#L6271>`_
Undocumented
`h_apply_pt2_mono_di_delta_rho_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L6409>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L5546>`_ `h_apply_pt2_mono_di_delta_rho_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L6375>`_
Undocumented
`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#L6718>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L3518>`_ `h_apply_select_mono_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4255>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L2990>`_ `h_apply_select_mono_delta_rho_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3582>`_
Undocumented
`h_apply_select_mono_delta_rho_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3722>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L3319>`_ `h_apply_select_mono_delta_rho_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L3687>`_
Undocumented
`h_apply_select_mono_delta_rho_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L4051>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L4991>`_ `h_apply_select_mono_di_delta_rho <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L6022>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L4465>`_ `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#L5351>`_
Undocumented
`h_apply_select_mono_di_delta_rho_diexcorg <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L5491>`_
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/plugins/Full_CI/H_apply.irp.f_shell_43#L4794>`_ `h_apply_select_mono_di_delta_rho_diexcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/Full_CI/H_apply.irp.f_shell_43#L5456>`_
Undocumented
`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#L5820>`_
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

@ -374,7 +374,7 @@ Documentation
Find A.C = B Find A.C = B
`find_triples_and_quadruples <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L271>`_ `find_triples_and_quadruples <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L298>`_
Undocumented Undocumented
@ -400,6 +400,22 @@ Documentation
Undocumented Undocumented
`gen_det_idx <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L288>`_
Undocumented
`gen_det_shortcut <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L286>`_
Undocumented
`gen_det_sorted <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L285>`_
Undocumented
`gen_det_version <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L287>`_
Undocumented
`get_pseudo_inverse <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L95>`_ `get_pseudo_inverse <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/LinearAlgebra.irp.f#L95>`_
Find C = A^-1 Find C = A^-1
@ -781,10 +797,6 @@ Documentation
Undocumented Undocumented
`mrcc_dress_simple <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_dress.irp.f#L225>`_
Undocumented
`mrcc_iterations <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_general.irp.f#L7>`_ `mrcc_iterations <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils/mrcc_general.irp.f#L7>`_
Undocumented Undocumented

View File

@ -95,7 +95,20 @@ subroutine mrcc_dress(delta_ij_, delta_ii_, Ndet_ref, Ndet_non_ref,i_generator,n
integer :: idx_miniList(N_det_non_ref), N_miniList integer :: idx_miniList(N_det_non_ref), N_miniList
call find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq)
! N_miniList = 0
! do i=i_generator-1,1,-1
! k = popcnt(key_mask(1,1)) + popcnt(key_mask(1,2)) - popcnt(iand(key_mask(1,1), psi_det_generators(1,1,i))) - popcnt(iand(key_mask(1,2), psi_det_generators(1,2,i)))
! if(k == 0) then
! return
! end if
! if(k <= 2) then
! N_minilist += 1
! miniList(:,:,N_minilist) = psi_det_generators(:,:,i)
! end if
! end do
call find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq,miniList,N_minilist)
allocate (dIa_hla(N_states,Ndet_non_ref)) allocate (dIa_hla(N_states,Ndet_non_ref))
@ -222,53 +235,67 @@ end
subroutine mrcc_dress_simple(delta_ij_non_ref_,Ndet_non_ref,i_generator,n_selected,det_buffer,Nint,iproc) ! subroutine mrcc_dress_simple(delta_ij_non_ref_,Ndet_non_ref,i_generator,n_selected,det_buffer,Nint,iproc)
use bitmasks ! use bitmasks
implicit none ! implicit none
!
integer, intent(in) :: i_generator,n_selected, Nint, iproc ! integer, intent(in) :: i_generator,n_selected, Nint, iproc
integer, intent(in) :: Ndet_non_ref ! integer, intent(in) :: Ndet_non_ref
double precision, intent(inout) :: delta_ij_non_ref_(Ndet_non_ref,Ndet_non_ref,*) ! double precision, intent(inout) :: delta_ij_non_ref_(Ndet_non_ref,Ndet_non_ref,*)
!
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected) ! integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
integer :: i,j,k,m ! integer :: i,j,k,m
integer :: new_size ! integer :: new_size
integer :: degree(psi_det_size) ! integer :: degree(psi_det_size)
integer :: idx(0:psi_det_size) ! integer :: idx(0:psi_det_size)
logical :: good ! logical :: good
!
integer(bit_kind) :: tq(Nint,2,n_selected) ! integer(bit_kind) :: tq(Nint,2,n_selected)
integer :: N_tq, c_ref ! integer :: N_tq, c_ref
integer :: connected_to_ref ! integer :: connected_to_ref
!
call find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq) !
! call find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq)
! Compute <k|H|a><a|H|j> / (E0 - Haa) !
double precision :: hka, haa ! ! Compute <k|H|a><a|H|j> / (E0 - Haa)
double precision :: haj ! double precision :: hka, haa
double precision :: f(N_states) ! double precision :: haj
! double precision :: f(N_states)
do i=1,N_tq !
call get_excitation_degree_vector(psi_non_ref,tq(1,1,i),degree,Nint,Ndet_non_ref,idx) ! do i=1,N_tq
call i_h_j(tq(1,1,i),tq(1,1,i),Nint,haa) ! call get_excitation_degree_vector(psi_non_ref,tq(1,1,i),degree,Nint,Ndet_non_ref,idx)
do m=1,N_states ! call i_h_j(tq(1,1,i),tq(1,1,i),Nint,haa)
f(m) = 1.d0/(ci_electronic_energy(m)-haa) ! do m=1,N_states
enddo ! f(m) = 1.d0/(ci_electronic_energy(m)-haa)
do k=1,idx(0) ! enddo
call i_h_j(tq(1,1,i),psi_non_ref(1,1,idx(k)),Nint,hka) ! do k=1,idx(0)
do j=k,idx(0) ! call i_h_j(tq(1,1,i),psi_non_ref(1,1,idx(k)),Nint,hka)
call i_h_j(tq(1,1,i),psi_non_ref(1,1,idx(j)),Nint,haj) ! do j=k,idx(0)
do m=1,N_states ! call i_h_j(tq(1,1,i),psi_non_ref(1,1,idx(j)),Nint,haj)
delta_ij_non_ref_(idx(k), idx(j),m) += haj*hka* f(m) ! do m=1,N_states
delta_ij_non_ref_(idx(j), idx(k),m) += haj*hka* f(m) ! delta_ij_non_ref_(idx(k), idx(j),m) += haj*hka* f(m)
enddo ! delta_ij_non_ref_(idx(j), idx(k),m) += haj*hka* f(m)
enddo ! enddo
enddo ! enddo
enddo ! enddo
end ! enddo
! end
subroutine find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq) BEGIN_PROVIDER [ integer(bit_kind), gen_det_sorted, (N_int,2,N_det_generators,2) ]
&BEGIN_PROVIDER [ integer, gen_det_shortcut, (0:N_det_generators,2) ]
&BEGIN_PROVIDER [ integer, gen_det_version, (N_int, N_det_generators,2) ]
&BEGIN_PROVIDER [ integer, gen_det_idx, (N_det_generators,2) ]
gen_det_sorted(:,:,:,1) = psi_det_generators(:,:,:N_det_generators)
gen_det_sorted(:,:,:,2) = psi_det_generators(:,:,:N_det_generators)
call sort_dets_ab_v(gen_det_sorted(:,:,:,1), gen_det_idx(:,1), gen_det_shortcut(0:,1), gen_det_version(:,:,1), N_det_generators, N_int)
call sort_dets_ba_v(gen_det_sorted(:,:,:,2), gen_det_idx(:,2), gen_det_shortcut(0:,2), gen_det_version(:,:,2), N_det_generators, N_int)
print *, " *********************** ", gen_det_shortcut(0,:)
END_PROVIDER
subroutine find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq,miniList,N_miniList)
use bitmasks use bitmasks
implicit none implicit none
@ -286,12 +313,158 @@ subroutine find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq
integer :: c_ref integer :: c_ref
integer :: connected_to_ref integer :: connected_to_ref
integer :: na, nb, nt,mex, lex, sh,ni
integer(bit_kind),intent(in) :: miniList(Nint,2,N_det_generators)
integer,intent(in) :: N_miniList
N_tq = 0 N_tq = 0
do i=1,N_selected do i=1,N_selected
! c_ref = 0
! do j=1,N_miniList
! na = popcnt(xor(miniList(1,1,j), det_buffer(1,1,i)))
! nb = popcnt(xor(miniList(1,2,j), det_buffer(1,2,i)))
! if(na+nb <= 4) then
! c_ref = 1
! exit
! end if
! end do
!
! if(Nint /= 1) then
! c_ref = 0
! na = 0
! nb = 0
! do ni=1,Nint
! na += popcnt(xor(det_buffer(ni,1,i), psi_ref(ni,1,1)))
! nb += popcnt(xor(det_buffer(ni,2,i), psi_ref(ni,2,1)))
! end do
! if(na > nb) then
! mex = 1
! lex = 2
! else
! mex = 2
! lex = 1
! end if
!
!
! sh_loop : do sh=1,gen_det_shortcut(0,lex)
! do ni=1,Nint
! if(det_buffer(ni,lex,i) /= gen_det_sorted(ni,lex,gen_det_shortcut(sh, lex),lex)) then
! cycle sh_loop
! end if
! end do
! do j=gen_det_shortcut(sh,lex),gen_det_shortcut(sh+1,lex)-1
! if(gen_det_idx(j,lex) >= i_generator) then
! cycle
! end if
! nt = 0
! do ni=1,nint
! nt += popcnt(xor(det_buffer(ni,mex,i), gen_det_sorted(ni,mex,j,lex)))
! end do
! if(nt <= 4) then
! ! if(gen_det_idx(j,lex) < i_generator) then
! c_ref = 1!gen_det_idx(j,lex)
! exit sh_loop
! ! end if
! end if
! end do
! exit sh_loop
! end do sh_loop
!
! if(c_ref == 0) then
! sh_loop2 : do sh = 1,gen_det_shortcut(0,mex)
! na = 0
! do ni=1,Nint
! na += popcnt(xor(det_buffer(ni,mex,i), gen_det_sorted(ni,mex,gen_det_shortcut(sh, mex),mex)))
! end do
! if(na > 2) then
! cycle
! end if
! do j=gen_det_shortcut(sh, mex), gen_det_shortcut(sh+1,mex)-1
! if(gen_det_idx(j,mex) >= i_generator) then
! cycle
! end if
! nt = na
! do ni=1,Nint
! nt += popcnt(xor(det_buffer(ni,lex,i), gen_det_sorted(ni,lex,j,mex)))
! end do
! if(nt <= 4) then
! ! if(gen_det_idx(j,mex) < i_generator) then
! c_ref = 2!gen_det_idx(j,mex)
! exit sh_loop2
! ! end if
! end if
! end do
! end do sh_loop2
! end if
! else
! c_ref = 0
! na = popcnt(xor(det_buffer(1,1,i), psi_ref(1,1,1)))
! nb = popcnt(xor(det_buffer(1,2,i), psi_ref(1,2,1)))
! if(na > nb) then
! mex = 1
! lex = 2
! else
! mex = 2
! lex = 1
! end if
!
!
! sh_loop3 : do sh=1,gen_det_shortcut(0,lex)
! if(det_buffer(1,lex,i) /= gen_det_version(1,sh,lex)) then!gen_det_sorted(1,lex,gen_det_shortcut(sh, lex),lex)) then
! cycle sh_loop3
! end if
! do j=gen_det_shortcut(sh,lex),gen_det_shortcut(sh+1,lex)-1
! if(gen_det_idx(j,lex) >= i_generator) then
! cycle
! end if
! nt = popcnt(xor(det_buffer(1,mex,i), gen_det_sorted(1,mex,j,lex)))
! if(nt <= 4) then
! ! if(gen_det_idx(j,lex) < i_generator) then
! c_ref = 1!gen_det_idx(j,lex)
! exit sh_loop3
! ! end if
! end if
! end do
! exit sh_loop3
! end do sh_loop3
!
! if(c_ref == 0) then
! sh_loop4 : do sh = 1,gen_det_shortcut(0,mex)
! na = popcnt(xor(det_buffer(1,mex,i),gen_det_version(1,sh,mex)))! gen_det_sorted(1,mex,gen_det_shortcut(sh, mex),mex)))
! if(na > 2) then
! cycle sh_loop4
! end if
! do j=gen_det_shortcut(sh, mex), gen_det_shortcut(sh+1,mex)-1
! if(gen_det_idx(j,mex) >= i_generator) then
! cycle
! end if
! nt = na
! nt += popcnt(xor(det_buffer(1,lex,i), gen_det_sorted(1,lex,j,mex)))
! if(nt <= 4) then
! ! if(gen_det_idx(j,mex) < i_generator) then
! c_ref = 2!gen_det_idx(j,mex)
! exit sh_loop4
! ! end if
! end if
! end do
! end do sh_loop4
! end if
! end if
c_ref = connected_to_ref(det_buffer(1,1,i),psi_det_generators,Nint, & c_ref = connected_to_ref(det_buffer(1,1,i),psi_det_generators,Nint, &
i_generator,N_det_generators) i_generator,N_det_generators)
if (c_ref /= 0) then if (c_ref /= 0) then
cycle cycle
endif endif

View File

@ -107,22 +107,22 @@ Documentation
Undocumented Undocumented
`perturb_buffer_by_mono_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L161>`_ `perturb_buffer_by_mono_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L896>`_
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/plugins/Perturbation/perturbation.irp.f_shell_13#L266>`_ `perturb_buffer_by_mono_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L476>`_
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/plugins/Perturbation/perturbation.irp.f_shell_13#L371>`_ `perturb_buffer_by_mono_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L266>`_
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/plugins/Perturbation/perturbation.irp.f_shell_13#L476>`_ `perturb_buffer_by_mono_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L371>`_
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.
@ -142,7 +142,7 @@ Documentation
routine. routine.
`perturb_buffer_by_mono_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L896>`_ `perturb_buffer_by_mono_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L161>`_
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.
@ -152,22 +152,22 @@ Documentation
routine. routine.
`perturb_buffer_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L110>`_ `perturb_buffer_delta_rho_one_point <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L845>`_
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/plugins/Perturbation/perturbation.irp.f_shell_13#L215>`_ `perturb_buffer_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L425>`_
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/plugins/Perturbation/perturbation.irp.f_shell_13#L320>`_ `perturb_buffer_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L215>`_
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/plugins/Perturbation/perturbation.irp.f_shell_13#L425>`_ `perturb_buffer_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L320>`_
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.
@ -187,7 +187,7 @@ Documentation
routine. routine.
`perturb_buffer_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L845>`_ `perturb_buffer_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/perturbation.irp.f_shell_13#L110>`_
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.

View File

@ -31,30 +31,30 @@ subroutine $subroutine_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl
end do end do
end do end do
! GEL D'ELECTRONS ! ! GEL D'ELECTRONS
! nt = 0 ! ! nt = 0
! do i=1,i_generator-1 ! do i=1,i_generator-1
! if(key_in(1,1) == key_prev(1,1,i)) then ! if(key_in(1,1) == key_prev(1,1,i)) then
! tmp = xor(key_in(1,2), key_prev(1,2,i)) ! tmp = xor(key_in(1,2), key_prev(1,2,i))
! if(popcnt(tmp) == 2) then ! if(popcnt(tmp) == 2) then
! ns = 1+trailz(iand(tmp, key_in(1,2))) ! ns = 1+trailz(iand(tmp, key_in(1,2)))
! if(status(ns, 2) /= 0) then ! ! if(status(ns, 2) /= 0) then
! nt += 1 ! ! nt += 1
! end if ! ! end if
! status(ns, 2) = 0 ! status(ns, 2) = 0
! end if ! end if
! else if(key_in(1,2) == key_prev(1,2,i)) then ! else if(key_in(1,2) == key_prev(1,2,i)) then
! tmp = xor(key_in(1,1), key_prev(1,1,i)) ! tmp = xor(key_in(1,1), key_prev(1,1,i))
! if(popcnt(tmp) == 2) then ! if(popcnt(tmp) == 2) then
! ns = 1+trailz(iand(tmp, key_in(1,1))) ! ns = 1+trailz(iand(tmp, key_in(1,1)))
! if(status(ns, 1) /= 0) then ! ! if(status(ns, 1) /= 0) then
! nt += 1 ! ! nt += 1
! end if ! ! end if
! status(ns, 1) = 0 ! status(ns, 1) = 0
! end if ! end if
! end if ! end if
! end do ! end do
! print *, "nt", nt, i_generator ! ! print *, "nt", nt, i_generator
do sp=1,2 do sp=1,2

View File

@ -157,11 +157,11 @@ Documentation
of alpha and beta determinants of alpha and beta determinants
`davidson_converged <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L492>`_ `davidson_converged <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L557>`_
True if the Davidson algorithm is converged True if the Davidson algorithm is converged
`davidson_criterion <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L482>`_ `davidson_criterion <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L547>`_
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ] Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
@ -184,7 +184,7 @@ Documentation
Initial guess vectors are not necessarily orthonormal Initial guess vectors are not necessarily orthonormal
`davidson_diag_hjj <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L168>`_ `davidson_diag_hjj <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L233>`_
Davidson diagonalization with specific diagonal elements of the H matrix Davidson diagonalization with specific diagonal elements of the H matrix
.br .br
H_jj : specific diagonal H matrix elements to diagonalize de Davidson H_jj : specific diagonal H matrix elements to diagonalize de Davidson
@ -213,7 +213,7 @@ Documentation
Max number of Davidson sizes Max number of Davidson sizes
`davidson_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L483>`_ `davidson_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L548>`_
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ] Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
@ -229,7 +229,7 @@ Documentation
det_coef det_coef
`det_connections <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1379>`_ `det_connections <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1380>`_
Build connection proxy between determinants Build connection proxy between determinants
@ -457,7 +457,7 @@ Documentation
H_jj : array of <j|H|j> H_jj : array of <j|H|j>
`h_u_0_org <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1302>`_ `h_u_0_org <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1303>`_
Computes v_0 = H|u_0> Computes v_0 = H|u_0>
.br .br
n : number of determinants n : number of determinants
@ -556,7 +556,7 @@ Documentation
Energy of the reference bitmask used in Slater rules Energy of the reference bitmask used in Slater rules
`n_con_int <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1371>`_ `n_con_int <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/slater_rules.irp.f#L1372>`_
Number of integers to represent the connections between determinants Number of integers to represent the connections between determinants
@ -921,7 +921,15 @@ Documentation
for a given couple of hole/particle excitations i. for a given couple of hole/particle excitations i.
`sort_dets_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L124>`_ `sort_dets_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L189>`_
Undocumented
`sort_dets_ab_v <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L143>`_
Undocumented
`sort_dets_ba_v <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/davidson.irp.f#L123>`_
Undocumented Undocumented

View File

@ -120,6 +120,71 @@ subroutine tamiser(key, idx, no, n, Nint, N_key)
end do end do
end subroutine end subroutine
subroutine sort_dets_ba_v(key, idx, shortcut, version, N_key, Nint)
use bitmasks
implicit none
integer(bit_kind),intent(inout) :: key(Nint,2,N_key)
integer,intent(out) :: idx(N_key)
integer,intent(out) :: shortcut(0:N_key+1)
integer(bit_kind),intent(out) :: version(Nint,N_key+1)
integer, intent(in) :: Nint, N_key
integer(bit_kind) :: tmp(Nint, 2,N_key)
tmp(:,1,:N_key) = key(:,2,:N_key)
tmp(:,2,:N_key) = key(:,1,:N_key)
call sort_dets_ab_v(tmp, idx, shortcut, version, N_key, Nint)
key(:,1,:N_key) = tmp(:,2,:N_key)
key(:,2,:N_key) = tmp(:,1,:N_key)
end subroutine
subroutine sort_dets_ab_v(key, idx, shortcut, version, N_key, Nint)
use bitmasks
implicit none
integer(bit_kind),intent(inout) :: key(Nint,2,N_key)
integer,intent(out) :: idx(N_key)
integer,intent(out) :: shortcut(0:N_key+1)
integer(bit_kind),intent(out) :: version(Nint,N_key+1)
integer, intent(in) :: Nint, N_key
integer(bit_kind) :: tmp(Nint, 2)
integer :: tmpidx,i,ni
do i=1,N_key
idx(i) = i
end do
do i=N_key/2,1,-1
call tamiser(key, idx, i, N_key, Nint, N_key)
end do
do i=N_key,2,-1
tmp(:,:) = key(:,:,i)
key(:,:,i) = key(:,:,1)
key(:,:,1) = tmp(:,:)
tmpidx = idx(i)
idx(i) = idx(1)
idx(1) = tmpidx
call tamiser(key, idx, 1, i-1, Nint, N_key)
end do
shortcut(0) = 1
shortcut(1) = 1
do i=2,N_key
do ni=1,nint
if(key(ni,1,i) /= key(ni,1,i-1)) then
shortcut(0) = shortcut(0) + 1
shortcut(shortcut(0)) = i
version(:,shortcut(0)) = key(:,1,i)
exit
end if
end do
end do
shortcut(shortcut(0)+1) = N_key+1
end subroutine
subroutine sort_dets_ab(key, idx, shortcut, N_key, Nint) subroutine sort_dets_ab(key, idx, shortcut, N_key, Nint)
use bitmasks use bitmasks

View File

@ -1251,9 +1251,10 @@ subroutine H_u_0(v_0,u_0,H_jj,n,keys_tmp,shortcut,sort_idx,Nint)
allocate(idx(0:n), vt(n)) allocate(idx(0:n), vt(n))
Vt = 0.d0 Vt = 0.d0
v_0 = 0.d0 v_0 = 0.d0
!$OMP DO SCHEDULE(dynamic) !$OMP DO SCHEDULE(dynamic)
do sh=1,shortcut(0) do sh=1,shortcut(0)
warp(1,0) = 0 warp(1,0) = 0
do ii=1,sh!shortcut(0) do ii=1,sh!shortcut(0)

View File

@ -203,83 +203,95 @@ Documentation
Output file for Bitmask Output file for Bitmask
`output_cas_sd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L41>`_
Output file for CAS_SD
`output_cpu_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L2>`_ `output_cpu_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L2>`_
Initial CPU and wall times when printing in the output files Initial CPU and wall times when printing in the output files
`output_determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L41>`_ `output_determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L61>`_
Output file for Determinants Output file for Determinants
`output_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L61>`_ `output_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L81>`_
Output file for Electrons Output file for Electrons
`output_ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L81>`_ `output_ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L101>`_
Output file for Ezfio_files Output file for Ezfio_files
`output_generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L101>`_ `output_full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L121>`_
Output file for Full_CI
`output_generators_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L141>`_
Output file for Generators_CAS
`output_generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L161>`_
Output file for Generators_full Output file for Generators_full
`output_hartree_fock <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L121>`_ `output_hartree_fock <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L181>`_
Output file for Hartree_Fock Output file for Hartree_Fock
`output_integrals_bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L141>`_ `output_integrals_bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L201>`_
Output file for Integrals_Bielec Output file for Integrals_Bielec
`output_integrals_monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L161>`_ `output_integrals_monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L221>`_
Output file for Integrals_Monoelec Output file for Integrals_Monoelec
`output_mo_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L181>`_ `output_mo_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L241>`_
Output file for MO_Basis Output file for MO_Basis
`output_moguess <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L201>`_ `output_moguess <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L261>`_
Output file for MOGuess Output file for MOGuess
`output_mrcc_cassd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L221>`_ `output_mrcc_cassd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L281>`_
Output file for MRCC_CASSD Output file for MRCC_CASSD
`output_mrcc_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L241>`_ `output_mrcc_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L301>`_
Output file for MRCC_Utils Output file for MRCC_Utils
`output_nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L261>`_ `output_nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L321>`_
Output file for Nuclei Output file for Nuclei
`output_perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L281>`_ `output_perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L341>`_
Output file for Perturbation Output file for Perturbation
`output_properties <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L301>`_ `output_properties <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L361>`_
Output file for Properties Output file for Properties
`output_pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L321>`_ `output_pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L381>`_
Output file for Pseudo Output file for Pseudo
`output_psiref_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L341>`_ `output_psiref_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L401>`_
Output file for Psiref_CAS Output file for Psiref_CAS
`output_psiref_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L361>`_ `output_psiref_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L421>`_
Output file for Psiref_Utils Output file for Psiref_Utils
`output_selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L381>`_ `output_selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L441>`_
Output file for Selectors_full Output file for Selectors_full
`output_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L401>`_ `output_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L461>`_
Output file for Utils Output file for Utils