From 21d42dc7d7cd7f022e933435eca35ee80b3dc1f8 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sun, 6 Dec 2020 22:58:30 +0100 Subject: [PATCH] Update documentation --- docs/source/auto_generate.py | 2 +- docs/source/conf.py | 4 +- docs/source/index.rst | 1 - docs/source/modules/ao_basis.rst | 52 +- docs/source/modules/ao_one_e_ints.rst | 243 +++- docs/source/modules/ao_two_e_erf_ints.rst | 31 +- docs/source/modules/ao_two_e_ints.rst | 380 ++++-- docs/source/modules/becke_numerical_grid.rst | 103 +- docs/source/modules/cipsi.rst | 1015 +++++++++++---- docs/source/modules/cis.rst | 46 +- docs/source/modules/cisd.rst | 109 +- docs/source/modules/davidson.rst | 389 +++--- docs/source/modules/density_for_dft.rst | 110 +- docs/source/modules/determinants.rst | 1152 +++++++++++------ docs/source/modules/dft_keywords.rst | 6 - docs/source/modules/electrons.rst | 2 - docs/source/modules/fci.rst | 18 + docs/source/modules/hartree_fock.rst | 59 +- docs/source/modules/iterations.rst | 10 +- docs/source/modules/kohn_sham_rs.rst | 2 +- docs/source/modules/mo_basis.rst | 265 ++-- docs/source/modules/mo_one_e_ints.rst | 48 +- docs/source/modules/mo_two_e_erf_ints.rst | 33 +- docs/source/modules/mo_two_e_ints.rst | 332 +++-- docs/source/modules/nuclei.rst | 11 +- docs/source/modules/perturbation.rst | 127 +- docs/source/modules/scf_utils.rst | 82 +- docs/source/modules/tools.rst | 110 +- docs/source/programmers_guide/conventions.rst | 9 +- docs/source/programs/cisd.rst | 3 +- docs/source/programs/fci.rst | 6 +- docs/source/programs/fcidump.rst | 23 +- docs/source/programs/ks_scf.rst | 4 +- docs/source/programs/molden.rst | 24 +- docs/source/programs/pt2.rst | 7 +- docs/source/programs/rotate_mos.rst | 2 +- docs/source/programs/rs_ks_scf.rst | 4 +- docs/source/programs/save_natorb.rst | 3 +- docs/source/programs/save_ortho_mos.rst | 7 + docs/source/programs/scf.rst | 4 - .../source/programs/sort_by_fock_energies.rst | 4 +- docs/source/programs/test.rst | 5 +- docs/source/programs/write_integrals_erf.rst | 2 +- docs/source/research.bib | 493 ------- 44 files changed, 3117 insertions(+), 2225 deletions(-) delete mode 100644 docs/source/research.bib diff --git a/docs/source/auto_generate.py b/docs/source/auto_generate.py index 11029c3b..d767b922 100755 --- a/docs/source/auto_generate.py +++ b/docs/source/auto_generate.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os diff --git a/docs/source/conf.py b/docs/source/conf.py index 8d6a023e..21498968 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,9 +24,9 @@ copyright = '2019, A. Scemama, E. Giner' author = 'A. Scemama, E. Giner' # The short X.Y version -version = '2.0' +version = '2.1' # The full version, including alpha/beta/rc tags -release = '2.0' +release = '2.1' # -- General configuration --------------------------------------------------- diff --git a/docs/source/index.rst b/docs/source/index.rst index d6f9617c..4231b1f8 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -50,7 +50,6 @@ :hidden: appendix/benchmarks - appendix/research appendix/license appendix/contributors diff --git a/docs/source/modules/ao_basis.rst b/docs/source/modules/ao_basis.rst index 8612f0e9..3e3821d3 100644 --- a/docs/source/modules/ao_basis.rst +++ b/docs/source/modules/ao_basis.rst @@ -118,10 +118,12 @@ Providers * :c:data:`ao_coef` * :c:data:`ao_expo` + * :c:data:`ao_normalized` * :c:data:`ao_num` * :c:data:`ao_power` * :c:data:`ao_prim_num` * :c:data:`ao_prim_num_max` + * :c:data:`primitives_normalized` Needed by: @@ -177,10 +179,12 @@ Providers * :c:data:`ao_coef` * :c:data:`ao_expo` + * :c:data:`ao_normalized` * :c:data:`ao_num` * :c:data:`ao_power` * :c:data:`ao_prim_num` * :c:data:`ao_prim_num_max` + * :c:data:`primitives_normalized` Needed by: @@ -261,10 +265,7 @@ Providers * :c:data:`ao_pseudo_integrals_local` * :c:data:`ao_pseudo_integrals_non_local` * :c:data:`ao_spread_x` - * :c:data:`ao_two_e_integral_alpha` - * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integral_schwartz` - * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`ao_two_e_integrals_in_map` @@ -363,10 +364,7 @@ Providers * :c:data:`ao_pseudo_integrals_local` * :c:data:`ao_pseudo_integrals_non_local` * :c:data:`ao_spread_x` - * :c:data:`ao_two_e_integral_alpha` - * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integral_schwartz` - * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`ao_two_e_integrals_in_map` @@ -853,10 +851,7 @@ Providers * :c:data:`ao_integrals_n_e` * :c:data:`ao_integrals_n_e_per_atom` - * :c:data:`ao_two_e_integral_alpha` - * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integral_schwartz` - * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`gauleg_t2` @@ -888,10 +883,7 @@ Providers * :c:data:`ao_integrals_n_e` * :c:data:`ao_integrals_n_e_per_atom` - * :c:data:`ao_two_e_integral_alpha` - * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integral_schwartz` - * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`gauleg_t2` @@ -1088,10 +1080,10 @@ Subroutines / functions :columns: 3 * :c:data:`ao_coef_normalized_ordered_transp` - * :c:data:`ao_power` * :c:data:`ao_expo_ordered_transp` - * :c:data:`ao_prim_num` * :c:data:`ao_nucl` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` * :c:data:`nucl_coord` @@ -1117,14 +1109,14 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_expo_ordered_transp_per_nucl` - * :c:data:`ao_power_ordered_transp_per_nucl` - * :c:data:`nucl_n_aos` - * :c:data:`ao_num` - * :c:data:`ao_prim_num` * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` * :c:data:`nucl_aos_transposed` * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` * :c:data:`nucl_num` Called by: @@ -1158,14 +1150,14 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_expo_ordered_transp_per_nucl` - * :c:data:`ao_power_ordered_transp_per_nucl` - * :c:data:`nucl_n_aos` - * :c:data:`ao_num` - * :c:data:`ao_prim_num` * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` * :c:data:`nucl_aos_transposed` * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` * :c:data:`nucl_num` Called by: @@ -1195,14 +1187,14 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_expo_ordered_transp_per_nucl` - * :c:data:`ao_power_ordered_transp_per_nucl` - * :c:data:`nucl_n_aos` - * :c:data:`ao_num` - * :c:data:`ao_prim_num` * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` * :c:data:`nucl_aos_transposed` * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` * :c:data:`nucl_num` Called by: @@ -1233,6 +1225,6 @@ Subroutines / functions * :c:data:`ao_expo_ordered_transp` * :c:data:`ao_nucl` - * :c:data:`nucl_coord` * :c:data:`ao_power` + * :c:data:`nucl_coord` diff --git a/docs/source/modules/ao_one_e_ints.rst b/docs/source/modules/ao_one_e_ints.rst index ae8bda04..e0ad5873 100644 --- a/docs/source/modules/ao_one_e_ints.rst +++ b/docs/source/modules/ao_one_e_ints.rst @@ -12,12 +12,11 @@ All the one-electron integrals in the |AO| basis are here. The most important providers for usual quantum-chemistry calculation are: -* `ao_kinetic_integral` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_ao_ints.irp.f`) -* `ao_nucl_elec_integral` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_ao_ints.irp.f`) -* `ao_one_e_integrals` which are the the h_core operator integrals on the |AO| basis (see :file:`ao_mono_ints.irp.f`) +* `ao_kinetic_integrals` which are the kinetic operator integrals on the |AO| basis +* `ao_integrals_n_e` which are the nuclear-elctron operator integrals on the |AO| basis +* `ao_one_e_integrals` which are the the h_core operator integrals on the |AO| basis -Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_ao.irp.f`. @@ -144,6 +143,7 @@ Providers * :c:data:`ao_cart_to_sphe_coef` * :c:data:`ao_num` + * :c:data:`lin_dep_cutoff` @@ -570,6 +570,8 @@ Providers Nucleus-electron interaction, in the |AO| basis set. :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle` + + These integrals also contain the pseudopotential integrals. Needs: @@ -582,11 +584,13 @@ Providers * :c:data:`ao_num` * :c:data:`ao_power` * :c:data:`ao_prim_num` + * :c:data:`ao_pseudo_integrals` + * :c:data:`do_pseudo` * :c:data:`n_pt_max_integrals` * :c:data:`nucl_charge` * :c:data:`nucl_coord` * :c:data:`nucl_num` - * :c:data:`read_ao_integrals_e_n` + * :c:data:`read_ao_integrals_n_e` Needed by: @@ -594,11 +598,33 @@ Providers :columns: 3 * :c:data:`ao_one_e_integrals` - * :c:data:`ao_ortho_canonical_nucl_elec_integrals` - * :c:data:`ao_ortho_lowdin_nucl_elec_integrals` * :c:data:`mo_integrals_n_e` +.. c:var:: ao_integrals_n_e_imag + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_integrals_n_e_imag (ao_num,ao_num) + + + Nucleus-electron interaction, in the |AO| basis set. + + :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`read_ao_integrals_n_e` + + + .. c:var:: ao_integrals_n_e_per_atom @@ -669,6 +695,31 @@ Providers * :c:data:`mo_kinetic_integrals` +.. c:var:: ao_kinetic_integrals_imag + + + File : :file:`ao_one_e_ints/kin_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_kinetic_integrals_imag (ao_num,ao_num) + + + Kinetic energy integrals in the |AO| basis. + + :math:`\langle \chi_i |\hat{T}| \chi_j \rangle` + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`read_ao_integrals_kinetic` + + + .. c:var:: ao_one_e_integrals @@ -690,18 +741,8 @@ Providers * :c:data:`ao_integrals_n_e` * :c:data:`ao_kinetic_integrals` * :c:data:`ao_num` - * :c:data:`ao_pseudo_integrals` - * :c:data:`do_pseudo` * :c:data:`read_ao_one_e_integrals` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`hf_energy` - * :c:data:`scf_energy` .. c:var:: ao_one_e_integrals_diag @@ -725,18 +766,30 @@ Providers * :c:data:`ao_integrals_n_e` * :c:data:`ao_kinetic_integrals` * :c:data:`ao_num` - * :c:data:`ao_pseudo_integrals` - * :c:data:`do_pseudo` * :c:data:`read_ao_one_e_integrals` - Needed by: + + +.. c:var:: ao_one_e_integrals_imag + + + File : :file:`ao_one_e_ints/ao_one_e_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_one_e_integrals_imag (ao_num,ao_num) + + + One-electron Hamiltonian in the |AO| basis. + + Needs: .. hlist:: :columns: 3 - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`hf_energy` - * :c:data:`scf_energy` + * :c:data:`ao_num` + * :c:data:`read_ao_one_e_integrals` + .. c:var:: ao_ortho_canonical_coef @@ -764,6 +817,8 @@ Providers * :c:data:`ao_cartesian` * :c:data:`ao_num` * :c:data:`ao_overlap` + * :c:data:`lin_dep_cutoff` + * :c:data:`mpi_master` Needed by: @@ -771,7 +826,6 @@ Providers :columns: 3 * :c:data:`ao_ortho_canonical_coef_inv` - * :c:data:`ao_ortho_canonical_nucl_elec_integrals` * :c:data:`ao_ortho_canonical_overlap` * :c:data:`mo_coef` * :c:data:`mo_num` @@ -830,6 +884,8 @@ Providers * :c:data:`ao_cartesian` * :c:data:`ao_num` * :c:data:`ao_overlap` + * :c:data:`lin_dep_cutoff` + * :c:data:`mpi_master` Needed by: @@ -837,7 +893,6 @@ Providers :columns: 3 * :c:data:`ao_ortho_canonical_coef_inv` - * :c:data:`ao_ortho_canonical_nucl_elec_integrals` * :c:data:`ao_ortho_canonical_overlap` * :c:data:`mo_coef` * :c:data:`mo_num` @@ -906,9 +961,7 @@ Providers * :c:data:`ao_cart_to_sphe_overlap` * :c:data:`ao_ortho_canonical_coef` * :c:data:`ao_ortho_canonical_overlap` - * :c:data:`ao_ortho_lowdin_coef` - * :c:data:`ao_ortho_lowdin_overlap` - * :c:data:`fps_spf_matrix_ao` + * :c:data:`ao_overlap_complex` * :c:data:`mo_overlap` * :c:data:`s_half` * :c:data:`s_half_inv` @@ -939,19 +992,69 @@ Providers * :c:data:`ao_expo_ordered_transp` * :c:data:`ao_nucl` * :c:data:`ao_num` + * :c:data:`ao_overlap_complex` * :c:data:`ao_power` * :c:data:`ao_prim_num` + * :c:data:`is_periodic` * :c:data:`nucl_coord` + + +.. c:var:: ao_overlap_complex + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + complex*16, allocatable :: ao_overlap_complex (ao_num,ao_num) + + + Overlap for complex AOs + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + * :c:data:`ao_overlap_imag` + Needed by: .. hlist:: :columns: 3 - * :c:data:`ao_two_e_integral_alpha` - * :c:data:`mo_two_e_int_erf_jj_from_ao` - * :c:data:`mo_two_e_integral_jj_from_ao` - * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`ao_overlap_abs` + * :c:data:`s_inv_complex` + + +.. c:var:: ao_overlap_imag + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_overlap_imag (ao_num,ao_num) + + + Imaginary part of the overlap + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_overlap_complex` .. c:var:: ao_overlap_x @@ -993,9 +1096,7 @@ Providers * :c:data:`ao_cart_to_sphe_overlap` * :c:data:`ao_ortho_canonical_coef` * :c:data:`ao_ortho_canonical_overlap` - * :c:data:`ao_ortho_lowdin_coef` - * :c:data:`ao_ortho_lowdin_overlap` - * :c:data:`fps_spf_matrix_ao` + * :c:data:`ao_overlap_complex` * :c:data:`mo_overlap` * :c:data:`s_half` * :c:data:`s_half_inv` @@ -1042,9 +1143,7 @@ Providers * :c:data:`ao_cart_to_sphe_overlap` * :c:data:`ao_ortho_canonical_coef` * :c:data:`ao_ortho_canonical_overlap` - * :c:data:`ao_ortho_lowdin_coef` - * :c:data:`ao_ortho_lowdin_overlap` - * :c:data:`fps_spf_matrix_ao` + * :c:data:`ao_overlap_complex` * :c:data:`mo_overlap` * :c:data:`s_half` * :c:data:`s_half_inv` @@ -1091,9 +1190,7 @@ Providers * :c:data:`ao_cart_to_sphe_overlap` * :c:data:`ao_ortho_canonical_coef` * :c:data:`ao_ortho_canonical_overlap` - * :c:data:`ao_ortho_lowdin_coef` - * :c:data:`ao_ortho_lowdin_overlap` - * :c:data:`fps_spf_matrix_ao` + * :c:data:`ao_overlap_complex` * :c:data:`mo_overlap` * :c:data:`s_half` * :c:data:`s_half_inv` @@ -1131,7 +1228,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`ao_one_e_integrals` + * :c:data:`ao_integrals_n_e` * :c:data:`mo_pseudo_integrals` @@ -1688,12 +1785,6 @@ Providers * :c:data:`ao_num` * :c:data:`ao_overlap` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`eigenvalues_fock_matrix_ao` .. c:var:: s_inv @@ -1715,6 +1806,30 @@ Providers * :c:data:`ao_num` * :c:data:`ao_overlap` + * :c:data:`lin_dep_cutoff` + + + +.. c:var:: s_inv_complex + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + complex*16, allocatable :: s_inv_complex (ao_num,ao_num) + + + Inverse of the overlap matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap_complex` + * :c:data:`lin_dep_cutoff` @@ -1722,6 +1837,28 @@ Providers Subroutines / functions ----------------------- +.. c:function:: ao_one_e_integral_zero: + + + File : :file:`ao_one_e_ints/screening.irp.f` + + .. code:: fortran + + logical function ao_one_e_integral_zero(i,k) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_overlap_abs` + * :c:data:`io_ao_integrals_overlap` + * :c:data:`is_periodic` + + .. c:function:: give_all_erf_kl_ao: @@ -1854,12 +1991,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_pt_max_integrals` * :c:data:`ao_coef_normalized_ordered_transp` - * :c:data:`ao_power` * :c:data:`ao_expo_ordered_transp` - * :c:data:`ao_prim_num` * :c:data:`ao_nucl` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` @@ -1949,14 +2086,14 @@ Subroutines / functions * :c:func:`overlap_bourrin_deriv_x` -.. c:function:: v_e_n: +.. c:function:: v_n_e: File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` .. code:: fortran - double precision function V_e_n(a_x,a_y,a_z,b_x,b_y,b_z,alpha,beta) + double precision function V_n_e(a_x,a_y,a_z,b_x,b_y,b_z,alpha,beta) Primitve nuclear attraction between the two primitves centered on the same atom. diff --git a/docs/source/modules/ao_two_e_erf_ints.rst b/docs/source/modules/ao_two_e_erf_ints.rst index f6b9108a..facd81c6 100644 --- a/docs/source/modules/ao_two_e_erf_ints.rst +++ b/docs/source/modules/ao_two_e_erf_ints.rst @@ -287,13 +287,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_pt_max_integrals` * :c:data:`ao_coef_normalized_ordered_transp` - * :c:data:`ao_power` * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_power` * :c:data:`ao_prim_num` * :c:data:`mu_erf` - * :c:data:`ao_nucl` + * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` Calls: @@ -322,13 +322,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_pt_max_integrals` - * :c:data:`ao_integrals_threshold` * :c:data:`ao_coef_normalized_ordered_transp` - * :c:data:`ao_power` * :c:data:`ao_expo_ordered_transp` - * :c:data:`ao_prim_num` + * :c:data:`ao_integrals_threshold` * :c:data:`ao_nucl` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` Calls: @@ -504,9 +504,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_overlap_abs` - * :c:data:`ao_num` * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` * :c:data:`ao_two_e_integral_erf_schwartz` Called by: @@ -541,7 +540,6 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_overlap_abs` * :c:data:`ao_num` * :c:data:`ao_two_e_integral_erf_schwartz` @@ -650,10 +648,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_integrals_erf_cache_min` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_integrals_threshold` * :c:data:`ao_integrals_erf_cache` + * :c:data:`ao_integrals_erf_cache_min` + * :c:data:`ao_integrals_threshold` * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integrals_erf_in_map` @@ -685,7 +682,6 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_erf_map` - * :c:data:`ao_overlap_abs` * :c:data:`ao_integrals_threshold` * :c:data:`ao_two_e_integrals_erf_in_map` @@ -716,7 +712,6 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_erf_map` - * :c:data:`ao_overlap_abs` * :c:data:`ao_integrals_threshold` * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integrals_erf_in_map` @@ -792,9 +787,9 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`gauleg_t2` * :c:data:`mu_erf` * :c:data:`n_pt_max_integrals` - * :c:data:`gauleg_t2` Called by: @@ -857,8 +852,8 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_erf_map` - * :c:data:`ezfio_filename` * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ezfio_filename` Called by: @@ -894,8 +889,8 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_erf_map` - * :c:data:`ezfio_filename` * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ezfio_filename` Calls: diff --git a/docs/source/modules/ao_two_e_ints.rst b/docs/source/modules/ao_two_e_ints.rst index 4975bd04..bc3a0ebf 100644 --- a/docs/source/modules/ao_two_e_ints.rst +++ b/docs/source/modules/ao_two_e_ints.rst @@ -98,6 +98,7 @@ Providers :columns: 3 * :c:data:`ao_integrals_cache` + * :c:data:`ao_integrals_cache_periodic` .. c:var:: ao_integrals_cache_min @@ -126,6 +127,30 @@ Providers :columns: 3 * :c:data:`ao_integrals_cache` + * :c:data:`ao_integrals_cache_periodic` + + +.. c:var:: ao_integrals_cache_periodic + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + complex*16, allocatable :: ao_integrals_cache_periodic (0:64*64*64*64) + + + Cache of AO integrals for fast access + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache_min` + * :c:data:`ao_integrals_map` + * :c:data:`ao_two_e_integrals_in_map` + .. c:var:: ao_integrals_map @@ -153,9 +178,10 @@ Providers :columns: 3 * :c:data:`ao_integrals_cache` - * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_integrals_cache_periodic` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_in_map` * :c:data:`mo_two_e_integrals_vv_from_ao` @@ -185,14 +211,6 @@ Providers * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_two_e_integral_alpha` - * :c:data:`mo_two_e_integral_jj_from_ao` - * :c:data:`mo_two_e_integrals_vv_from_ao` .. c:var:: ao_two_e_integrals_in_map @@ -237,9 +255,8 @@ Providers :columns: 3 * :c:data:`ao_integrals_cache` - * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_integrals_cache_periodic` * :c:data:`mo_two_e_integral_jj_from_ao` - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`mo_two_e_integrals_in_map` * :c:data:`mo_two_e_integrals_vv_from_ao` @@ -341,7 +358,6 @@ Providers * :c:func:`i_x1_new` * :c:func:`i_x2_new` * :c:func:`integrale_new` - * :c:func:`integrale_new_erf` Calls: @@ -512,6 +528,84 @@ Providers Subroutines / functions ----------------------- +.. c:function:: ao_idx2_sq: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine ao_idx2_sq(i,j,ij) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`two_e_integrals_index_2fold` + + +.. c:function:: ao_idx2_sq_rev: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine ao_idx2_sq_rev(i,k,ik) + + + reverse square compound index + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`two_e_integrals_index_reverse_2fold` + + +.. c:function:: ao_idx2_tri_key: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine ao_idx2_tri_key(i,j,ij) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`two_e_integrals_index_2fold` + + +.. c:function:: ao_idx2_tri_rev_key: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine ao_idx2_tri_rev_key(i,k,ik) + + + return i<=k + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`two_e_integrals_index_reverse_2fold` + + .. c:function:: ao_l4: @@ -550,12 +644,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_pt_max_integrals` * :c:data:`ao_coef_normalized_ordered_transp` - * :c:data:`ao_power` * :c:data:`ao_expo_ordered_transp` - * :c:data:`ao_prim_num` * :c:data:`ao_nucl` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` Calls: @@ -584,13 +678,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_pt_max_integrals` - * :c:data:`ao_integrals_threshold` * :c:data:`ao_coef_normalized_ordered_transp` - * :c:data:`ao_power` * :c:data:`ao_expo_ordered_transp` - * :c:data:`ao_prim_num` + * :c:data:`ao_integrals_threshold` * :c:data:`ao_nucl` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` Calls: @@ -601,6 +695,29 @@ Subroutines / functions * :c:func:`give_explicit_poly_and_gaussian` +.. c:function:: ao_two_e_integral_zero: + + + File : :file:`ao_two_e_ints/screening.irp.f` + + .. code:: fortran + + logical function ao_two_e_integral_zero(i,j,k,l) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`is_periodic` + * :c:data:`read_ao_two_e_integrals` + + .. c:function:: ao_two_e_integrals_in_map_collector: @@ -766,10 +883,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_overlap_abs` - * :c:data:`ao_num` * :c:data:`ao_integrals_threshold` - * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_num` Called by: @@ -803,9 +918,7 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_overlap_abs` * :c:data:`ao_num` - * :c:data:`ao_two_e_integral_schwartz` Called by: @@ -816,34 +929,6 @@ Subroutines / functions * :c:data:`mo_two_e_integrals_vv_from_ao` -.. c:function:: dump_ao_integrals: - - - File : :file:`ao_two_e_ints/map_integrals.irp.f` - - .. code:: fortran - - subroutine dump_ao_integrals(filename) - - - Save to disk the |AO| integrals - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_integrals_map` - * :c:data:`mpi_master` - - Calls: - - .. hlist:: - :columns: 3 - - * :c:func:`ezfio_set_work_empty` - - .. c:function:: eri: @@ -925,9 +1010,6 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_overlap_abs` - * :c:data:`ao_integrals_threshold` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_integrals_cache` * :c:data:`ao_integrals_cache_min` * :c:data:`ao_two_e_integrals_in_map` @@ -941,6 +1023,37 @@ Subroutines / functions * :c:func:`two_e_integrals_index` +.. c:function:: get_ao_two_e_integral_periodic: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + complex*16 function get_ao_two_e_integral_periodic(i,j,k,l,map) result(result) + + + Gets one AO bi-electronic integral from the AO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache_min` + * :c:data:`ao_integrals_cache_periodic` + * :c:data:`ao_integrals_map` + * :c:data:`ao_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + * :c:func:`two_e_integrals_index_2fold` + + .. c:function:: get_ao_two_e_integrals: @@ -961,8 +1074,6 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_map` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_integrals_threshold` * :c:data:`ao_two_e_integrals_in_map` Called by: @@ -994,9 +1105,7 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_map` - * :c:data:`ao_overlap_abs` * :c:data:`ao_integrals_threshold` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` Called by: @@ -1035,8 +1144,6 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_map` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` Calls: @@ -1067,8 +1174,6 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_map` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` Calls: @@ -1080,6 +1185,29 @@ Subroutines / functions * :c:func:`two_e_integrals_index` +.. c:function:: get_ao_two_e_integrals_periodic: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_ao_two_e_integrals_periodic(j,k,l,sze,out_val) + + + Gets multiple AO bi-electronic integral from the AO map . + All i are retrieved for j,k,l fixed. + physicist convention : + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_two_e_integrals_in_map` + + .. c:function:: give_polynom_mult_center_x: @@ -1101,7 +1229,6 @@ Subroutines / functions :columns: 3 * :c:func:`general_primitive_integral` - * :c:func:`general_primitive_integral_erf` Calls: @@ -1141,6 +1268,31 @@ Subroutines / functions * :c:func:`i_x2_pol_mult` +.. c:function:: idx2_tri_int: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine idx2_tri_int(i,j,ij) + + + + +.. c:function:: idx2_tri_rev_int: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine idx2_tri_rev_int(i,k,ik) + + + return i<=k + + .. c:function:: insert_into_ao_integrals_map: @@ -1195,8 +1347,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_pt_max_integrals` * :c:data:`gauleg_t2` + * :c:data:`n_pt_max_integrals` Called by: @@ -1213,35 +1365,6 @@ Subroutines / functions * :c:func:`i_x1_new` -.. c:function:: load_ao_integrals: - - - File : :file:`ao_two_e_ints/map_integrals.irp.f` - - .. code:: fortran - - integer function load_ao_integrals(filename) - - - Read from disk the |AO| integrals - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_integrals_map` - - Calls: - - .. hlist:: - :columns: 3 - - * :c:func:`cache_map_reallocate` - * :c:func:`map_deinit` - * :c:func:`map_sort` - - .. c:function:: n_pt_sup: @@ -1275,7 +1398,6 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:func:`ao_two_e_integrals_erf_in_map_slave` * :c:func:`ao_two_e_integrals_in_map_slave` @@ -1290,7 +1412,7 @@ Subroutines / functions Gives a unique index for i,j,k,l using permtuation symmetry. - i <-> k, j <-> l, and (i,k) <-> (j,l) + i <-> k, j <-> l, and (i,k) <-> (j,l) for non-periodic systems Called by: @@ -1298,33 +1420,45 @@ Subroutines / functions :columns: 3 * :c:data:`ao_integrals_cache` - * :c:data:`ao_integrals_erf_cache` - * :c:data:`ao_integrals_erf_map` * :c:data:`ao_integrals_map` - * :c:func:`compute_ao_integrals_erf_jl` + * :c:data:`banned_excitation` * :c:func:`compute_ao_integrals_jl` + * :c:func:`four_idx_novvvv` * :c:func:`get_ao_two_e_integral` - * :c:func:`get_ao_two_e_integral_erf` - * :c:func:`get_ao_two_e_integrals_erf_non_zero` * :c:func:`get_ao_two_e_integrals_non_zero` * :c:func:`get_ao_two_e_integrals_non_zero_jl` * :c:func:`get_ao_two_e_integrals_non_zero_jl_from_list` - * :c:func:`get_mo_two_e_integral_erf` - * :c:func:`get_mo_two_e_integrals_coulomb_ii` - * :c:func:`get_mo_two_e_integrals_erf` - * :c:func:`get_mo_two_e_integrals_erf_coulomb_ii` - * :c:func:`get_mo_two_e_integrals_erf_exch_ii` - * :c:func:`get_mo_two_e_integrals_erf_i1j1` - * :c:func:`get_mo_two_e_integrals_erf_ij` - * :c:func:`get_mo_two_e_integrals_exch_ii` - * :c:func:`get_mo_two_e_integrals_i1j1` - * :c:func:`get_mo_two_e_integrals_ij` * :c:func:`get_two_e_integral` * :c:data:`mo_integrals_cache` - * :c:data:`mo_integrals_erf_cache` - * :c:data:`mo_integrals_erf_map` * :c:data:`mo_integrals_map` - * :c:func:`test` + + +.. c:function:: two_e_integrals_index_2fold: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine two_e_integrals_index_2fold(i,j,k,l,i1) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache_periodic` + * :c:func:`get_ao_two_e_integral_periodic` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_idx2_sq` + * :c:func:`ao_idx2_tri_key` .. c:function:: two_e_integrals_index_reverse: @@ -1347,11 +1481,23 @@ Subroutines / functions This rule is applied 3 times. First for the symmetry of the pairs (i,k) and (j,l), and then for the symmetry within each pair. - Called by: + +.. c:function:: two_e_integrals_index_reverse_2fold: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine two_e_integrals_index_reverse_2fold(i,j,k,l,i1) + + + + Calls: .. hlist:: :columns: 3 - * :c:data:`ao_two_e_integral_alpha` - * :c:func:`test` + * :c:func:`ao_idx2_sq_rev` + * :c:func:`ao_idx2_tri_rev_key` diff --git a/docs/source/modules/becke_numerical_grid.rst b/docs/source/modules/becke_numerical_grid.rst index 7a0c7411..e67c443a 100644 --- a/docs/source/modules/becke_numerical_grid.rst +++ b/docs/source/modules/becke_numerical_grid.rst @@ -128,7 +128,7 @@ Providers .. c:var:: angular_quadrature_points - File : :file:`becke_numerical_grid/grid_becke.irp.f` + File : :file:`becke_numerical_grid/angular_grid_pts.irp.f` .. code:: fortran @@ -224,31 +224,26 @@ Providers :columns: 3 * :c:data:`aos_grad_in_r_array` - * :c:data:`aos_grad_in_r_array_transp` - * :c:data:`aos_grad_in_r_array_transp_xyz` * :c:data:`aos_in_r_array` * :c:data:`aos_lapl_in_r_array` * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`aos_sr_vc_alpha_pbe_w` * :c:data:`aos_sr_vxc_alpha_lda_w` - * :c:data:`aos_sr_vxc_alpha_pbe_w` * :c:data:`aos_vc_alpha_lda_w` * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_sr_pbe_w` * :c:data:`aos_vxc_alpha_lda_w` * :c:data:`aos_vxc_alpha_pbe_w` + * :c:data:`aos_vxc_alpha_sr_pbe_w` + * :c:data:`elec_beta_num_grid_becke` * :c:data:`energy_c_lda` - * :c:data:`energy_c_pbe` * :c:data:`energy_c_sr_lda` - * :c:data:`energy_sr_x_lda` - * :c:data:`energy_sr_x_pbe` * :c:data:`energy_x_lda` * :c:data:`energy_x_pbe` * :c:data:`energy_x_sr_lda` * :c:data:`energy_x_sr_pbe` * :c:data:`mos_in_r_array` - * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`mos_in_r_array_omp` * :c:data:`one_e_dm_and_grad_alpha_in_r` - * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` .. c:var:: final_grid_points_per_atom @@ -361,31 +356,26 @@ Providers :columns: 3 * :c:data:`aos_grad_in_r_array` - * :c:data:`aos_grad_in_r_array_transp` - * :c:data:`aos_grad_in_r_array_transp_xyz` * :c:data:`aos_in_r_array` * :c:data:`aos_lapl_in_r_array` * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`aos_sr_vc_alpha_pbe_w` * :c:data:`aos_sr_vxc_alpha_lda_w` - * :c:data:`aos_sr_vxc_alpha_pbe_w` * :c:data:`aos_vc_alpha_lda_w` * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_sr_pbe_w` * :c:data:`aos_vxc_alpha_lda_w` * :c:data:`aos_vxc_alpha_pbe_w` + * :c:data:`aos_vxc_alpha_sr_pbe_w` + * :c:data:`elec_beta_num_grid_becke` * :c:data:`energy_c_lda` - * :c:data:`energy_c_pbe` * :c:data:`energy_c_sr_lda` - * :c:data:`energy_sr_x_lda` - * :c:data:`energy_sr_x_pbe` * :c:data:`energy_x_lda` * :c:data:`energy_x_pbe` * :c:data:`energy_x_sr_lda` * :c:data:`energy_x_sr_pbe` * :c:data:`mos_in_r_array` - * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`mos_in_r_array_omp` * :c:data:`one_e_dm_and_grad_alpha_in_r` - * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` .. c:var:: final_weight_at_r_vector_per_atom @@ -484,7 +474,6 @@ Providers * :c:data:`final_grid_points` * :c:data:`final_grid_points_per_atom` - * :c:data:`one_e_dm_alpha_in_r` * :c:data:`weight_at_r` @@ -556,31 +545,26 @@ Providers :columns: 3 * :c:data:`aos_grad_in_r_array` - * :c:data:`aos_grad_in_r_array_transp` - * :c:data:`aos_grad_in_r_array_transp_xyz` * :c:data:`aos_in_r_array` * :c:data:`aos_lapl_in_r_array` * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`aos_sr_vc_alpha_pbe_w` * :c:data:`aos_sr_vxc_alpha_lda_w` - * :c:data:`aos_sr_vxc_alpha_pbe_w` * :c:data:`aos_vc_alpha_lda_w` * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_sr_pbe_w` * :c:data:`aos_vxc_alpha_lda_w` * :c:data:`aos_vxc_alpha_pbe_w` + * :c:data:`aos_vxc_alpha_sr_pbe_w` + * :c:data:`elec_beta_num_grid_becke` * :c:data:`energy_c_lda` - * :c:data:`energy_c_pbe` * :c:data:`energy_c_sr_lda` - * :c:data:`energy_sr_x_lda` - * :c:data:`energy_sr_x_pbe` * :c:data:`energy_x_lda` * :c:data:`energy_x_pbe` * :c:data:`energy_x_sr_lda` * :c:data:`energy_x_sr_pbe` * :c:data:`mos_in_r_array` - * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`mos_in_r_array_omp` * :c:data:`one_e_dm_and_grad_alpha_in_r` - * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` .. c:var:: index_final_points_per_atom @@ -690,31 +674,26 @@ Providers :columns: 3 * :c:data:`aos_grad_in_r_array` - * :c:data:`aos_grad_in_r_array_transp` - * :c:data:`aos_grad_in_r_array_transp_xyz` * :c:data:`aos_in_r_array` * :c:data:`aos_lapl_in_r_array` * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`aos_sr_vc_alpha_pbe_w` * :c:data:`aos_sr_vxc_alpha_lda_w` - * :c:data:`aos_sr_vxc_alpha_pbe_w` * :c:data:`aos_vc_alpha_lda_w` * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_sr_pbe_w` * :c:data:`aos_vxc_alpha_lda_w` * :c:data:`aos_vxc_alpha_pbe_w` + * :c:data:`aos_vxc_alpha_sr_pbe_w` + * :c:data:`elec_beta_num_grid_becke` * :c:data:`energy_c_lda` - * :c:data:`energy_c_pbe` * :c:data:`energy_c_sr_lda` - * :c:data:`energy_sr_x_lda` - * :c:data:`energy_sr_x_pbe` * :c:data:`energy_x_lda` * :c:data:`energy_x_pbe` * :c:data:`energy_x_sr_lda` * :c:data:`energy_x_sr_pbe` * :c:data:`mos_in_r_array` - * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`mos_in_r_array_omp` * :c:data:`one_e_dm_and_grad_alpha_in_r` - * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` .. c:var:: m_knowles @@ -765,43 +744,45 @@ Providers .. hlist:: :columns: 3 + * :c:data:`alpha_dens_kin_in_r` * :c:data:`aos_grad_in_r_array` * :c:data:`aos_grad_in_r_array_transp` - * :c:data:`aos_grad_in_r_array_transp_xyz` * :c:data:`aos_in_r_array` + * :c:data:`aos_in_r_array_transp` * :c:data:`aos_lapl_in_r_array` + * :c:data:`aos_lapl_in_r_array_transp` * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`aos_sr_vc_alpha_pbe_w` * :c:data:`aos_sr_vxc_alpha_lda_w` - * :c:data:`aos_sr_vxc_alpha_pbe_w` * :c:data:`aos_vc_alpha_lda_w` * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_sr_pbe_w` * :c:data:`aos_vxc_alpha_lda_w` * :c:data:`aos_vxc_alpha_pbe_w` + * :c:data:`aos_vxc_alpha_sr_pbe_w` + * :c:data:`elec_beta_num_grid_becke` * :c:data:`energy_c_lda` - * :c:data:`energy_c_pbe` * :c:data:`energy_c_sr_lda` - * :c:data:`energy_sr_x_lda` - * :c:data:`energy_sr_x_pbe` * :c:data:`energy_x_lda` * :c:data:`energy_x_pbe` * :c:data:`energy_x_sr_lda` * :c:data:`energy_x_sr_pbe` * :c:data:`final_grid_points` + * :c:data:`kinetic_density_generalized` * :c:data:`mos_grad_in_r_array` + * :c:data:`mos_grad_in_r_array_tranp` * :c:data:`mos_in_r_array` + * :c:data:`mos_in_r_array_omp` + * :c:data:`mos_in_r_array_transp` * :c:data:`mos_lapl_in_r_array` - * :c:data:`one_e_dm_alpha_at_r` * :c:data:`one_e_dm_and_grad_alpha_in_r` - * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` * :c:data:`pot_grad_x_alpha_ao_pbe` + * :c:data:`pot_grad_x_alpha_ao_sr_pbe` * :c:data:`pot_grad_xc_alpha_ao_pbe` + * :c:data:`pot_grad_xc_alpha_ao_sr_pbe` * :c:data:`pot_scal_x_alpha_ao_pbe` + * :c:data:`pot_scal_x_alpha_ao_sr_pbe` * :c:data:`pot_scal_xc_alpha_ao_pbe` - * :c:data:`pot_sr_grad_x_alpha_ao_pbe` - * :c:data:`pot_sr_grad_xc_alpha_ao_pbe` - * :c:data:`pot_sr_scal_x_alpha_ao_pbe` - * :c:data:`pot_sr_scal_xc_alpha_ao_pbe` + * :c:data:`pot_scal_xc_alpha_ao_sr_pbe` * :c:data:`potential_c_alpha_ao_lda` * :c:data:`potential_c_alpha_ao_sr_lda` * :c:data:`potential_x_alpha_ao_lda` @@ -854,6 +835,9 @@ Providers :columns: 3 * :c:data:`grid_type_sgn` + * :c:data:`my_grid_becke` + * :c:data:`my_n_pt_a_grid` + * :c:data:`my_n_pt_r_grid` Needed by: @@ -869,7 +853,6 @@ Providers * :c:data:`n_points_final_grid` * :c:data:`n_points_grid_per_atom` * :c:data:`n_pts_per_atom` - * :c:data:`one_e_dm_alpha_in_r` * :c:data:`weight_at_r` @@ -896,6 +879,9 @@ Providers :columns: 3 * :c:data:`grid_type_sgn` + * :c:data:`my_grid_becke` + * :c:data:`my_n_pt_a_grid` + * :c:data:`my_n_pt_r_grid` Needed by: @@ -911,7 +897,6 @@ Providers * :c:data:`n_points_final_grid` * :c:data:`n_points_grid_per_atom` * :c:data:`n_pts_per_atom` - * :c:data:`one_e_dm_alpha_in_r` * :c:data:`weight_at_r` @@ -1019,7 +1004,7 @@ Providers .. c:var:: weights_angular_points - File : :file:`becke_numerical_grid/grid_becke.irp.f` + File : :file:`becke_numerical_grid/angular_grid_pts.irp.f` .. code:: fortran @@ -1069,10 +1054,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`nucl_dist_inv` - * :c:data:`slater_bragg_type_inter_distance_ua` * :c:data:`nucl_coord_transp` + * :c:data:`nucl_dist_inv` * :c:data:`nucl_num` + * :c:data:`slater_bragg_type_inter_distance_ua` .. c:function:: derivative_knowles_function: @@ -1105,11 +1090,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_points_final_grid` - * :c:data:`final_weight_at_r` - * :c:data:`n_points_radial_grid` - * :c:data:`grid_points_per_atom` * :c:data:`final_grid_points` + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + * :c:data:`n_points_final_grid` + * :c:data:`n_points_radial_grid` * :c:data:`nucl_coord` * :c:data:`nucl_num` diff --git a/docs/source/modules/cipsi.rst b/docs/source/modules/cipsi.rst index 5415a4e2..501a91dd 100644 --- a/docs/source/modules/cipsi.rst +++ b/docs/source/modules/cipsi.rst @@ -135,6 +135,16 @@ value is stable with the number of points. +EZFIO parameters +---------------- + +.. option:: pert_2rdm + + If true, computes the one- and two-body rdms with perturbation theory + + Default: False + + Providers --------- @@ -201,6 +211,75 @@ Providers * :c:data:`pt2_e0_denominator` +.. c:var:: list_orb_pert_rdm + + + File : :file:`cipsi/pert_rdm_providers.irp.f` + + .. code:: fortran + + integer, allocatable :: list_orb_pert_rdm (n_orb_pert_rdm) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_act` + * :c:data:`n_orb_pert_rdm` + + + +.. c:var:: list_orb_reverse_pert_rdm + + + File : :file:`cipsi/pert_rdm_providers.irp.f` + + .. code:: fortran + + integer, allocatable :: list_orb_reverse_pert_rdm (mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_act` + * :c:data:`mo_num` + + + +.. c:var:: n_orb_pert_rdm + + + File : :file:`cipsi/pert_rdm_providers.irp.f` + + .. code:: fortran + + integer :: n_orb_pert_rdm + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_act_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`list_orb_pert_rdm` + * :c:data:`pert_2rdm_provider` + + .. c:var:: nthreads_pt2 @@ -223,6 +302,39 @@ Providers +.. c:var:: pert_2rdm_lock + + + File : :file:`cipsi/pert_rdm_providers.irp.f` + + .. code:: fortran + + integer(omp_lock_kind) :: pert_2rdm_lock + + + + + +.. c:var:: pert_2rdm_provider + + + File : :file:`cipsi/pert_rdm_providers.irp.f` + + .. code:: fortran + + double precision, allocatable :: pert_2rdm_provider (n_orb_pert_rdm,n_orb_pert_rdm,n_orb_pert_rdm,n_orb_pert_rdm) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_orb_pert_rdm` + + + .. c:var:: pt2_cw @@ -309,6 +421,7 @@ Providers * :c:data:`mpi_master` * :c:data:`n_core_orb` * :c:data:`n_det_generators` + * :c:data:`pt2_min_parallel_tasks` * :c:data:`pt2_n_teeth` * :c:data:`pt2_w` @@ -488,6 +601,7 @@ Providers * :c:data:`mpi_master` * :c:data:`n_core_orb` * :c:data:`n_det_generators` + * :c:data:`pt2_min_parallel_tasks` * :c:data:`pt2_n_teeth` * :c:data:`pt2_w` @@ -525,6 +639,27 @@ Providers * :c:data:`pt2_w` +.. c:var:: pt2_overlap + + + File : :file:`cipsi/energy.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_overlap (N_states,N_states) + + + Overlap between the perturbed wave functions + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + + + .. c:var:: pt2_r @@ -789,6 +924,7 @@ Subroutines / functions :columns: 3 * :c:func:`fill_buffer_double` + * :c:func:`fill_buffer_double_rdm` * :c:func:`pt2_collector` * :c:func:`selection_collector` @@ -896,7 +1032,7 @@ Subroutines / functions .. code:: fortran - subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_diag_tmp, E0, pt2, variance, norm, mat, buf) + subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_diag_tmp, E0, pt2_data, mat, buf) @@ -905,19 +1041,19 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_occ_pattern_hii` * :c:data:`det_to_occ_pattern` - * :c:data:`selection_weight` - * :c:data:`mo_num` - * :c:data:`n_states` - * :c:data:`weight_selection` - * :c:data:`n_int` - * :c:data:`psi_det_hii` * :c:data:`do_only_1h1p` * :c:data:`h0_type` - * :c:data:`thresh_sym` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_states` * :c:data:`pseudo_sym` * :c:data:`psi_det_generators` + * :c:data:`psi_det_hii` + * :c:data:`psi_occ_pattern_hii` + * :c:data:`selection_weight` + * :c:data:`thresh_sym` + * :c:data:`weight_selection` Called by: @@ -934,6 +1070,59 @@ Subroutines / functions * :c:func:`add_to_selection_buffer` * :c:func:`apply_holes` * :c:func:`apply_particles` + * :c:func:`dsyevd` + + +.. c:function:: fill_buffer_double_rdm: + + + File : :file:`cipsi/pert_rdm_providers.irp.f` + + .. code:: fortran + + subroutine fill_buffer_double_rdm(i_generator, sp, h1, h2, bannedOrb, banned, fock_diag_tmp, E0, pt2_data, mat, buf, psi_det_connection, psi_coef_connection_reverse, n_det_connection) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`det_to_occ_pattern` + * :c:data:`do_only_1h1p` + * :c:data:`h0_type` + * :c:data:`hf_bitmask` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_orb_pert_rdm` + * :c:data:`n_states` + * :c:data:`pert_2rdm_lock` + * :c:data:`pert_2rdm_provider` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_hii` + * :c:data:`psi_occ_pattern_hii` + * :c:data:`selection_weight` + * :c:data:`weight_selection` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`select_singles_and_doubles` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`add_to_selection_buffer` + * :c:func:`apply_holes` + * :c:func:`apply_particles` + * :c:func:`get_excitation_degree` + * :c:func:`give_2rdm_pert_contrib` + * :c:func:`update_keys_values` .. c:function:: get_d0: @@ -952,10 +1141,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` - * :c:data:`n_int` * :c:data:`mo_integrals_map` * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -974,6 +1163,35 @@ Subroutines / functions * :c:func:`i_h_j` +.. c:function:: get_d0_reference: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine get_d0_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_states` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`apply_particles` + * :c:func:`i_h_j` + + .. c:function:: get_d1: @@ -990,10 +1208,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` - * :c:data:`n_int` * :c:data:`mo_integrals_map` * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -1012,6 +1230,35 @@ Subroutines / functions * :c:func:`i_h_j` +.. c:function:: get_d1_reference: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_states` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`apply_particles` + * :c:func:`i_h_j` + + .. c:function:: get_d2: @@ -1028,9 +1275,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` - * :c:data:`n_int` * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -1040,6 +1287,27 @@ Subroutines / functions * :c:func:`splash_pq` +.. c:function:: get_d2_reference: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`n_states` + + .. c:function:: get_mask_phase: @@ -1071,6 +1339,47 @@ Subroutines / functions +.. c:function:: give_2rdm_pert_contrib: + + + File : :file:`cipsi/update_2rdm.irp.f` + + .. code:: fortran + + subroutine give_2rdm_pert_contrib(det,coef,psi_det_connection,psi_coef_connection_reverse,n_det_connection,nkeys,keys,values,sze_buff) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`n_int` + * :c:data:`n_orb_pert_rdm` + * :c:data:`n_states` + * :c:data:`pert_2rdm_lock` + * :c:data:`pert_2rdm_provider` + * :c:data:`state_average_weight` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fill_buffer_double_rdm` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation` + * :c:func:`update_buffer_single_exc_rdm` + * :c:func:`update_keys_values` + + .. c:function:: make_selection_buffer_s2: @@ -1212,32 +1521,32 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`ci_energy` * :c:data:`generators_bitmask` - * :c:data:`selection_weight` - * :c:data:`pt2_stoch_istate` - * :c:data:`psi_selectors` - * :c:data:`psi_det` - * :c:data:`zmq_state` - * :c:data:`psi_coef` - * :c:data:`mpi_master` - * :c:data:`n_det` - * :c:data:`zmq_context` - * :c:data:`n_det_selectors` - * :c:data:`state_average_weight` + * :c:data:`h_apply_buffer_allocated` * :c:data:`mo_num` * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`pt2_e0_denominator` - * :c:data:`ci_energy` - * :c:data:`n_states_diag` - * :c:data:`threshold_generators` - * :c:data:`psi_det_sorted_bit` - * :c:data:`n_states` - * :c:data:`h_apply_buffer_allocated` + * :c:data:`mpi_master` + * :c:data:`n_det` * :c:data:`n_det_generators` - * :c:data:`psi_det_generators` + * :c:data:`n_det_selectors` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`n_states_diag` * :c:data:`pseudo_sym` + * :c:data:`psi_coef` * :c:data:`psi_det_generators` + * :c:data:`psi_det` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_selectors` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_stoch_istate` + * :c:data:`selection_weight` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` + * :c:data:`zmq_context` + * :c:data:`zmq_state` Called by: @@ -1247,6 +1556,85 @@ Subroutines / functions * :c:func:`run_slave_cipsi` +.. c:function:: pt2_add: + + + File : :file:`cipsi/pt2_type.irp.f` + + .. code:: fortran + + subroutine pt2_add(p1, w, p2) + + + p1 =! p1 +( w * p2) + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_collector` + * :c:func:`selection_collector` + + +.. c:function:: pt2_add2: + + + File : :file:`cipsi/pt2_type.irp.f` + + .. code:: fortran + + subroutine pt2_add2(p1, w, p2) + + + p1 =! p1 +( w * p2**2) + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_collector` + + +.. c:function:: pt2_addr: + + + File : :file:`cipsi/pt2_type.irp.f` + + .. code:: fortran + + subroutine pt2_addr(p1, a, b, p2) + + + p1 =! p1 +( a / b * p2) + + +.. c:function:: pt2_alloc: + + + File : :file:`cipsi/pt2_type.irp.f` + + .. code:: fortran + + subroutine pt2_alloc(pt2_data,N) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_collector` + * :c:func:`run_cipsi` + * :c:func:`run_pt2_slave_large` + * :c:func:`run_pt2_slave_small` + * :c:func:`run_selection_slave` + * :c:func:`run_stochastic_cipsi` + * :c:func:`selection_collector` + + .. c:function:: pt2_collector: @@ -1254,7 +1642,7 @@ Subroutines / functions .. code:: fortran - subroutine pt2_collector(zmq_socket_pull, E, relative_error, pt2, error, variance, norm, b, N_) + subroutine pt2_collector(zmq_socket_pull, E, relative_error, pt2_data, pt2_data_err, b, N_) @@ -1263,14 +1651,14 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`pt2_j` - * :c:data:`pt2_stoch_istate` + * :c:data:`n_det_generators` * :c:data:`n_states` * :c:data:`pt2_f` - * :c:data:`pt2_w` - * :c:data:`n_det_generators` + * :c:data:`pt2_j` * :c:data:`pt2_n_teeth` + * :c:data:`pt2_stoch_istate` * :c:data:`pt2_u` + * :c:data:`pt2_w` Called by: @@ -1289,12 +1677,61 @@ Subroutines / functions * :c:func:`create_selection_buffer` * :c:func:`delete_selection_buffer` * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`pt2_add` + * :c:func:`pt2_add2` + * :c:func:`pt2_alloc` + * :c:func:`pt2_dealloc` * :c:func:`pull_pt2_results` * :c:func:`sleep` * :c:func:`sort_selection_buffer` * :c:func:`wall_time` +.. c:function:: pt2_dealloc: + + + File : :file:`cipsi/pt2_type.irp.f` + + .. code:: fortran + + subroutine pt2_dealloc(pt2_data) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_collector` + * :c:func:`run_cipsi` + * :c:func:`run_pt2_slave_large` + * :c:func:`run_pt2_slave_small` + * :c:func:`run_selection_slave` + * :c:func:`run_stochastic_cipsi` + * :c:func:`selection_collector` + + +.. c:function:: pt2_deserialize: + + + File : :file:`cipsi/pt2_type.irp.f` + + .. code:: fortran + + subroutine pt2_deserialize(pt2_data, n, x) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pull_pt2_results` + * :c:func:`pull_selection_results` + + .. c:function:: pt2_find_sample: @@ -1333,6 +1770,26 @@ Subroutines / functions * :c:data:`n_det_generators` +.. c:function:: pt2_serialize: + + + File : :file:`cipsi/pt2_type.irp.f` + + .. code:: fortran + + subroutine pt2_serialize(pt2_data, n, x) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`push_pt2_results_async_send` + * :c:func:`push_selection_results` + + .. c:function:: pt2_slave_inproc: @@ -1374,7 +1831,7 @@ Subroutines / functions .. code:: fortran - subroutine pull_pt2_results(zmq_socket_pull, index, pt2, variance, norm, task_id, n_tasks, b) + subroutine pull_pt2_results(zmq_socket_pull, index, pt2_data, task_id, n_tasks, b) @@ -1383,8 +1840,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -1393,6 +1850,13 @@ Subroutines / functions * :c:func:`pt2_collector` + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_deserialize` + .. c:function:: pull_selection_results: @@ -1401,7 +1865,7 @@ Subroutines / functions .. code:: fortran - subroutine pull_selection_results(zmq_socket_pull, pt2, variance, norm, val, det, N, task_id, ntask) + subroutine pull_selection_results(zmq_socket_pull, pt2_data, val, det, N, task_id, ntasks) @@ -1410,8 +1874,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -1420,6 +1884,13 @@ Subroutines / functions * :c:func:`selection_collector` + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_deserialize` + .. c:function:: push_pt2_results: @@ -1428,17 +1899,10 @@ Subroutines / functions .. code:: fortran - subroutine push_pt2_results(zmq_socket_push, index, pt2, variance, norm, b, task_id, n_tasks) + subroutine push_pt2_results(zmq_socket_push, index, pt2_data, b, task_id, n_tasks) - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`n_states` - Called by: .. hlist:: @@ -1482,7 +1946,7 @@ Subroutines / functions .. code:: fortran - subroutine push_pt2_results_async_send(zmq_socket_push, index, pt2, variance, norm, b, task_id, n_tasks, sending) + subroutine push_pt2_results_async_send(zmq_socket_push, index, pt2_data, b, task_id, n_tasks, sending) @@ -1491,8 +1955,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -1502,6 +1966,13 @@ Subroutines / functions * :c:func:`push_pt2_results` * :c:func:`run_pt2_slave_large` + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_serialize` + .. c:function:: push_selection_results: @@ -1510,7 +1981,7 @@ Subroutines / functions .. code:: fortran - subroutine push_selection_results(zmq_socket_push, pt2, variance, norm, b, task_id, ntask) + subroutine push_selection_results(zmq_socket_push, pt2_data, b, task_id, ntasks) @@ -1519,8 +1990,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -1529,6 +2000,13 @@ Subroutines / functions * :c:func:`run_selection_slave` + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_serialize` + .. c:function:: remove_duplicates_in_selection_buffer: @@ -1583,26 +2061,26 @@ Subroutines / functions :columns: 3 * :c:data:`correlation_energy_ratio_max` - * :c:data:`n_iter` - * :c:data:`psi_energy_with_nucl_rep` - * :c:data:`selection_factor` - * :c:data:`psi_occ_pattern` - * :c:data:`n_det_max` - * :c:data:`n_states` + * :c:data:`do_pt2` * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` - * :c:data:`s2_eig` - * :c:data:`variance_max` - * :c:data:`do_pt2` - * :c:data:`psi_energy` - * :c:data:`pt2_relative_error` - * :c:data:`ref_bitmask_energy` - * :c:data:`psi_det` + * :c:data:`n_det_max` + * :c:data:`n_iter` + * :c:data:`n_states` * :c:data:`n_states_diag` * :c:data:`psi_coef` + * :c:data:`psi_det` * :c:data:`psi_det_sorted` + * :c:data:`psi_energy` + * :c:data:`psi_energy_with_nucl_rep` + * :c:data:`psi_occ_pattern` * :c:data:`pt2_max` + * :c:data:`pt2_relative_error` + * :c:data:`ref_bitmask_energy` + * :c:data:`s2_eig` + * :c:data:`selection_factor` * :c:data:`threshold_generators` + * :c:data:`variance_max` Called by: @@ -1617,12 +2095,15 @@ Subroutines / functions :columns: 3 * :c:func:`check_mem` + * :c:func:`copy_h_apply_buffer_to_wf` * :c:func:`diagonalize_ci` * :c:func:`ezfio_get_hartree_fock_energy` * :c:func:`ezfio_has_hartree_fock_energy` * :c:func:`make_s2_eigenfunction` * :c:func:`print_extrapolated_energy` * :c:func:`print_summary` + * :c:func:`pt2_alloc` + * :c:func:`pt2_dealloc` * :c:func:`save_energy` * :c:func:`save_iterations` * :c:func:`save_wavefunction` @@ -1652,8 +2133,11 @@ Subroutines / functions * :c:data:`psi_occ_pattern` * :c:data:`psi_energy` * :c:data:`pt2_match_weight` + * :c:data:`pt2_overlap` * :c:data:`pt2_stoch_istate` + * :c:data:`selection_weight` * :c:data:`state_average_weight` + * :c:data:`threshold_davidson_pt2` * :c:data:`threshold_generators` * :c:data:`variance_match_weight` @@ -1674,11 +2158,7 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det` * :c:data:`n_states_diag` - * :c:data:`nproc` - * :c:data:`elec_alpha_num` - * :c:data:`mo_num` Called by: @@ -1694,7 +2174,6 @@ Subroutines / functions :columns: 3 * :c:func:`run_pt2_slave_large` - * :c:func:`run_pt2_slave_small` .. c:function:: run_pt2_slave_large: @@ -1713,13 +2192,13 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`elec_alpha_num` + * :c:data:`global_selection_buffer` + * :c:data:`global_selection_buffer_lock` * :c:data:`mo_num` * :c:data:`n_states` - * :c:data:`pt2_f` - * :c:data:`elec_alpha_num` * :c:data:`n_states_diag` - * :c:data:`global_selection_buffer_lock` - * :c:data:`global_selection_buffer` + * :c:data:`pt2_f` Called by: @@ -1740,6 +2219,8 @@ Subroutines / functions * :c:func:`merge_selection_buffers` * :c:func:`omp_set_lock` * :c:func:`omp_unset_lock` + * :c:func:`pt2_alloc` + * :c:func:`pt2_dealloc` * :c:func:`push_pt2_results_async_recv` * :c:func:`push_pt2_results_async_send` * :c:func:`select_connected` @@ -1764,18 +2245,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states_diag` - * :c:data:`n_states` - * :c:data:`pt2_f` * :c:data:`elec_alpha_num` * :c:data:`mo_num` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`run_pt2_slave` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`nproc` + * :c:data:`pt2_f` Calls: @@ -1786,10 +2261,12 @@ Subroutines / functions * :c:func:`delete_selection_buffer` * :c:func:`end_zmq_push_socket` * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`pt2_alloc` + * :c:func:`pt2_dealloc` * :c:func:`push_pt2_results` * :c:func:`select_connected` - * :c:func:`sleep` * :c:func:`sort_selection_buffer` + * :c:func:`usleep` * :c:func:`wall_time` @@ -1809,24 +2286,22 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`mo_num` - * :c:data:`psi_det_sorted` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`n_states` - * :c:data:`pt2_f` - * :c:data:`elec_alpha_num` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`weight_selection` - * :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`n_int` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_det_sorted` + * :c:data:`n_states` * :c:data:`pseudo_sym` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted` * :c:data:`psi_selectors_coef_transp` + * :c:data:`pt2_f` + * :c:data:`weight_selection` Called by: @@ -1845,10 +2320,12 @@ Subroutines / functions * :c:func:`delete_selection_buffer` * :c:func:`end_zmq_push_socket` * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`pt2_alloc` + * :c:func:`pt2_dealloc` * :c:func:`push_selection_results` * :c:func:`select_connected` - * :c:func:`sleep` * :c:func:`sort_selection_buffer` + * :c:func:`usleep` .. c:function:: run_slave_cipsi: @@ -1868,8 +2345,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`read_wf` * :c:data:`distributed_davidson` + * :c:data:`read_wf` Called by: @@ -1919,31 +2396,31 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`selection_weight` - * :c:data:`pt2_stoch_istate` - * :c:data:`psi_det` - * :c:data:`zmq_state` - * :c:data:`psi_coef` - * :c:data:`mpi_rank` - * :c:data:`mpi_master` - * :c:data:`n_det` - * :c:data:`zmq_context` - * :c:data:`n_det_selectors` - * :c:data:`state_average_weight` - * :c:data:`mo_num` - * :c:data:`nthreads_pt2` - * :c:data:`elec_alpha_num` - * :c:data:`pt2_e0_denominator` - * :c:data:`h0_type` - * :c:data:`qp_max_mem` - * :c:data:`n_states_diag` - * :c:data:`threshold_generators` * :c:data:`det_to_occ_pattern` - * :c:data:`n_states` - * :c:data:`pt2_f` - * :c:data:`n_det_generators` - * :c:data:`n_int` + * :c:data:`elec_alpha_num` * :c:data:`global_selection_buffer` + * :c:data:`h0_type` + * :c:data:`mo_num` + * :c:data:`mpi_master` + * :c:data:`mpi_rank` + * :c:data:`n_det` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`nthreads_pt2` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_f` + * :c:data:`pt2_stoch_istate` + * :c:data:`qp_max_mem` + * :c:data:`selection_weight` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` + * :c:data:`zmq_context` + * :c:data:`zmq_state` Called by: @@ -1964,7 +2441,7 @@ Subroutines / functions * :c:func:`resident_memory` * :c:func:`run_pt2_slave` * :c:func:`run_selection_slave` - * :c:func:`sleep` + * :c:func:`usleep` * :c:func:`wait_for_states` * :c:func:`wall_time` * :c:func:`write_double` @@ -1999,26 +2476,25 @@ Subroutines / functions :columns: 3 * :c:data:`correlation_energy_ratio_max` - * :c:data:`n_iter` - * :c:data:`psi_energy_with_nucl_rep` - * :c:data:`selection_factor` - * :c:data:`psi_occ_pattern` - * :c:data:`pt2_max` - * :c:data:`n_det_max` - * :c:data:`n_states` * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` - * :c:data:`s2_eig` - * :c:data:`variance_max` + * :c:data:`n_det_max` + * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_sorted` * :c:data:`psi_energy` + * :c:data:`psi_energy_with_nucl_rep` + * :c:data:`psi_occ_pattern` + * :c:data:`pt2_max` * :c:data:`pt2_relative_error` * :c:data:`ref_bitmask_energy` - * :c:data:`psi_det` - * :c:data:`n_states_diag` - * :c:data:`n_generators_bitmask` - * :c:data:`psi_det_sorted` - * :c:data:`psi_coef` + * :c:data:`s2_eig` + * :c:data:`selection_factor` * :c:data:`threshold_generators` + * :c:data:`variance_max` Called by: @@ -2040,6 +2516,8 @@ Subroutines / functions * :c:func:`make_s2_eigenfunction` * :c:func:`print_extrapolated_energy` * :c:func:`print_summary` + * :c:func:`pt2_alloc` + * :c:func:`pt2_dealloc` * :c:func:`save_energy` * :c:func:`save_iterations` * :c:func:`save_wavefunction` @@ -2068,8 +2546,11 @@ Subroutines / functions * :c:data:`psi_occ_pattern` * :c:data:`psi_energy` * :c:data:`pt2_match_weight` + * :c:data:`pt2_overlap` * :c:data:`pt2_stoch_istate` + * :c:data:`selection_weight` * :c:data:`state_average_weight` + * :c:data:`threshold_davidson_pt2` * :c:data:`threshold_generators` * :c:data:`variance_match_weight` @@ -2081,7 +2562,7 @@ Subroutines / functions .. code:: fortran - subroutine select_connected(i_generator,E0,pt2,variance,norm,b,subset,csubset) + subroutine select_connected(i_generator,E0,pt2_data,b,subset,csubset) @@ -2092,9 +2573,8 @@ Subroutines / functions * :c:data:`generators_bitmask` * :c:data:`mo_num` - * :c:data:`n_states` * :c:data:`n_int` - * :c:data:`n_generators_bitmask` + * :c:data:`n_states` * :c:data:`psi_det_generators` Called by: @@ -2122,7 +2602,7 @@ Subroutines / functions .. code:: fortran - subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2,variance,norm,buf,subset,csubset) + subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2_data,buf,subset,csubset) WARNING /!\ : It is assumed that the generators and selectors are psi_det_sorted @@ -2132,24 +2612,26 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`banned_excitation` * :c:data:`mo_num` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`n_states` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`pert_2rdm` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` * :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`psi_bilinear_matrix_values` - * :c:data:`n_int` - * :c:data:`psi_det_generators` * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_generators` * :c:data:`psi_det_sorted` * :c:data:`psi_det_sorted` - * :c:data:`psi_bilinear_matrix_columns_loc` * :c:data:`psi_selectors_coef_transp` Called by: @@ -2167,6 +2649,7 @@ Subroutines / functions * :c:func:`apply_hole` * :c:func:`bitstring_to_list_ab` * :c:func:`fill_buffer_double` + * :c:func:`fill_buffer_double_rdm` * :c:func:`get_excitation_degree_spin` * :c:func:`isort` * :c:func:`splash_pq` @@ -2180,7 +2663,7 @@ Subroutines / functions .. code:: fortran - subroutine selection_collector(zmq_socket_pull, b, N, pt2, variance, norm) + subroutine selection_collector(zmq_socket_pull, b, N, pt2_data) @@ -2209,6 +2692,9 @@ Subroutines / functions * :c:func:`create_selection_buffer` * :c:func:`delete_selection_buffer` * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`pt2_add` + * :c:func:`pt2_alloc` + * :c:func:`pt2_dealloc` * :c:func:`pull_selection_results` * :c:func:`sort_selection_buffer` @@ -2304,11 +2790,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_selectors_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_int` * :c:data:`n_states` * :c:data:`psi_det_sorted` - * :c:data:`n_int` - * :c:data:`mo_num` + * :c:data:`psi_selectors_coef_transp` Called by: @@ -2349,8 +2835,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -2383,9 +2869,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`pt2_stoch_istate` * :c:data:`n_det_generators` * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_stoch_istate` Calls: @@ -2395,6 +2881,59 @@ Subroutines / functions * :c:func:`check_mem` +.. c:function:: update_buffer_double_exc_rdm: + + + File : :file:`cipsi/update_2rdm.irp.f` + + .. code:: fortran + + subroutine update_buffer_double_exc_rdm(exc,phase,contrib,nkeys,keys,values,sze_buff) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_orb_reverse_pert_rdm` + + +.. c:function:: update_buffer_single_exc_rdm: + + + File : :file:`cipsi/update_2rdm.irp.f` + + .. code:: fortran + + subroutine update_buffer_single_exc_rdm(det1,det2,exc,phase,contrib,nkeys,keys,values,sze_buff) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_orb_reverse_pert_rdm` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`give_2rdm_pert_contrib` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + .. c:function:: update_pt2_and_variance_weights: @@ -2402,17 +2941,22 @@ Subroutines / functions .. code:: fortran - subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) + subroutine update_pt2_and_variance_weights(pt2_data, N_st) - Updates the rPT2- and Variance- matching weights. + Updates the PT2- and Variance- matching weights. Needs: .. hlist:: :columns: 3 + * :c:data:`n_det` + * :c:data:`n_states` * :c:data:`pt2_match_weight` + * :c:data:`pt2_relative_error` + * :c:data:`threshold_davidson` + * :c:data:`threshold_davidson_pt2` * :c:data:`variance_match_weight` Called by: @@ -2429,6 +2973,7 @@ Subroutines / functions :columns: 3 * :c:data:`pt2_match_weight` + * :c:data:`threshold_davidson_pt2` * :c:data:`variance_match_weight` @@ -2439,7 +2984,7 @@ Subroutines / functions .. code:: fortran - subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in) + subroutine ZMQ_pt2(E, pt2_data, pt2_data_err, relative_error, N_in) @@ -2448,48 +2993,48 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_sorted` - * :c:data:`selection_weight` - * :c:data:`pt2_stoch_istate` - * :c:data:`psi_selectors` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`psi_det_alpha_unique` - * :c:data:`pt2_e0_denominator` - * :c:data:`pt2_n_teeth` - * :c:data:`psi_selectors_coef_transp` - * :c:data:`state_average_weight` - * :c:data:`n_det` - * :c:data:`s2_eig` - * :c:data:`psi_det_sorted` - * :c:data:`pt2_j` - * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`psi_occ_pattern_hii` - * :c:data:`mo_num` - * :c:data:`nthreads_pt2` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`mo_one_e_integrals` - * :c:data:`elec_alpha_num` - * :c:data:`nproc` - * :c:data:`h0_type` - * :c:data:`qp_max_mem` - * :c:data:`n_generators_bitmask` - * :c:data:`psi_bilinear_matrix_columns_loc` - * :c:data:`threshold_generators` - * :c:data:`psi_det_beta_unique` * :c:data:`det_to_occ_pattern` + * :c:data:`elec_alpha_num` * :c:data:`global_selection_buffer` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`n_states` - * :c:data:`pt2_f` + * :c:data:`h0_type` + * :c:data:`mo_num` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det` * :c:data:`n_det_generators` - * :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`n_int` - * :c:data:`psi_det_hii` - * :c:data:`pt2_j` + * :c:data:`n_states` + * :c:data:`nproc` + * :c:data:`nthreads_pt2` * :c:data:`pseudo_sym` - * :c:data:`pt2_w` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_hii` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted` + * :c:data:`psi_occ_pattern_hii` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_coef_transp` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_f` + * :c:data:`pt2_j` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_overlap` + * :c:data:`pt2_j` + * :c:data:`pt2_stoch_istate` * :c:data:`pt2_u` + * :c:data:`pt2_w` + * :c:data:`qp_max_mem` + * :c:data:`s2_eig` + * :c:data:`selection_weight` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` Called by: @@ -2526,16 +3071,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det` - * :c:data:`c0_weight` - * :c:data:`psi_coef` - * :c:data:`psi_det_sorted_bit` - * :c:data:`psi_det` - * :c:data:`psi_det_size` - * :c:data:`psi_det_sorted_bit` * :c:data:`pt2_match_weight` + * :c:data:`pt2_overlap` * :c:data:`pt2_stoch_istate` + * :c:data:`selection_weight` * :c:data:`state_average_weight` + * :c:data:`threshold_davidson_pt2` * :c:data:`variance_match_weight` @@ -2546,7 +3087,7 @@ Subroutines / functions .. code:: fortran - subroutine ZMQ_selection(N_in, pt2, variance, norm) + subroutine ZMQ_selection(N_in, pt2_data) @@ -2555,31 +3096,34 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_sorted` - * :c:data:`selection_weight` - * :c:data:`psi_selectors` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_columns_loc` - * :c:data:`n_det_selectors` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`state_average_weight` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`pt2_e0_denominator` * :c:data:`do_pt2` - * :c:data:`nproc` - * :c:data:`s2_eig` - * :c:data:`threshold_generators` - * :c:data:`psi_det_beta_unique` - * :c:data:`qp_max_mem` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`n_states` - * :c:data:`pt2_f` + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + * :c:data:`n_det` * :c:data:`n_det_generators` - * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`n_det_selectors` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`nproc` * :c:data:`pseudo_sym` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_sorted` + * :c:data:`psi_selectors` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_f` + * :c:data:`pt2_overlap` + * :c:data:`qp_max_mem` + * :c:data:`s2_eig` + * :c:data:`selection_weight` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` Called by: @@ -2594,14 +3138,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:func:`copy_h_apply_buffer_to_wf` * :c:func:`create_selection_buffer` * :c:func:`delete_selection_buffer` * :c:func:`end_parallel_job` * :c:func:`fill_h_apply_buffer_no_selection` * :c:func:`make_selection_buffer_s2` * :c:func:`new_parallel_job` - * :c:func:`save_wavefunction` * :c:func:`selection_collector` * :c:func:`selection_slave_inproc` * :c:func:`update_pt2_and_variance_weights` @@ -2612,13 +3154,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det` - * :c:data:`c0_weight` - * :c:data:`psi_coef` - * :c:data:`psi_det_sorted_bit` - * :c:data:`psi_det` - * :c:data:`psi_det_size` - * :c:data:`psi_det_sorted_bit` * :c:data:`pt2_match_weight` + * :c:data:`pt2_overlap` + * :c:data:`threshold_davidson_pt2` * :c:data:`variance_match_weight` diff --git a/docs/source/modules/cis.rst b/docs/source/modules/cis.rst index 151e3bda..3c96a6c6 100644 --- a/docs/source/modules/cis.rst +++ b/docs/source/modules/cis.rst @@ -87,20 +87,19 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`n_states` * :c:data:`generators_bitmask` + * :c:data:`h_apply_buffer_allocated` * :c:data:`mo_num` * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` - * :c:data:`s2_eig` * :c:data:`n_det_generators` - * :c:data:`i_bitmask_gen` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_generators` * :c:data:`psi_det` * :c:data:`psi_det_generators` - * :c:data:`psi_det_generators` + * :c:data:`s2_eig` Calls: @@ -147,9 +146,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -185,9 +184,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -221,9 +220,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -259,9 +258,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -297,20 +296,19 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`n_states` * :c:data:`generators_bitmask` + * :c:data:`h_apply_buffer_allocated` * :c:data:`mo_num` * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` - * :c:data:`s2_eig` * :c:data:`n_det_generators` - * :c:data:`i_bitmask_gen` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_generators` * :c:data:`psi_det` * :c:data:`psi_det_generators` - * :c:data:`psi_det_generators` + * :c:data:`s2_eig` Calls: @@ -357,9 +355,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -395,9 +393,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -432,9 +430,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -470,9 +468,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: diff --git a/docs/source/modules/cisd.rst b/docs/source/modules/cisd.rst index 94c6408f..b488f3ac 100644 --- a/docs/source/modules/cisd.rst +++ b/docs/source/modules/cisd.rst @@ -80,20 +80,26 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`n_states` * :c:data:`generators_bitmask` + * :c:data:`h_apply_buffer_allocated` * :c:data:`mo_num` * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` - * :c:data:`s2_eig` * :c:data:`n_det_generators` - * :c:data:`i_bitmask_gen` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_generators` * :c:data:`psi_det` * :c:data:`psi_det_generators` - * :c:data:`psi_det_generators` + * :c:data:`s2_eig` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cisd` Calls: @@ -140,9 +146,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -178,9 +184,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -214,9 +220,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -252,9 +258,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -290,20 +296,26 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`n_states` * :c:data:`generators_bitmask` + * :c:data:`h_apply_buffer_allocated` * :c:data:`mo_num` * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` - * :c:data:`s2_eig` * :c:data:`n_det_generators` - * :c:data:`i_bitmask_gen` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_generators` * :c:data:`psi_det` * :c:data:`psi_det_generators` - * :c:data:`psi_det_generators` + * :c:data:`s2_eig` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cisd` Calls: @@ -350,9 +362,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -388,9 +400,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -425,9 +437,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` - * :c:data:`n_det` * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` Called by: @@ -463,9 +475,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`elec_alpha_num` * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -483,3 +495,52 @@ Subroutines / functions * :c:func:`connected_to_hf` * :c:func:`fill_h_apply_buffer_no_selection` + +.. c:function:: run_cisd: + + + File : :file:`cisd_routine.irp.f` + + .. code:: fortran + + subroutine run_cisd + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`pseudo_sym` + * :c:data:`psi_coef` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_cisd_energy` + * :c:func:`h_apply_cisd` + * :c:func:`h_apply_cisd_sym` + * :c:func:`save_wavefunction` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_occ_pattern` + * :c:data:`c0_weight` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_occ_pattern` + diff --git a/docs/source/modules/davidson.rst b/docs/source/modules/davidson.rst index ae06e247..718458bd 100644 --- a/docs/source/modules/davidson.rst +++ b/docs/source/modules/davidson.rst @@ -117,7 +117,6 @@ Providers * :c:data:`psi_det` * :c:data:`s2_eig` * :c:data:`s2_matrix_all_dets` - * :c:data:`s_z` * :c:data:`threshold_davidson` Needed by: @@ -162,7 +161,6 @@ Providers * :c:data:`psi_det` * :c:data:`s2_eig` * :c:data:`s2_matrix_all_dets` - * :c:data:`s_z` * :c:data:`threshold_davidson` Needed by: @@ -234,7 +232,6 @@ Providers * :c:data:`psi_det` * :c:data:`s2_eig` * :c:data:`s2_matrix_all_dets` - * :c:data:`s_z` * :c:data:`threshold_davidson` Needed by: @@ -245,20 +242,6 @@ Providers * :c:data:`ci_energy` -.. c:var:: davidson_criterion - - - File : :file:`davidson/parameters.irp.f` - - .. code:: fortran - - character(64) :: davidson_criterion - - - Can be : [ energy | residual | both | wall_time | cpu_time | iterations ] - - - .. c:var:: diag_algorithm @@ -382,9 +365,9 @@ Providers double precision, allocatable :: psi_s2 (N_states) - psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle` + psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle` - psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle` + psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle` Needs: @@ -408,9 +391,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`psi_energy_two_e` * :c:data:`psi_energy_with_nucl_rep` - * :c:data:`pt2_e0_denominator` .. c:var:: psi_energy_two_e @@ -436,7 +417,6 @@ Providers * :c:data:`psi_coef` * :c:data:`psi_det` * :c:data:`psi_det_size` - * :c:data:`psi_energy` @@ -474,9 +454,9 @@ Providers double precision, allocatable :: psi_s2 (N_states) - psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle` + psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle` - psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle` + psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle` Needs: @@ -500,9 +480,28 @@ Providers .. hlist:: :columns: 3 - * :c:data:`psi_energy_two_e` * :c:data:`psi_energy_with_nucl_rep` - * :c:data:`pt2_e0_denominator` + + +.. c:var:: threshold_davidson_pt2 + + + File : :file:`davidson/diagonalization_hs2_dressed.irp.f` + + .. code:: fortran + + double precision :: threshold_davidson_pt2 + + + Threshold of Davidson's algorithm, using PT2 as a guide + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`threshold_davidson` + @@ -543,42 +542,6 @@ Subroutines / functions * :c:func:`davidson_pull_results` -.. c:function:: davidson_converged: - - - File : :file:`davidson/parameters.irp.f` - - .. code:: fortran - - subroutine davidson_converged(energy,residual,wall,iterations,cpu,N_st,converged) - - - True if the Davidson algorithm is converged - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`threshold_davidson` - * :c:data:`davidson_criterion` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`davidson_diag_hjj_sjj` - - Calls: - - .. hlist:: - :columns: 3 - - * :c:func:`cpu_time` - * :c:func:`wall_time` - - .. c:function:: davidson_diag_hjj_sjj: @@ -615,28 +578,30 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_bilinear_matrix_order_reverse` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_coef` - * :c:data:`dressed_column_idx` - * :c:data:`expected_s2` - * :c:data:`s_z` - * :c:data:`n_det` - * :c:data:`dressing_column_h` - * :c:data:`ezfio_work_dir` * :c:data:`davidson_sze_max` - * :c:data:`state_following` - * :c:data:`psi_det_alpha_unique` - * :c:data:`nuclear_repulsion` - * :c:data:`nproc` - * :c:data:`qp_max_mem` * :c:data:`disk_based_davidson` - * :c:data:`s2_eig` - * :c:data:`psi_det_beta_unique` - * :c:data:`only_expected_s2` * :c:data:`distributed_davidson` + * :c:data:`dressed_column_idx` + * :c:data:`dressing_column_h` + * :c:data:`expected_s2` + * :c:data:`ezfio_work_dir` + * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`nproc` + * :c:data:`nthreads_davidson` + * :c:data:`nuclear_repulsion` + * :c:data:`only_expected_s2` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_coef` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`qp_max_mem` + * :c:data:`s2_eig` + * :c:data:`state_following` + * :c:data:`threshold_davidson` + * :c:data:`threshold_davidson_from_pt2` + * :c:data:`threshold_davidson_pt2` Called by: @@ -652,8 +617,6 @@ Subroutines / functions * :c:func:`c_f_pointer` * :c:func:`check_mem` - * :c:func:`cpu_time` - * :c:func:`davidson_converged` * :c:func:`dgemm` * :c:func:`dswap` * :c:func:`h_s2_u_0_nstates_openmp` @@ -662,11 +625,12 @@ Subroutines / functions * :c:func:`mmap` * :c:func:`munmap` * :c:func:`normalize` + * :c:func:`nullify_small_elements` * :c:func:`ortho_qr` + * :c:func:`ortho_qr_unblocked` * :c:func:`random_number` * :c:func:`resident_memory` * :c:func:`sgemm` - * :c:func:`wall_time` * :c:func:`write_double` * :c:func:`write_int` * :c:func:`write_time` @@ -711,6 +675,7 @@ Subroutines / functions * :c:data:`dressing_column_h` * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_int` Called by: @@ -751,8 +716,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states_diag` * :c:data:`n_det` + * :c:data:`n_states_diag` Called by: @@ -779,8 +744,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states_diag` * :c:data:`n_det` + * :c:data:`n_states_diag` .. c:function:: davidson_push_results_async_recv: @@ -820,8 +785,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states_diag` * :c:data:`n_det` + * :c:data:`n_states_diag` Called by: @@ -848,8 +813,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states_diag` * :c:data:`n_det` + * :c:data:`n_states_diag` Called by: @@ -907,13 +872,6 @@ Subroutines / functions - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`run_slave_main` - Calls: .. hlist:: @@ -938,18 +896,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`mpi_rank` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` * :c:data:`mpi_initialized` + * :c:data:`mpi_rank` * :c:data:`n_det` + * :c:data:`n_states_diag` + * :c:data:`nproc` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` * :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`psi_bilinear_matrix_values` - * :c:data:`nproc` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` * :c:data:`ref_bitmask_energy` - * :c:data:`n_states_diag` - * :c:data:`psi_bilinear_matrix_columns_loc` Called by: @@ -986,24 +944,15 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` * :c:data:`ci_electronic_energy` - * :c:data:`n_states` - * :c:data:`n_det` * :c:data:`ci_electronic_energy` - * :c:data:`psi_energy` * :c:data:`ci_energy` * :c:data:`ci_electronic_energy` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_energy` * :c:data:`psi_energy` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`remove_small_contributions` - * :c:func:`run_cipsi` - * :c:func:`run_stochastic_cipsi` Touches: @@ -1040,9 +989,9 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`n_det` * :c:data:`psi_bilinear_matrix_order_reverse` * :c:data:`psi_bilinear_matrix_values` - * :c:data:`n_det` Called by: @@ -1081,9 +1030,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_bitmask_energy` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`ref_bitmask_energy` Called by: @@ -1108,7 +1057,7 @@ Subroutines / functions .. c:function:: h_s2_u_0_nstates_openmp_work_1: - File : :file:`davidson/u0_h_u0.irp.f_template_645` + File : :file:`davidson/u0_h_u0.irp.f_template_708` .. code:: fortran @@ -1124,18 +1073,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`singles_beta_csc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` - * :c:data:`singles_beta_csc_idx` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` Called by: @@ -1160,7 +1109,7 @@ Subroutines / functions .. c:function:: h_s2_u_0_nstates_openmp_work_2: - File : :file:`davidson/u0_h_u0.irp.f_template_645` + File : :file:`davidson/u0_h_u0.irp.f_template_708` .. code:: fortran @@ -1176,18 +1125,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`singles_beta_csc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` - * :c:data:`singles_beta_csc_idx` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` Called by: @@ -1212,7 +1161,7 @@ Subroutines / functions .. c:function:: h_s2_u_0_nstates_openmp_work_3: - File : :file:`davidson/u0_h_u0.irp.f_template_645` + File : :file:`davidson/u0_h_u0.irp.f_template_708` .. code:: fortran @@ -1228,18 +1177,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`singles_beta_csc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` - * :c:data:`singles_beta_csc_idx` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` Called by: @@ -1264,7 +1213,7 @@ Subroutines / functions .. c:function:: h_s2_u_0_nstates_openmp_work_4: - File : :file:`davidson/u0_h_u0.irp.f_template_645` + File : :file:`davidson/u0_h_u0.irp.f_template_708` .. code:: fortran @@ -1280,18 +1229,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`singles_beta_csc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` - * :c:data:`singles_beta_csc_idx` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` Called by: @@ -1316,7 +1265,7 @@ Subroutines / functions .. c:function:: h_s2_u_0_nstates_openmp_work_n_int: - File : :file:`davidson/u0_h_u0.irp.f_template_645` + File : :file:`davidson/u0_h_u0.irp.f_template_708` .. code:: fortran @@ -1332,18 +1281,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` - * :c:data:`singles_beta_csc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` - * :c:data:`singles_beta_csc_idx` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` Called by: @@ -1388,17 +1337,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_order_reverse` * :c:data:`mpi_initialized` * :c:data:`n_det` + * :c:data:`n_states_diag` + * :c:data:`nproc` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` * :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`psi_bilinear_matrix_values` - * :c:data:`nproc` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` * :c:data:`ref_bitmask_energy` - * :c:data:`psi_bilinear_matrix_columns_loc` Called by: @@ -1443,9 +1393,9 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`n_det` * :c:data:`psi_bilinear_matrix_order_reverse` * :c:data:`psi_bilinear_matrix_values` - * :c:data:`n_det` Called by: @@ -1483,9 +1433,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_bitmask_energy` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`ref_bitmask_energy` Called by: @@ -1525,16 +1475,16 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` Called by: @@ -1575,16 +1525,16 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` Called by: @@ -1625,16 +1575,16 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` Called by: @@ -1675,16 +1625,16 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` Called by: @@ -1725,16 +1675,16 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_order_transp_reverse` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_transp_rows_loc` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_transp_values` - * :c:data:`nthreads_davidson` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`nthreads_davidson` * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` Called by: @@ -1774,20 +1724,13 @@ Subroutines / functions :columns: 3 * :c:data:`mo_integrals_n_e` - * :c:data:`n_states` - * :c:data:`mo_pseudo_integrals` * :c:data:`mo_kinetic_integrals` * :c:data:`mo_num` + * :c:data:`mo_pseudo_integrals` + * :c:data:`n_states` * :c:data:`nuclear_repulsion` - * :c:data:`psi_energy` * :c:data:`one_e_dm_mo_alpha` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`print_summary` + * :c:data:`psi_energy` .. c:function:: u_0_h_u_0: @@ -1812,11 +1755,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`h_matrix_all_dets` - * :c:data:`s2_matrix_all_dets` - * :c:data:`n_states_diag` * :c:data:`distributed_davidson` + * :c:data:`h_matrix_all_dets` * :c:data:`n_det_max_full` + * :c:data:`n_states_diag` + * :c:data:`s2_matrix_all_dets` Called by: @@ -1881,9 +1824,9 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mpi_master` * :c:data:`n_states_diag` * :c:data:`zmq_state` - * :c:data:`mpi_master` Touches: diff --git a/docs/source/modules/density_for_dft.rst b/docs/source/modules/density_for_dft.rst index bf293eba..3520c86a 100644 --- a/docs/source/modules/density_for_dft.rst +++ b/docs/source/modules/density_for_dft.rst @@ -146,14 +146,6 @@ Providers * :c:data:`one_e_dm_mo_alpha_for_dft` * :c:data:`one_e_dm_mo_beta_for_dft` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`one_e_dm_alpha_at_r` - * :c:data:`one_e_dm_alpha_in_r` - * :c:data:`one_e_dm_and_grad_alpha_in_r` .. c:var:: one_e_dm_alpha_ao_for_dft_no_core @@ -181,12 +173,64 @@ Providers * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` * :c:data:`one_e_dm_mo_beta_for_dft_no_core` + + +.. c:var:: one_e_dm_average_alpha_mo_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_average_alpha_mo_for_dft (mo_num,mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`state_average_weight` + Needed by: .. hlist:: :columns: 3 - * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` + * :c:data:`one_e_dm_average_mo_for_dft` + + +.. c:var:: one_e_dm_average_beta_mo_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_average_beta_mo_for_dft (mo_num,mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_beta_for_dft` + * :c:data:`state_average_weight` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_average_mo_for_dft` .. c:var:: one_e_dm_average_mo_for_dft @@ -206,16 +250,9 @@ Providers :columns: 3 * :c:data:`mo_num` - * :c:data:`n_states` - * :c:data:`one_e_dm_mo_for_dft` - * :c:data:`state_average_weight` + * :c:data:`one_e_dm_average_alpha_mo_for_dft` + * :c:data:`one_e_dm_average_beta_mo_for_dft` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`short_range_hartree_operator` .. c:var:: one_e_dm_beta_ao_for_dft @@ -246,14 +283,6 @@ Providers * :c:data:`one_e_dm_mo_alpha_for_dft` * :c:data:`one_e_dm_mo_beta_for_dft` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`one_e_dm_alpha_at_r` - * :c:data:`one_e_dm_alpha_in_r` - * :c:data:`one_e_dm_and_grad_alpha_in_r` .. c:var:: one_e_dm_beta_ao_for_dft_no_core @@ -281,12 +310,6 @@ Providers * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` * :c:data:`one_e_dm_mo_beta_for_dft_no_core` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` .. c:var:: one_e_dm_mo_alpha_for_dft @@ -311,7 +334,7 @@ Providers * :c:data:`data_one_e_dm_alpha_mo` * :c:data:`density_for_dft` * :c:data:`elec_alpha_num` - * :c:data:`list_inact` + * :c:data:`list_core` * :c:data:`mo_coef` * :c:data:`mo_num` * :c:data:`n_core_orb` @@ -328,11 +351,9 @@ Providers :columns: 3 * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_average_alpha_mo_for_dft` * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` * :c:data:`one_e_dm_mo_for_dft` - * :c:data:`psi_dft_energy_kinetic` - * :c:data:`trace_v_xc` - * :c:data:`trace_v_xc_new` .. c:var:: one_e_dm_mo_alpha_for_dft_no_core @@ -352,7 +373,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`list_inact` + * :c:data:`list_core` * :c:data:`mo_num` * :c:data:`n_core_orb` * :c:data:`n_states` @@ -388,7 +409,7 @@ Providers * :c:data:`data_one_e_dm_beta_mo` * :c:data:`density_for_dft` * :c:data:`elec_beta_num` - * :c:data:`list_inact` + * :c:data:`list_core` * :c:data:`mo_coef` * :c:data:`mo_num` * :c:data:`n_core_orb` @@ -405,11 +426,9 @@ Providers :columns: 3 * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_average_beta_mo_for_dft` * :c:data:`one_e_dm_mo_beta_for_dft_no_core` * :c:data:`one_e_dm_mo_for_dft` - * :c:data:`psi_dft_energy_kinetic` - * :c:data:`trace_v_xc` - * :c:data:`trace_v_xc_new` .. c:var:: one_e_dm_mo_beta_for_dft_no_core @@ -429,7 +448,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`list_inact` + * :c:data:`list_core` * :c:data:`mo_num` * :c:data:`n_core_orb` * :c:data:`n_states` @@ -464,11 +483,4 @@ Providers * :c:data:`one_e_dm_mo_alpha_for_dft` * :c:data:`one_e_dm_mo_beta_for_dft` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`one_e_dm_average_mo_for_dft` - * :c:data:`short_range_hartree_operator` diff --git a/docs/source/modules/determinants.rst b/docs/source/modules/determinants.rst index bc0f7434..cd548bd8 100644 --- a/docs/source/modules/determinants.rst +++ b/docs/source/modules/determinants.rst @@ -55,6 +55,12 @@ EZFIO parameters Default: False +.. option:: pruning + + If p>0., remove p*Ndet determinants at every iteration + + Default: 0. + .. option:: s2_eig Force the wave function to be an eigenfunction of |S^2| @@ -65,11 +71,11 @@ EZFIO parameters Weight used in the calculation of the one-electron density matrix. 0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi)) - Default: 1 + Default: 2 .. option:: weight_selection - Weight used in the selection. 0: input state-average weight, 1: 1./(c_0^2), 2: rPT2 matching, 3: variance matching, 4: variance and rPT2 matching, 5: variance minimization and matching + Weight used in the selection. 0: input state-average weight, 1: 1./(c_0^2), 2: rPT2 matching, 3: variance matching, 4: variance and rPT2 matching, 5: variance minimization and matching, 6: CI coefficients Default: 2 @@ -99,6 +105,11 @@ EZFIO parameters Number of determinants in the current wave function +.. option:: n_det_qp_edit + + Number of determinants to print in qp_edit + + .. option:: psi_coef Coefficients of the wave function @@ -109,6 +120,16 @@ EZFIO parameters Determinants of the variational space +.. option:: psi_coef_qp_edit + + Coefficients of the wave function + + +.. option:: psi_det_qp_edit + + Determinants of the variational space + + .. option:: expected_s2 Expected value of |S^2| @@ -221,12 +242,6 @@ Providers * :c:data:`n_states` * :c:data:`psi_coef` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`pt2_e0_denominator` .. c:var:: c0_weight @@ -254,7 +269,6 @@ Providers .. hlist:: :columns: 3 - * :c:data:`selection_weight` * :c:data:`state_average_weight` @@ -344,8 +358,10 @@ Providers .. hlist:: :columns: 3 + * :c:data:`pruned` * :c:data:`psi_occ_pattern_hii` * :c:data:`weight_occ_pattern` + * :c:data:`weight_occ_pattern_average` .. c:var:: diagonal_h_matrix_on_psi_det @@ -365,6 +381,8 @@ Providers .. hlist:: :columns: 3 + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`elec_num` * :c:data:`n_det` * :c:data:`n_int` @@ -561,6 +579,8 @@ Providers * :c:data:`big_array_coulomb_integrals` * :c:data:`big_array_coulomb_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_integrals_map` * :c:data:`mo_two_e_integrals_in_map` * :c:data:`n_det` @@ -594,6 +614,8 @@ Providers * :c:data:`big_array_coulomb_integrals` * :c:data:`big_array_coulomb_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_integrals_map` * :c:data:`mo_two_e_integrals_in_map` * :c:data:`n_int` @@ -629,10 +651,9 @@ Providers .. hlist:: :columns: 3 - * :c:data:`cas_bitmask` + * :c:data:`act_bitmask` * :c:data:`hf_bitmask` * :c:data:`mpi_master` - * :c:data:`n_cas_bitmask` * :c:data:`n_det` * :c:data:`n_int` * :c:data:`n_states` @@ -744,6 +765,10 @@ Providers .. hlist:: :columns: 3 + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` * :c:data:`barycentric_electronic_energy` * :c:data:`ci_electronic_energy` * :c:data:`ci_energy` @@ -753,13 +778,12 @@ Providers * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`dressed_column_idx` * :c:data:`dressing_column_h` - * :c:data:`extrapolated_energy` * :c:data:`h_apply_buffer_allocated` * :c:data:`h_matrix_all_dets` * :c:data:`max_degree_exc` - * :c:data:`n_det_generators` - * :c:data:`n_det_selectors` + * :c:data:`n_det_qp_edit` * :c:data:`one_e_dm_mo_alpha` + * :c:data:`pruned` * :c:data:`psi_average_norm_contrib` * :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix_columns_loc` @@ -775,7 +799,6 @@ Providers * :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_beta` * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_generators` * :c:data:`psi_det_hii` * :c:data:`psi_det_sorted` * :c:data:`psi_det_sorted_bit` @@ -786,7 +809,12 @@ Providers * :c:data:`psi_occ_pattern_hii` * :c:data:`s2_matrix_all_dets` * :c:data:`s2_values` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` * :c:data:`weight_occ_pattern` + * :c:data:`weight_occ_pattern_average` .. c:var:: n_det_alpha_unique @@ -822,6 +850,7 @@ Providers * :c:data:`one_e_dm_mo_alpha` * :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`psi_bilinear_matrix_values` * :c:data:`singles_alpha_csc` * :c:data:`singles_alpha_csc_idx` @@ -887,10 +916,9 @@ Providers .. hlist:: :columns: 3 - * :c:data:`cas_bitmask` + * :c:data:`act_bitmask` * :c:data:`hf_bitmask` * :c:data:`mpi_master` - * :c:data:`n_cas_bitmask` * :c:data:`n_det` * :c:data:`n_int` * :c:data:`n_states` @@ -949,6 +977,27 @@ Providers * :c:data:`psi_non_cas_sorted_bit` +.. c:var:: n_det_qp_edit + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer :: n_det_qp_edit + + + Number of determinants to print in qp_edit + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + + + .. c:var:: n_double_exc_bitmasks @@ -1005,8 +1054,11 @@ Providers :columns: 3 * :c:data:`det_to_occ_pattern` + * :c:data:`pruned` * :c:data:`psi_occ_pattern_hii` + * :c:data:`psi_occ_pattern_sorted` * :c:data:`weight_occ_pattern` + * :c:data:`weight_occ_pattern_average` .. c:var:: n_single_exc_bitmasks @@ -1158,8 +1210,14 @@ Providers .. hlist:: :columns: 3 + * :c:data:`full_occ_2_rdm_aa_mo` + * :c:data:`full_occ_2_rdm_ab_mo` + * :c:data:`full_occ_2_rdm_bb_mo` + * :c:data:`full_occ_2_rdm_spin_trace_mo` * :c:data:`one_e_dm_dagger_mo_spin_index` * :c:data:`one_e_dm_mo_alpha_average` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` * :c:data:`one_e_dm_mo_diff` * :c:data:`one_e_dm_mo_spin_index` * :c:data:`psi_energy_h_core` @@ -1195,7 +1253,13 @@ Providers * :c:data:`one_e_dm_ao_alpha` * :c:data:`one_e_dm_mo` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` * :c:data:`one_e_spin_density_mo` + * :c:data:`state_av_full_occ_2_rdm_aa_mo` + * :c:data:`state_av_full_occ_2_rdm_ab_mo` + * :c:data:`state_av_full_occ_2_rdm_bb_mo` + * :c:data:`state_av_full_occ_2_rdm_spin_trace_mo` .. c:var:: one_e_dm_mo_beta @@ -1233,8 +1297,14 @@ Providers .. hlist:: :columns: 3 + * :c:data:`full_occ_2_rdm_aa_mo` + * :c:data:`full_occ_2_rdm_ab_mo` + * :c:data:`full_occ_2_rdm_bb_mo` + * :c:data:`full_occ_2_rdm_spin_trace_mo` * :c:data:`one_e_dm_dagger_mo_spin_index` * :c:data:`one_e_dm_mo_alpha_average` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` * :c:data:`one_e_dm_mo_diff` * :c:data:`one_e_dm_mo_spin_index` * :c:data:`psi_energy_h_core` @@ -1270,7 +1340,13 @@ Providers * :c:data:`one_e_dm_ao_alpha` * :c:data:`one_e_dm_mo` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` * :c:data:`one_e_spin_density_mo` + * :c:data:`state_av_full_occ_2_rdm_aa_mo` + * :c:data:`state_av_full_occ_2_rdm_ab_mo` + * :c:data:`state_av_full_occ_2_rdm_bb_mo` + * :c:data:`state_av_full_occ_2_rdm_spin_trace_mo` .. c:var:: one_e_dm_mo_diff @@ -1370,6 +1446,34 @@ Providers * :c:data:`one_e_spin_density_ao` +.. c:var:: pruned + + + File : :file:`determinants/prune_wf.irp.f` + + .. code:: fortran + + logical, allocatable :: pruned (N_det) + + + True if determinant is removed by pruning + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`det_to_occ_pattern` + * :c:data:`n_det` + * :c:data:`pruning` + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_det_sorted` + * :c:data:`psi_occ_pattern` + * :c:data:`psi_occ_pattern_sorted` + * :c:data:`s2_eig` + + + .. c:var:: psi_average_norm_contrib @@ -1398,6 +1502,7 @@ Providers .. hlist:: :columns: 3 + * :c:data:`pruned` * :c:data:`psi_det_sorted` @@ -1436,11 +1541,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`n_det_generators` - * :c:data:`n_det_selectors` - * :c:data:`psi_det_generators` - * :c:data:`psi_det_sorted_gen` - * :c:data:`psi_selectors` + * :c:data:`pruned` .. c:var:: psi_bilinear_matrix @@ -1509,12 +1610,20 @@ Providers .. hlist:: :columns: 3 + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` * :c:data:`det_alpha_norm` * :c:data:`one_e_dm_mo_alpha` * :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix_columns_loc` * :c:data:`psi_bilinear_matrix_order_reverse` * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` .. c:var:: psi_bilinear_matrix_columns_loc @@ -1585,12 +1694,20 @@ Providers .. hlist:: :columns: 3 + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` * :c:data:`det_alpha_norm` * :c:data:`one_e_dm_mo_alpha` * :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix_columns_loc` * :c:data:`psi_bilinear_matrix_order_reverse` * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` .. c:var:: psi_bilinear_matrix_order_reverse @@ -1613,6 +1730,19 @@ Providers * :c:data:`n_det` * :c:data:`psi_bilinear_matrix_values` + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` .. c:var:: psi_bilinear_matrix_order_transp_reverse @@ -1677,12 +1807,20 @@ Providers .. hlist:: :columns: 3 + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` * :c:data:`det_alpha_norm` * :c:data:`one_e_dm_mo_alpha` * :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix_columns_loc` * :c:data:`psi_bilinear_matrix_order_reverse` * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` .. c:var:: psi_bilinear_matrix_transp_columns @@ -1714,6 +1852,7 @@ Providers * :c:data:`n_states` * :c:data:`psi_bilinear_matrix_values` * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_beta_unique` Needed by: @@ -1755,6 +1894,7 @@ Providers * :c:data:`n_states` * :c:data:`psi_bilinear_matrix_values` * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_beta_unique` Needed by: @@ -1796,6 +1936,7 @@ Providers * :c:data:`n_states` * :c:data:`psi_bilinear_matrix_values` * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_beta_unique` Needed by: @@ -1860,6 +2001,7 @@ Providers * :c:data:`n_states` * :c:data:`psi_bilinear_matrix_values` * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_beta_unique` Needed by: @@ -1911,12 +2053,20 @@ Providers .. hlist:: :columns: 3 + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` * :c:data:`det_alpha_norm` * :c:data:`one_e_dm_mo_alpha` * :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix_columns_loc` * :c:data:`psi_bilinear_matrix_order_reverse` * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` .. c:var:: psi_cas @@ -1940,10 +2090,9 @@ Providers .. hlist:: :columns: 3 - * :c:data:`cas_bitmask` + * :c:data:`act_bitmask` * :c:data:`hf_bitmask` * :c:data:`mpi_master` - * :c:data:`n_cas_bitmask` * :c:data:`n_det` * :c:data:`n_int` * :c:data:`n_states` @@ -1985,10 +2134,9 @@ Providers .. hlist:: :columns: 3 - * :c:data:`cas_bitmask` + * :c:data:`act_bitmask` * :c:data:`hf_bitmask` * :c:data:`mpi_master` - * :c:data:`n_cas_bitmask` * :c:data:`n_det` * :c:data:`n_int` * :c:data:`n_states` @@ -2138,6 +2286,10 @@ Providers .. hlist:: :columns: 3 + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` * :c:data:`barycentric_electronic_energy` * :c:data:`c0_weight` * :c:data:`ci_electronic_energy` @@ -2151,9 +2303,13 @@ Providers * :c:data:`psi_energy` * :c:data:`psi_energy_two_e` * :c:data:`psi_non_cas` - * :c:data:`pt2_e0_denominator` * :c:data:`s2_values` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` * :c:data:`weight_occ_pattern` + * :c:data:`weight_occ_pattern_average` .. c:var:: psi_coef_cas_diagonalized @@ -2266,11 +2422,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`n_det_generators` - * :c:data:`n_det_selectors` - * :c:data:`psi_det_generators` - * :c:data:`psi_det_sorted_gen` - * :c:data:`psi_selectors` + * :c:data:`pruned` .. c:var:: psi_coef_sorted_bit @@ -2427,6 +2579,7 @@ Providers * :c:data:`one_e_dm_mo_alpha` * :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`psi_bilinear_matrix_values` * :c:data:`singles_alpha_csc` * :c:data:`singles_alpha_csc_idx` @@ -2518,6 +2671,8 @@ Providers .. hlist:: :columns: 3 + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`elec_num` * :c:data:`n_det` * :c:data:`n_int` @@ -2531,7 +2686,6 @@ Providers :columns: 3 * :c:data:`psi_occ_pattern_hii` - * :c:data:`pt2_e0_denominator` .. c:var:: psi_det_size @@ -2568,16 +2722,13 @@ Providers * :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_beta` * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_generators` * :c:data:`psi_det_sorted` * :c:data:`psi_det_sorted_bit` - * :c:data:`psi_det_sorted_gen` * :c:data:`psi_energy` * :c:data:`psi_energy_two_e` * :c:data:`psi_non_cas` * :c:data:`psi_non_cas_sorted_bit` * :c:data:`psi_occ_pattern` - * :c:data:`psi_selectors_size` * :c:data:`s2_values` @@ -2616,11 +2767,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`n_det_generators` - * :c:data:`n_det_selectors` - * :c:data:`psi_det_generators` - * :c:data:`psi_det_sorted_gen` - * :c:data:`psi_selectors` + * :c:data:`pruned` .. c:var:: psi_det_sorted_bit @@ -2695,11 +2842,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`n_det_generators` - * :c:data:`n_det_selectors` - * :c:data:`psi_det_generators` - * :c:data:`psi_det_sorted_gen` - * :c:data:`psi_selectors` + * :c:data:`pruned` .. c:var:: psi_energy_h_core @@ -2897,8 +3040,11 @@ Providers :columns: 3 * :c:data:`det_to_occ_pattern` + * :c:data:`pruned` * :c:data:`psi_occ_pattern_hii` + * :c:data:`psi_occ_pattern_sorted` * :c:data:`weight_occ_pattern` + * :c:data:`weight_occ_pattern_average` .. c:var:: psi_occ_pattern_hii @@ -2927,48 +3073,100 @@ Providers -.. c:var:: ref_bitmask_e_n_energy +.. c:var:: psi_occ_pattern_sorted - File : :file:`determinants/ref_bitmask.irp.f` + File : :file:`determinants/occ_pattern.irp.f` .. code:: fortran - double precision :: ref_bitmask_energy - double precision :: ref_bitmask_one_e_energy - double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy - double precision :: ref_bitmask_two_e_energy - double precision :: ref_bitmask_energy_ab - double precision :: ref_bitmask_energy_bb - double precision :: ref_bitmask_energy_aa + integer(bit_kind), allocatable :: psi_occ_pattern_sorted (N_int,2,N_occ_pattern) + double precision, allocatable :: weight_occ_pattern_average_sorted (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order_reverse (N_occ_pattern) - Energy of the reference bitmask used in Slater rules + Occupation patterns sorted by weight Needs: .. hlist:: :columns: 3 - * :c:data:`elec_alpha_num` - * :c:data:`elec_beta_num` - * :c:data:`mo_integrals_n_e` - * :c:data:`mo_kinetic_integrals` - * :c:data:`mo_one_e_integrals` - * :c:data:`mo_two_e_integrals_jj` * :c:data:`n_int` - * :c:data:`ref_bitmask` + * :c:data:`psi_occ_pattern` + * :c:data:`weight_occ_pattern_average` Needed by: .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` - * :c:data:`diagonal_h_matrix_on_psi_det` - * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` + * :c:data:`pruned` + + +.. c:var:: psi_occ_pattern_sorted_order + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_occ_pattern_sorted (N_int,2,N_occ_pattern) + double precision, allocatable :: weight_occ_pattern_average_sorted (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order_reverse (N_occ_pattern) + + + Occupation patterns sorted by weight + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`psi_occ_pattern` + * :c:data:`weight_occ_pattern_average` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pruned` + + +.. c:var:: psi_occ_pattern_sorted_order_reverse + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_occ_pattern_sorted (N_int,2,N_occ_pattern) + double precision, allocatable :: weight_occ_pattern_average_sorted (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order_reverse (N_occ_pattern) + + + Occupation patterns sorted by weight + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`psi_occ_pattern` + * :c:data:`weight_occ_pattern_average` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pruned` .. c:var:: ref_bitmask_energy @@ -2981,7 +3179,7 @@ Providers double precision :: ref_bitmask_energy double precision :: ref_bitmask_one_e_energy double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_n_e_energy double precision :: ref_bitmask_two_e_energy double precision :: ref_bitmask_energy_ab double precision :: ref_bitmask_energy_bb @@ -3009,10 +3207,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: ref_bitmask_energy_aa @@ -3025,7 +3221,7 @@ Providers double precision :: ref_bitmask_energy double precision :: ref_bitmask_one_e_energy double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_n_e_energy double precision :: ref_bitmask_two_e_energy double precision :: ref_bitmask_energy_ab double precision :: ref_bitmask_energy_bb @@ -3053,10 +3249,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: ref_bitmask_energy_ab @@ -3069,7 +3263,7 @@ Providers double precision :: ref_bitmask_energy double precision :: ref_bitmask_one_e_energy double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_n_e_energy double precision :: ref_bitmask_two_e_energy double precision :: ref_bitmask_energy_ab double precision :: ref_bitmask_energy_bb @@ -3097,10 +3291,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: ref_bitmask_energy_bb @@ -3113,7 +3305,7 @@ Providers double precision :: ref_bitmask_energy double precision :: ref_bitmask_one_e_energy double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_n_e_energy double precision :: ref_bitmask_two_e_energy double precision :: ref_bitmask_energy_ab double precision :: ref_bitmask_energy_bb @@ -3141,10 +3333,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: ref_bitmask_kinetic_energy @@ -3157,7 +3347,49 @@ Providers double precision :: ref_bitmask_energy double precision :: ref_bitmask_one_e_energy double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_n_e_energy + double precision :: ref_bitmask_two_e_energy + double precision :: ref_bitmask_energy_ab + double precision :: ref_bitmask_energy_bb + double precision :: ref_bitmask_energy_aa + + + Energy of the reference bitmask used in Slater rules + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + + +.. c:var:: ref_bitmask_n_e_energy + + + File : :file:`determinants/ref_bitmask.irp.f` + + .. code:: fortran + + double precision :: ref_bitmask_energy + double precision :: ref_bitmask_one_e_energy + double precision :: ref_bitmask_kinetic_energy + double precision :: ref_bitmask_n_e_energy double precision :: ref_bitmask_two_e_energy double precision :: ref_bitmask_energy_ab double precision :: ref_bitmask_energy_bb @@ -3185,10 +3417,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: ref_bitmask_one_e_energy @@ -3201,7 +3431,7 @@ Providers double precision :: ref_bitmask_energy double precision :: ref_bitmask_one_e_energy double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_n_e_energy double precision :: ref_bitmask_two_e_energy double precision :: ref_bitmask_energy_ab double precision :: ref_bitmask_energy_bb @@ -3229,10 +3459,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: ref_bitmask_two_e_energy @@ -3245,7 +3473,7 @@ Providers double precision :: ref_bitmask_energy double precision :: ref_bitmask_one_e_energy double precision :: ref_bitmask_kinetic_energy - double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_n_e_energy double precision :: ref_bitmask_two_e_energy double precision :: ref_bitmask_energy_ab double precision :: ref_bitmask_energy_bb @@ -3273,10 +3501,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: ref_closed_shell_bitmask @@ -3362,7 +3588,6 @@ Providers * :c:data:`psi_coef` * :c:data:`psi_det` * :c:data:`psi_det_size` - * :c:data:`s_z` @@ -3387,13 +3612,6 @@ Providers * :c:data:`elec_alpha_num` * :c:data:`elec_beta_num` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`ci_electronic_energy` - * :c:data:`s2_values` .. c:var:: s_z2_sz @@ -3417,13 +3635,6 @@ Providers * :c:data:`elec_alpha_num` * :c:data:`elec_beta_num` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`ci_electronic_energy` - * :c:data:`s2_values` .. c:var:: single_exc_bitmask @@ -3658,9 +3869,15 @@ Providers :columns: 3 * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_average_alpha_mo_for_dft` + * :c:data:`one_e_dm_average_beta_mo_for_dft` * :c:data:`one_e_dm_mo_alpha_average` * :c:data:`psi_average_norm_contrib` - * :c:data:`selection_weight` + * :c:data:`state_av_act_2_rdm_aa_mo` + * :c:data:`state_av_act_2_rdm_ab_mo` + * :c:data:`state_av_act_2_rdm_bb_mo` + * :c:data:`state_av_act_2_rdm_spin_trace_mo` + * :c:data:`weight_occ_pattern_average` .. c:var:: weight_occ_pattern @@ -3688,6 +3905,70 @@ Providers +.. c:var:: weight_occ_pattern_average + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + double precision, allocatable :: weight_occ_pattern_average (N_occ_pattern) + + + State-average weight of the occupation patterns in the wave function + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`det_to_occ_pattern` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_occ_pattern` + * :c:data:`state_average_weight` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_occ_pattern_sorted` + + +.. c:var:: weight_occ_pattern_average_sorted + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_occ_pattern_sorted (N_int,2,N_occ_pattern) + double precision, allocatable :: weight_occ_pattern_average_sorted (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order (N_occ_pattern) + integer, allocatable :: psi_occ_pattern_sorted_order_reverse (N_occ_pattern) + + + Occupation patterns sorted by weight + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`psi_occ_pattern` + * :c:data:`weight_occ_pattern_average` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pruned` + + Subroutines / functions ----------------------- @@ -3709,8 +3990,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_jj` * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` Called by: @@ -3778,9 +4059,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_jj` - * :c:data:`mo_one_e_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_num` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` Called by: @@ -3814,6 +4097,8 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_two_e_integrals_jj` Called by: @@ -3854,13 +4139,6 @@ Subroutines / functions - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`select_singles_and_doubles` - .. c:function:: apply_holes: @@ -3873,13 +4151,6 @@ Subroutines / functions - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`fill_buffer_double` - .. c:function:: apply_particle: @@ -3904,15 +4175,6 @@ Subroutines / functions - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`fill_buffer_double` - * :c:func:`get_d0` - * :c:func:`get_d1` - .. c:function:: bitstring_to_list_ab: @@ -3950,8 +4212,15 @@ Subroutines / functions * :c:func:`i_h_j_two_e` * :c:func:`i_h_j_verbose` * :c:data:`one_e_dm_mo_alpha` + * :c:func:`orb_range_diag_to_all_2_rdm_dm_buffer` + * :c:func:`orb_range_diag_to_all_states_2_rdm_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_2_rdm_aa_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_2_rdm_ab_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_2_rdm_bb_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_all_states_aa_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_all_states_ab_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_all_states_bb_dm_buffer` * :c:data:`ref_closed_shell_bitmask` - * :c:func:`select_singles_and_doubles` * :c:func:`single_excitation_wee` @@ -3973,20 +4242,13 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`elec_alpha_num` * :c:data:`elec_beta_num` * :c:data:`mo_num` * :c:data:`mo_one_e_integrals` - * :c:data:`elec_alpha_num` * :c:data:`mo_two_e_integrals_jj` * :c:data:`n_int` - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`select_connected` - Calls: .. hlist:: @@ -3996,6 +4258,39 @@ Subroutines / functions * :c:func:`debug_det` +.. c:function:: build_singly_excited_wavefunction: + + + File : :file:`determinants/create_excitations.irp.f` + + .. code:: fortran + + subroutine build_singly_excited_wavefunction(i_hole,i_particle,ispin,det_out,coef_out) + + + Applies the single excitation operator : a^{dager}_(i_particle) a_(i_hole) of + spin = ispin to the current wave function (psi_det, psi_coef) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`do_single_excitation` + * :c:func:`get_phase` + + .. c:function:: connected_to_hf: @@ -4012,10 +4307,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`thresh_sym` - * :c:data:`ref_bitmask` * :c:data:`mo_one_e_integrals` * :c:data:`n_int` + * :c:data:`ref_bitmask` + * :c:data:`thresh_sym` Calls: @@ -4051,6 +4346,13 @@ Subroutines / functions -i : key is the ith determinant of the reference wf keys + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + .. c:function:: connected_to_ref_by_single: @@ -4077,6 +4379,13 @@ Subroutines / functions -i : key is the ith determinant of the reference wf keys + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + .. c:function:: copy_h_apply_buffer_to_wf: @@ -4096,14 +4405,17 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`n_states` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` - * :c:data:`psi_det_size` * :c:data:`n_int` + * :c:data:`n_states` * :c:data:`nproc` + * :c:data:`pruned` + * :c:data:`psi_coef` * :c:data:`psi_det` + * :c:data:`psi_det_size` Called by: @@ -4112,8 +4424,6 @@ Subroutines / functions * :c:func:`generate_all_alpha_beta_det_products` * :c:func:`make_s2_eigenfunction` - * :c:func:`run_stochastic_cipsi` - * :c:func:`zmq_selection` Calls: @@ -4155,10 +4465,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` .. c:function:: create_microlist: @@ -4179,18 +4489,6 @@ Subroutines / functions * :c:data:`mo_num` - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`perturb_buffer_dummy` - * :c:func:`perturb_buffer_epstein_nesbet` - * :c:func:`perturb_buffer_epstein_nesbet_2x2` - * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` - * :c:func:`perturb_buffer_moller_plesset` - * :c:func:`perturb_buffer_qdpt` - Calls: .. hlist:: @@ -4210,24 +4508,6 @@ Subroutines / functions - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`perturb_buffer_by_mono_dummy` - * :c:func:`perturb_buffer_by_mono_epstein_nesbet` - * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` - * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` - * :c:func:`perturb_buffer_by_mono_moller_plesset` - * :c:func:`perturb_buffer_by_mono_qdpt` - * :c:func:`perturb_buffer_dummy` - * :c:func:`perturb_buffer_epstein_nesbet` - * :c:func:`perturb_buffer_epstein_nesbet_2x2` - * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` - * :c:func:`perturb_buffer_moller_plesset` - * :c:func:`perturb_buffer_qdpt` - .. c:function:: create_minilist_find_previous: @@ -4240,24 +4520,6 @@ Subroutines / functions - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`perturb_buffer_by_mono_dummy` - * :c:func:`perturb_buffer_by_mono_epstein_nesbet` - * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` - * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` - * :c:func:`perturb_buffer_by_mono_moller_plesset` - * :c:func:`perturb_buffer_by_mono_qdpt` - * :c:func:`perturb_buffer_dummy` - * :c:func:`perturb_buffer_epstein_nesbet` - * :c:func:`perturb_buffer_epstein_nesbet_2x2` - * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` - * :c:func:`perturb_buffer_moller_plesset` - * :c:func:`perturb_buffer_qdpt` - .. c:function:: create_wf_of_psi_bilinear_matrix: @@ -4277,16 +4539,16 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_alpha_unique` - * :c:data:`psi_det_sorted_bit` - * :c:data:`n_states` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_coef` * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted_bit` Calls: @@ -4332,7 +4594,6 @@ Subroutines / functions * :c:func:`diag_h_mat_elem_fock` * :c:func:`example_determinants` - * :c:func:`pt2_moller_plesset` .. c:function:: decode_exc_spin: @@ -4433,9 +4694,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_bitmask_energy` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`elec_num` * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` Calls: @@ -4465,8 +4728,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_jj` * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_jj` Calls: @@ -4496,6 +4759,8 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_one_e_integrals` Calls: @@ -4536,9 +4801,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_bitmask_energy` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`elec_num` * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` Calls: @@ -4572,7 +4839,7 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`elec_num` + * :c:data:`mo_num` * :c:data:`n_int` Called by: @@ -4580,6 +4847,7 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:func:`build_singly_excited_wavefunction` * :c:func:`example_determinants` @@ -4600,9 +4868,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_bitmask` * :c:data:`elec_alpha_num` * :c:data:`n_int` + * :c:data:`ref_bitmask` Calls: @@ -4670,10 +4938,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`n_states` Called by: @@ -4682,8 +4952,6 @@ Subroutines / functions * :c:func:`generate_all_alpha_beta_det_products` * :c:func:`make_s2_eigenfunction` - * :c:func:`zmq_pt2` - * :c:func:`zmq_selection` Calls: @@ -4741,6 +5009,13 @@ Subroutines / functions idx(0) is the number of determinants that interact with key1 + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + Called by: .. hlist:: @@ -4787,13 +5062,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_alpha_unique` * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`psi_coef` * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` Called by: @@ -4884,7 +5159,7 @@ Subroutines / functions .. c:function:: get_all_spin_doubles_2: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -4907,7 +5182,7 @@ Subroutines / functions .. c:function:: get_all_spin_doubles_3: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -4930,7 +5205,7 @@ Subroutines / functions .. c:function:: get_all_spin_doubles_4: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -4953,7 +5228,7 @@ Subroutines / functions .. c:function:: get_all_spin_doubles_n_int: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5047,12 +5322,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles` * :c:func:`h_s2_u_0_nstates_openmp_work_1` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + * :c:func:`orb_range_2_rdm_openmp_work_1` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_1` .. c:function:: get_all_spin_singles_2: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5072,12 +5349,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles` * :c:func:`h_s2_u_0_nstates_openmp_work_2` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + * :c:func:`orb_range_2_rdm_openmp_work_2` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_2` .. c:function:: get_all_spin_singles_3: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5097,12 +5376,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles` * :c:func:`h_s2_u_0_nstates_openmp_work_3` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + * :c:func:`orb_range_2_rdm_openmp_work_3` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_3` .. c:function:: get_all_spin_singles_4: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5122,6 +5403,8 @@ Subroutines / functions * :c:func:`get_all_spin_singles` * :c:func:`h_s2_u_0_nstates_openmp_work_4` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + * :c:func:`orb_range_2_rdm_openmp_work_4` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_4` .. c:function:: get_all_spin_singles_and_doubles: @@ -5178,12 +5461,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles_and_doubles` * :c:func:`h_s2_u_0_nstates_openmp_work_1` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + * :c:func:`orb_range_2_rdm_openmp_work_1` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_1` .. c:function:: get_all_spin_singles_and_doubles_2: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5205,12 +5490,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles_and_doubles` * :c:func:`h_s2_u_0_nstates_openmp_work_2` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + * :c:func:`orb_range_2_rdm_openmp_work_2` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_2` .. c:function:: get_all_spin_singles_and_doubles_3: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5232,12 +5519,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles_and_doubles` * :c:func:`h_s2_u_0_nstates_openmp_work_3` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + * :c:func:`orb_range_2_rdm_openmp_work_3` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_3` .. c:function:: get_all_spin_singles_and_doubles_4: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5259,12 +5548,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles_and_doubles` * :c:func:`h_s2_u_0_nstates_openmp_work_4` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + * :c:func:`orb_range_2_rdm_openmp_work_4` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_4` .. c:function:: get_all_spin_singles_and_doubles_n_int: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5293,12 +5584,14 @@ Subroutines / functions * :c:func:`get_all_spin_singles_and_doubles` * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + * :c:func:`orb_range_2_rdm_openmp_work_n_int` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_n_int` .. c:function:: get_all_spin_singles_n_int: - File : :file:`determinants/spindeterminants.irp.f_template_1291` + File : :file:`determinants/spindeterminants.irp.f_template_1316` .. code:: fortran @@ -5325,6 +5618,8 @@ Subroutines / functions * :c:func:`get_all_spin_singles` * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + * :c:func:`orb_range_2_rdm_openmp_work_n_int` + * :c:func:`orb_range_2_rdm_state_av_openmp_work_n_int` .. c:function:: get_double_excitation: @@ -5351,6 +5646,8 @@ Subroutines / functions * :c:func:`i_h_j_s2` * :c:func:`i_h_j_two_e` * :c:func:`i_h_j_verbose` + * :c:func:`orb_range_off_diag_double_to_2_rdm_ab_dm_buffer` + * :c:func:`orb_range_off_diag_double_to_all_states_ab_dm_buffer` .. c:function:: get_double_excitation_spin: @@ -5373,6 +5670,10 @@ Subroutines / functions * :c:func:`get_excitation_spin` * :c:func:`i_h_j_double_spin` + * :c:func:`orb_range_off_diag_double_to_2_rdm_aa_dm_buffer` + * :c:func:`orb_range_off_diag_double_to_2_rdm_bb_dm_buffer` + * :c:func:`orb_range_off_diag_double_to_all_states_aa_dm_buffer` + * :c:func:`orb_range_off_diag_double_to_all_states_bb_dm_buffer` .. c:function:: get_excitation: @@ -5394,7 +5695,6 @@ Subroutines / functions * :c:func:`example_determinants` * :c:func:`get_phase` - * :c:func:`pt2_moller_plesset` Calls: @@ -5424,10 +5724,8 @@ Subroutines / functions :columns: 3 * :c:func:`connected_to_hf` - * :c:data:`degree_max_generators` * :c:func:`diag_h_mat_elem_fock` * :c:func:`example_determinants` - * :c:data:`exc_degree_per_selectors` * :c:func:`get_excitation` * :c:func:`get_s2` * :c:func:`i_h_j` @@ -5437,7 +5735,6 @@ Subroutines / functions * :c:func:`i_h_j_verbose` * :c:data:`max_degree_exc` * :c:data:`psi_non_cas` - * :c:func:`pt2_qdpt` .. c:function:: get_excitation_degree_spin: @@ -5459,7 +5756,6 @@ Subroutines / functions * :c:func:`get_excitation_spin` * :c:data:`one_e_dm_mo_alpha` - * :c:func:`select_singles_and_doubles` .. c:function:: get_excitation_degree_vector: @@ -5631,8 +5927,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_sorted_bit` * :c:data:`n_det` + * :c:data:`psi_det_sorted_bit` .. c:function:: get_occupation_from_dets: @@ -5652,11 +5948,12 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` * :c:data:`psi_coef` * :c:data:`psi_det` - * :c:data:`n_int` - * :c:data:`n_det` - * :c:data:`mo_num` Calls: @@ -5678,6 +5975,13 @@ Subroutines / functions Returns the phase between key1 and key2. + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`build_singly_excited_wavefunction` + Calls: .. hlist:: @@ -5764,6 +6068,12 @@ Subroutines / functions * :c:func:`i_h_j_s2` * :c:func:`i_h_j_two_e` * :c:func:`i_h_j_verbose` + * :c:func:`orb_range_off_diag_single_to_2_rdm_aa_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_2_rdm_ab_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_2_rdm_bb_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_all_states_aa_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_all_states_ab_dm_buffer` + * :c:func:`orb_range_off_diag_single_to_all_states_bb_dm_buffer` .. c:function:: get_single_excitation_from_fock: @@ -5782,10 +6092,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_closed_shell_bitmask` * :c:data:`big_array_coulomb_integrals` * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`mo_num` * :c:data:`n_int` + * :c:data:`ref_closed_shell_bitmask` Called by: @@ -5876,18 +6187,6 @@ Subroutines / functions * :c:data:`mo_num` - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`perturb_buffer_dummy` - * :c:func:`perturb_buffer_epstein_nesbet` - * :c:func:`perturb_buffer_epstein_nesbet_2x2` - * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` - * :c:func:`perturb_buffer_moller_plesset` - * :c:func:`perturb_buffer_qdpt` - Calls: .. hlist:: @@ -5914,25 +6213,24 @@ Subroutines / functions :columns: 3 * :c:data:`big_array_coulomb_integrals` - * :c:data:`mo_two_e_integrals_in_map` * :c:data:`big_array_coulomb_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_int` Called by: .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:func:`connected_to_hf` * :c:func:`example_determinants` - * :c:func:`get_d0` - * :c:func:`get_d1` * :c:data:`h_matrix_all_dets` * :c:data:`h_matrix_cas` * :c:func:`i_h_psi` * :c:func:`i_h_psi_minilist` - * :c:func:`pt2_qdpt` * :c:func:`routine_example_psi_det` Calls: @@ -5966,9 +6264,9 @@ Subroutines / functions :columns: 3 * :c:data:`big_array_coulomb_integrals` - * :c:data:`mo_two_e_integrals_in_map` * :c:data:`big_array_coulomb_integrals` * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` Called by: @@ -6013,8 +6311,8 @@ Subroutines / functions :columns: 3 * :c:data:`big_array_coulomb_integrals` - * :c:data:`mo_two_e_integrals_in_map` * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` Called by: @@ -6116,9 +6414,12 @@ Subroutines / functions :columns: 3 * :c:data:`big_array_coulomb_integrals` - * :c:data:`mo_two_e_integrals_in_map` * :c:data:`big_array_coulomb_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_int` Calls: @@ -6190,11 +6491,14 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_bitmask_energy` * :c:data:`big_array_coulomb_integrals` - * :c:data:`mo_two_e_integrals_in_map` * :c:data:`big_array_coulomb_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_int` + * :c:data:`ref_bitmask_energy` Calls: @@ -6225,11 +6529,12 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`elec_alpha_num` * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_map` * :c:data:`mo_one_e_integrals` * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`elec_alpha_num` - * :c:data:`mo_integrals_map` + * :c:data:`n_int` Calls: @@ -6259,14 +6564,12 @@ Subroutines / functions The i_H_psi_minilist is much faster but requires to build the minilists. - Called by: + Needs: .. hlist:: :columns: 3 - * :c:func:`pt2_epstein_nesbet_2x2` - * :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag` - * :c:func:`remove_small_contributions` + * :c:data:`n_int` Calls: @@ -6292,15 +6595,12 @@ Subroutines / functions Uses filter_connected_i_H_psi0 to get all the $|J \rangle$ to which $|i \rangle$ is connected. The $|J\rangle$ are searched in short pre-computed lists. - Called by: + Needs: .. hlist:: :columns: 3 - * :c:func:`pt2_dummy` - * :c:func:`pt2_epstein_nesbet` - * :c:func:`pt2_moller_plesset` - * :c:func:`pt2_qdpt` + * :c:data:`n_int` Calls: @@ -6326,6 +6626,13 @@ Subroutines / functions Uses filter_connected_i_H_psi0 to get all the $|J\rangle$ to which $|i\rangle$ is connected. The $|J\rangle$ are searched in short pre-computed lists. + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + Calls: .. hlist:: @@ -6388,6 +6695,13 @@ Subroutines / functions Returns |true| if determinant ``key`` is connected to ``keys`` + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + .. c:function:: is_connected_to_by_single: @@ -6401,6 +6715,13 @@ Subroutines / functions Returns |true| is ``key`` is connected to ``keys`` by a single excitation. + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + .. c:function:: is_in_wavefunction: @@ -6452,21 +6773,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`psi_occ_pattern` - * :c:data:`psi_occ_pattern` * :c:data:`elec_alpha_num` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`psi_occ_pattern` + * :c:data:`psi_coef` * :c:data:`psi_det` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`run_cipsi` - * :c:func:`run_stochastic_cipsi` + * :c:data:`psi_occ_pattern` Calls: @@ -6544,7 +6857,17 @@ Subroutines / functions subroutine occ_pattern_to_dets(o,d,sze,n_alpha,Nint) - Generate all possible determinants for a give occ_pattern + Generate all possible determinants for a given occ_pattern + + Input : + o : occupation pattern : (doubly occupied, singly occupied) + sze : Number of produced determinants, computed by `occ_pattern_to_dets_size` + n_alpha : Number of $\alpha$ electrons + Nint : N_int + + Output: + d : determinants + Needs: @@ -6559,7 +6882,6 @@ Subroutines / functions :columns: 3 * :c:func:`make_s2_eigenfunction` - * :c:func:`make_selection_buffer_s2` .. c:function:: occ_pattern_to_dets_size: @@ -6587,33 +6909,6 @@ Subroutines / functions :columns: 3 * :c:func:`make_s2_eigenfunction` - * :c:func:`make_selection_buffer_s2` - - -.. c:function:: pull_pt2: - - - File : :file:`determinants/h_apply.irp.f` - - .. code:: fortran - - subroutine pull_pt2(zmq_socket_pull,pt2,norm_pert,H_pert_diag,i_generator,N_st,n,task_id) - - - Pull |PT2| calculation in the collector - - -.. c:function:: push_pt2: - - - File : :file:`determinants/h_apply.irp.f` - - .. code:: fortran - - subroutine push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,i_generator,N_st,task_id) - - - Push |PT2| calculation to the collector .. c:function:: read_dets: @@ -6645,6 +6940,68 @@ Subroutines / functions * :c:func:`ezfio_get_determinants_psi_det` +.. c:function:: read_spindeterminants: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine read_spindeterminants + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_get_spindeterminants_n_det` + * :c:func:`ezfio_get_spindeterminants_n_det_alpha` + * :c:func:`ezfio_get_spindeterminants_n_det_beta` + * :c:func:`ezfio_get_spindeterminants_n_states` + * :c:func:`ezfio_get_spindeterminants_psi_coef_matrix_columns` + * :c:func:`ezfio_get_spindeterminants_psi_coef_matrix_rows` + * :c:func:`ezfio_get_spindeterminants_psi_coef_matrix_values` + * :c:func:`ezfio_get_spindeterminants_psi_det_alpha` + * :c:func:`ezfio_get_spindeterminants_psi_det_beta` + * :c:func:`wf_of_psi_bilinear_matrix` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + .. c:function:: remove_duplicates_in_psi_det: @@ -6662,14 +7019,14 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`psi_det_sorted_bit` * :c:data:`c0_weight` * :c:data:`n_det` - * :c:data:`psi_det_sorted_bit` * :c:data:`n_int` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` * :c:data:`psi_det` * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted_bit` Called by: @@ -6709,10 +7066,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`nproc` Called by: @@ -6720,7 +7080,6 @@ Subroutines / functions :columns: 3 * :c:func:`fill_h_apply_buffer_no_selection` - * :c:func:`fill_h_apply_buffer_selection` .. c:function:: routine_example_psi_det: @@ -6740,11 +7099,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`psi_det` - * :c:data:`n_states` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` Called by: @@ -6806,6 +7165,7 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`n_int` * :c:data:`ref_bitmask_energy` Called by: @@ -6839,18 +7199,22 @@ Subroutines / functions Save natural orbitals, obtained by diagonalization of the one-body density matrix in the |MO| basis - Called by: + Needs: .. hlist:: :columns: 3 - * :c:func:`save_natorb` + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` Calls: .. hlist:: :columns: 3 + * :c:func:`nullify_small_elements` + * :c:func:`orthonormalize_mos` * :c:func:`save_mos` * :c:func:`set_natural_mos` @@ -6859,6 +7223,7 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mo_coef` * :c:data:`mo_occ` @@ -6881,13 +7246,6 @@ Subroutines / functions * :c:data:`n_states` * :c:data:`ref_bitmask` - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`save_natorb` - Calls: .. hlist:: @@ -6913,20 +7271,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`read_wf` + * :c:data:`mpi_master` + * :c:data:`n_det` * :c:data:`n_states` * :c:data:`psi_det_sorted` - * :c:data:`n_det` - * :c:data:`mpi_master` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`run_cipsi` - * :c:func:`run_stochastic_cipsi` - * :c:func:`zmq_selection` + * :c:data:`read_wf` Calls: @@ -6953,9 +7302,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mpi_master` - * :c:data:`n_int` * :c:data:`mo_label` + * :c:data:`mpi_master` + * :c:data:`n_det_qp_edit` + * :c:data:`n_int` Called by: @@ -6975,10 +7325,13 @@ Subroutines / functions * :c:func:`ezfio_set_determinants_bit_kind` * :c:func:`ezfio_set_determinants_mo_label` * :c:func:`ezfio_set_determinants_n_det` + * :c:func:`ezfio_set_determinants_n_det_qp_edit` * :c:func:`ezfio_set_determinants_n_int` * :c:func:`ezfio_set_determinants_n_states` * :c:func:`ezfio_set_determinants_psi_coef` + * :c:func:`ezfio_set_determinants_psi_coef_qp_edit` * :c:func:`ezfio_set_determinants_psi_det` + * :c:func:`ezfio_set_determinants_psi_det_qp_edit` * :c:func:`normalize` * :c:func:`write_int` @@ -7000,8 +7353,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_int` * :c:data:`mo_label` + * :c:data:`mpi_master` + * :c:data:`n_det_qp_edit` + * :c:data:`n_int` Calls: @@ -7011,10 +7366,12 @@ Subroutines / functions * :c:func:`ezfio_set_determinants_bit_kind` * :c:func:`ezfio_set_determinants_mo_label` * :c:func:`ezfio_set_determinants_n_det` + * :c:func:`ezfio_set_determinants_n_det_qp_edit` * :c:func:`ezfio_set_determinants_n_int` * :c:func:`ezfio_set_determinants_n_states` * :c:func:`ezfio_set_determinants_psi_coef` * :c:func:`ezfio_set_determinants_psi_det` + * :c:func:`ezfio_set_determinants_psi_det_qp_edit` * :c:func:`write_int` @@ -7035,18 +7392,27 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` - * :c:data:`psi_det_sorted` - * :c:data:`n_det` * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted` Calls: .. hlist:: :columns: 3 + * :c:func:`nullify_small_elements` * :c:func:`save_wavefunction_general` + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + .. c:function:: save_wavefunction_unsorted: @@ -7065,11 +7431,11 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_states` * :c:data:`psi_coef` * :c:data:`psi_det` - * :c:data:`n_states` - * :c:data:`n_det` - * :c:data:`mpi_master` Calls: @@ -7097,9 +7463,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_occ` - * :c:data:`one_e_dm_mo` + * :c:data:`list_core_inact_act` + * :c:data:`list_virt` * :c:data:`mo_num` + * :c:data:`mo_occ` + * :c:data:`n_core_inact_act_orb` + * :c:data:`n_virt_orb` + * :c:data:`one_e_dm_mo` Called by: @@ -7139,10 +7509,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_closed_shell_bitmask` - * :c:data:`fock_wee_closed_shell` * :c:data:`big_array_coulomb_integrals` + * :c:data:`fock_wee_closed_shell` * :c:data:`n_int` + * :c:data:`ref_closed_shell_bitmask` Called by: @@ -7324,13 +7694,6 @@ Subroutines / functions n : number of determinants - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`s_z` - Called by: .. hlist:: @@ -7365,16 +7728,23 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_alpha_unique` - * :c:data:`n_states` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_coef` * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` * :c:data:`psi_det_sorted` + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`read_spindeterminants` + Touches: .. hlist:: @@ -7401,12 +7771,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_alpha_unique` - * :c:data:`n_states` * :c:data:`n_det` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` Calls: @@ -7443,9 +7813,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`zmq_state` - * :c:data:`n_det` * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`zmq_state` .. c:function:: zmq_get_n_det_alpha_unique: @@ -7465,9 +7835,9 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mpi_master` * :c:data:`psi_det_alpha_unique` * :c:data:`zmq_state` - * :c:data:`mpi_master` .. c:function:: zmq_get_n_det_beta_unique: @@ -7487,9 +7857,9 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mpi_master` * :c:data:`psi_det_beta_unique` * :c:data:`zmq_state` - * :c:data:`mpi_master` .. c:function:: zmq_get_n_states: @@ -7509,9 +7879,9 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mpi_master` * :c:data:`n_states` * :c:data:`zmq_state` - * :c:data:`mpi_master` .. c:function:: zmq_get_psi: @@ -7531,10 +7901,10 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`n_det` + * :c:data:`n_states` * :c:data:`psi_coef` * :c:data:`psi_det` - * :c:data:`n_states` - * :c:data:`n_det` * :c:data:`psi_det_size` Touches: @@ -7566,19 +7936,19 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`psi_det_beta_unique` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`psi_det_alpha_unique` - * :c:data:`n_states` - * :c:data:`psi_bilinear_matrix_values` - * :c:data:`psi_bilinear_matrix_values` * :c:data:`n_det` * :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_beta_unique` - * :c:data:`psi_det_size` - * :c:data:`psi_det` + * :c:data:`n_states` * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_size` Touches: @@ -7777,9 +8147,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`zmq_state` - * :c:data:`psi_det_size` * :c:data:`mpi_master` + * :c:data:`psi_det_size` + * :c:data:`zmq_state` .. c:function:: zmq_get_psi_notouch: @@ -7799,10 +8169,10 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`n_int` + * :c:data:`n_states` * :c:data:`psi_coef` * :c:data:`psi_det` - * :c:data:`n_states` - * :c:data:`n_int` * :c:data:`psi_det_size` @@ -7823,8 +8193,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`zmq_state` * :c:data:`n_det` + * :c:data:`zmq_state` .. c:function:: zmq_put_n_det_alpha_unique: @@ -8093,6 +8463,6 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`zmq_state` * :c:data:`psi_det_size` + * :c:data:`zmq_state` diff --git a/docs/source/modules/dft_keywords.rst b/docs/source/modules/dft_keywords.rst index f1493bda..95e6b9cc 100644 --- a/docs/source/modules/dft_keywords.rst +++ b/docs/source/modules/dft_keywords.rst @@ -107,10 +107,4 @@ Providers * :c:data:`correlation_functional` * :c:data:`exchange_functional` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_potential_alpha_xc` diff --git a/docs/source/modules/electrons.rst b/docs/source/modules/electrons.rst index 5945ef08..416761a9 100644 --- a/docs/source/modules/electrons.rst +++ b/docs/source/modules/electrons.rst @@ -76,7 +76,6 @@ Providers * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` .. c:var:: elec_num_tab @@ -108,5 +107,4 @@ Providers * :c:data:`diagonal_h_matrix_on_psi_det` * :c:data:`psi_det_hii` - * :c:data:`psi_selectors_diag_h_mat` diff --git a/docs/source/modules/fci.rst b/docs/source/modules/fci.rst index 2d2bb639..76f70bc5 100644 --- a/docs/source/modules/fci.rst +++ b/docs/source/modules/fci.rst @@ -97,6 +97,7 @@ Providers .. code:: fortran logical :: do_only_1h1p + logical :: do_only_cas logical :: do_ddci @@ -112,6 +113,23 @@ Providers .. code:: fortran logical :: do_only_1h1p + logical :: do_only_cas + logical :: do_ddci + + + In the FCI case, all those are always false + + + +.. c:var:: do_only_cas + + + File : :file:`fci/class.irp.f` + + .. code:: fortran + + logical :: do_only_1h1p + logical :: do_only_cas logical :: do_ddci diff --git a/docs/source/modules/hartree_fock.rst b/docs/source/modules/hartree_fock.rst index 415c8973..7513caac 100644 --- a/docs/source/modules/hartree_fock.rst +++ b/docs/source/modules/hartree_fock.rst @@ -86,8 +86,10 @@ Providers * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` + * :c:data:`is_periodic` * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` + * :c:data:`read_ao_two_e_integrals` * :c:data:`scf_density_matrix_ao_alpha` * :c:data:`scf_density_matrix_ao_beta` @@ -130,8 +132,10 @@ Providers * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` + * :c:data:`is_periodic` * :c:data:`n_pt_max_integrals` * :c:data:`nucl_coord` + * :c:data:`read_ao_two_e_integrals` * :c:data:`scf_density_matrix_ao_alpha` * :c:data:`scf_density_matrix_ao_beta` @@ -339,12 +343,14 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`ao_num` + * :c:data:`ao_ortho_lowdin_coef` * :c:data:`ezfio_filename` * :c:data:`mo_coef` * :c:data:`mo_guess_type` - * :c:data:`mo_one_e_integrals` - * :c:data:`ao_ortho_lowdin_coef` * :c:data:`mo_label` + * :c:data:`mo_num` + * :c:data:`mo_one_e_integrals` Called by: @@ -361,6 +367,7 @@ Subroutines / functions * :c:func:`ezfio_has_mo_basis_mo_coef` * :c:func:`huckel_guess` * :c:func:`mo_as_eigvectors_of_mo_matrix` + * :c:func:`restore_symmetry` Touches: @@ -372,51 +379,3 @@ Subroutines / functions * :c:data:`mo_coef` * :c:data:`mo_label` - -.. c:function:: run: - - - File : :file:`hartree_fock/scf.irp.f` - - .. code:: fortran - - subroutine run - - - Run SCF calculation - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`scf_energy` - * :c:data:`mo_label` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`pt2` - * :c:func:`scf` - - Calls: - - .. hlist:: - :columns: 3 - - * :c:func:`ezfio_set_hartree_fock_energy` - * :c:func:`roothaan_hall_scf` - - Touches: - - .. hlist:: - :columns: 3 - - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`mo_coef` - * :c:data:`level_shift` - * :c:data:`mo_coef` - diff --git a/docs/source/modules/iterations.rst b/docs/source/modules/iterations.rst index 81adc6a9..2d625419 100644 --- a/docs/source/modules/iterations.rst +++ b/docs/source/modules/iterations.rst @@ -118,10 +118,10 @@ Subroutines / functions :columns: 3 * :c:data:`extrapolated_energy` - * :c:data:`n_states` * :c:data:`n_det` - * :c:data:`pt2_iterations` * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`pt2_iterations` Called by: @@ -139,7 +139,7 @@ Subroutines / functions .. code:: fortran - subroutine print_summary(e_,pt2_,error_,variance_,norm_,n_det_,n_occ_pattern_,n_st,s2_) + subroutine print_summary(e_,pt2_data,pt2_data_err,n_det_,n_occ_pattern_,n_st,s2_) Print the extrapolated energy in the output @@ -185,11 +185,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_iter` * :c:data:`energy_iterations` + * :c:data:`n_det_iterations` + * :c:data:`n_iter` * :c:data:`n_states` * :c:data:`pt2_iterations` - * :c:data:`n_det_iterations` Called by: diff --git a/docs/source/modules/kohn_sham_rs.rst b/docs/source/modules/kohn_sham_rs.rst index e99f6af5..d32fca3f 100644 --- a/docs/source/modules/kohn_sham_rs.rst +++ b/docs/source/modules/kohn_sham_rs.rst @@ -461,8 +461,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`exchange_functional` * :c:data:`correlation_functional` + * :c:data:`exchange_functional` Called by: diff --git a/docs/source/modules/mo_basis.rst b/docs/source/modules/mo_basis.rst index 1c6e3c66..3dde0f19 100644 --- a/docs/source/modules/mo_basis.rst +++ b/docs/source/modules/mo_basis.rst @@ -68,6 +68,49 @@ EZFIO parameters Providers --------- +.. c:var:: mo_class + + + File : :file:`mo_basis/mo_class.irp.f` + + .. code:: fortran + + character*(32), allocatable :: mo_class (mo_num) + + + [ Core | Inactive | Active | Virtual | Deleted ], as defined by :ref:`qp_set_mo_class` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mo_num` + * :c:data:`mpi_master` + * :c:data:`output_wall_time_0` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`full_ijkl_bitmask` + * :c:data:`list_act` + * :c:data:`list_all_but_del_orb` + * :c:data:`list_core` + * :c:data:`list_del` + * :c:data:`list_inact` + * :c:data:`list_virt` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_act_orb` + * :c:data:`n_all_but_del_orb` + * :c:data:`n_core_orb` + * :c:data:`n_del_orb` + * :c:data:`n_inact_orb` + * :c:data:`n_virt_orb` + + .. c:var:: mo_coef @@ -100,11 +143,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`eigenvectors_fock_matrix_mo` - * :c:data:`fock_matrix_mo_alpha` - * :c:data:`fock_matrix_mo_beta` - * :c:data:`fps_spf_matrix_mo` * :c:data:`mo_coef_in_ao_ortho_basis` + * :c:data:`mo_coef_novirt` * :c:data:`mo_coef_transp` * :c:data:`mo_dipole_x` * :c:data:`mo_integrals_n_e` @@ -113,32 +153,34 @@ Providers * :c:data:`mo_overlap` * :c:data:`mo_pseudo_integrals` * :c:data:`mo_spread_x` - * :c:data:`mo_two_e_int_erf_jj_from_ao` * :c:data:`mo_two_e_integral_jj_from_ao` - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`mo_two_e_integrals_in_map` * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` * :c:data:`one_e_dm_ao_alpha` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` * :c:data:`one_e_spin_density_ao` * :c:data:`psi_det` * :c:data:`s_mo_coef` - * :c:data:`scf_density_matrix_ao_alpha` - * :c:data:`scf_density_matrix_ao_beta` -.. c:var:: mo_coef_begin_iteration +.. c:var:: mo_coef_imag - File : :file:`mo_basis/track_orb.irp.f` + File : :file:`mo_basis/mos.irp.f` .. code:: fortran - double precision, allocatable :: mo_coef_begin_iteration (ao_num,mo_num) + double precision, allocatable :: mo_coef_imag (ao_num,mo_num) - Void provider to store the coefficients of the |MO| basis at the beginning of the SCF iteration + Molecular orbital coefficients on |AO| basis set - Usefull to track some orbitals + mo_coef_imag(i,j) = coefficient of the i-th |AO| on the jth |MO| + + mo_label : Label characterizing the |MOs| (local, canonical, natural, etc) Needs: @@ -146,7 +188,9 @@ Providers :columns: 3 * :c:data:`ao_num` + * :c:data:`ezfio_filename` * :c:data:`mo_num` + * :c:data:`mpi_master` @@ -202,9 +246,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`mo_two_e_int_erf_jj_from_ao` * :c:data:`mo_two_e_integral_jj_from_ao` - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`mo_two_e_integrals_in_map` * :c:data:`mo_two_e_integrals_vv_from_ao` @@ -269,33 +311,31 @@ Providers .. hlist:: :columns: 3 - * :c:data:`ao_ortho_canonical_nucl_elec_integrals` - * :c:data:`ao_ortho_lowdin_nucl_elec_integrals` + * :c:data:`banned_excitation` * :c:data:`big_array_coulomb_integrals` * :c:data:`core_fock_operator` - * :c:data:`core_fock_operator_erf` * :c:data:`data_one_e_dm_alpha_mo` * :c:data:`data_one_e_dm_beta_mo` - * :c:data:`eigenvectors_fock_matrix_mo` - * :c:data:`fock_matrix_ao` - * :c:data:`fock_matrix_mo` - * :c:data:`fock_matrix_mo_alpha` - * :c:data:`fock_matrix_mo_beta` * :c:data:`fock_operator_closed_shell_ref_bitmask` * :c:data:`fock_wee_closed_shell` - * :c:data:`fps_spf_matrix_mo` * :c:data:`full_ijkl_bitmask` - * :c:data:`int_erf_3_index` + * :c:data:`list_act` + * :c:data:`list_all_but_del_orb` + * :c:data:`list_core` + * :c:data:`list_core_inact` + * :c:data:`list_core_inact_act` + * :c:data:`list_del` * :c:data:`list_inact` + * :c:data:`list_inact_act` + * :c:data:`list_virt` * :c:data:`mo_class` * :c:data:`mo_coef` * :c:data:`mo_coef_begin_iteration` + * :c:data:`mo_coef_imag` * :c:data:`mo_coef_in_ao_ortho_basis` * :c:data:`mo_coef_transp` * :c:data:`mo_dipole_x` * :c:data:`mo_integrals_cache_min` - * :c:data:`mo_integrals_erf_cache_min` - * :c:data:`mo_integrals_erf_map` * :c:data:`mo_integrals_map` * :c:data:`mo_integrals_n_e` * :c:data:`mo_integrals_n_e_per_atom` @@ -305,21 +345,34 @@ Providers * :c:data:`mo_overlap` * :c:data:`mo_pseudo_integrals` * :c:data:`mo_spread_x` - * :c:data:`mo_two_e_int_erf_jj` - * :c:data:`mo_two_e_int_erf_jj_from_ao` * :c:data:`mo_two_e_integral_jj_from_ao` - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`mo_two_e_integrals_in_map` * :c:data:`mo_two_e_integrals_jj` * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`n_act_orb` + * :c:data:`n_all_but_del_orb` * :c:data:`n_core_orb` + * :c:data:`n_del_orb` + * :c:data:`n_inact_orb` * :c:data:`n_int` + * :c:data:`n_virt_orb` + * :c:data:`one_body_dm_mo_alpha_one_det` + * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` * :c:data:`one_e_dm_ao_alpha` + * :c:data:`one_e_dm_average_alpha_mo_for_dft` + * :c:data:`one_e_dm_average_beta_mo_for_dft` + * :c:data:`one_e_dm_average_mo_for_dft` * :c:data:`one_e_dm_dagger_mo_spin_index` * :c:data:`one_e_dm_mo` * :c:data:`one_e_dm_mo_alpha` * :c:data:`one_e_dm_mo_alpha_average` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` + * :c:data:`one_e_dm_mo_beta_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft_no_core` * :c:data:`one_e_dm_mo_diff` + * :c:data:`one_e_dm_mo_for_dft` * :c:data:`one_e_dm_mo_spin_index` * :c:data:`one_e_spin_density_ao` * :c:data:`one_e_spin_density_mo` @@ -408,23 +461,23 @@ Subroutines / functions :columns: 3 * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` + * :c:data:`mo_num` Called by: .. hlist:: :columns: 3 - * :c:data:`fock_matrix_mo_alpha` - * :c:data:`fock_matrix_mo_beta` - * :c:data:`fps_spf_matrix_mo` + * :c:func:`four_idx_novvvv` * :c:data:`mo_dipole_x` * :c:data:`mo_integrals_n_e` * :c:data:`mo_integrals_n_e_per_atom` * :c:data:`mo_kinetic_integrals` * :c:data:`mo_pseudo_integrals` * :c:data:`mo_spread_x` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` Calls: @@ -432,6 +485,7 @@ Subroutines / functions :columns: 3 * :c:func:`dgemm` + * :c:func:`restore_symmetry` .. c:function:: give_all_mos_and_grad_and_lapl_at_r: @@ -451,8 +505,8 @@ Subroutines / functions :columns: 3 * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` + * :c:data:`mo_num` Calls: @@ -479,8 +533,8 @@ Subroutines / functions :columns: 3 * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` + * :c:data:`mo_num` Calls: @@ -507,8 +561,8 @@ Subroutines / functions :columns: 3 * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef_transp` + * :c:data:`mo_num` Calls: @@ -519,36 +573,6 @@ Subroutines / functions * :c:func:`give_all_aos_at_r` -.. c:function:: initialize_mo_coef_begin_iteration: - - - File : :file:`mo_basis/track_orb.irp.f` - - .. code:: fortran - - subroutine initialize_mo_coef_begin_iteration - - - - Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef` - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`mo_coef_begin_iteration` - * :c:data:`mo_coef` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`damping_scf` - * :c:func:`roothaan_hall_scf` - - .. c:function:: mix_mo_jk: @@ -593,20 +617,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_label` * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`create_guess` - * :c:func:`damping_scf` - * :c:func:`hcore_guess` - * :c:func:`roothaan_hall_scf` + * :c:data:`mo_label` + * :c:data:`mo_num` Calls: @@ -634,10 +648,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_label` * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` + * :c:data:`mo_label` + * :c:data:`mo_num` Calls: @@ -665,10 +679,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_label` * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` + * :c:data:`mo_label` + * :c:data:`mo_num` Called by: @@ -687,45 +701,36 @@ Subroutines / functions * :c:func:`write_time` -.. c:function:: reorder_core_orb: +.. c:function:: mo_coef_new_as_svd_vectors_of_mo_matrix_eig: - File : :file:`mo_basis/track_orb.irp.f` + File : :file:`mo_basis/utils.irp.f` .. code:: fortran - subroutine reorder_core_orb + subroutine mo_coef_new_as_svd_vectors_of_mo_matrix_eig(matrix,lda,m,n,mo_coef_before,eig,mo_coef_new) - routines that takes the current :c:data:`mo_coef` and reorder the core orbitals (see :c:data:`list_core` and :c:data:`n_core_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration` + You enter with matrix in the MO basis defined with the mo_coef_before. + + You SVD the matrix and set the eigenvectors as mo_coef_new ordered by increasing singular values Needs: .. hlist:: :columns: 3 - * :c:data:`mo_num` - * :c:data:`mo_coef_begin_iteration` - * :c:data:`mo_coef` - * :c:data:`ao_overlap` - * :c:data:`n_core_orb` * :c:data:`ao_num` - * :c:data:`list_inact` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`damping_scf` - * :c:func:`roothaan_hall_scf` + * :c:data:`mo_num` Calls: .. hlist:: :columns: 3 - * :c:func:`dsort` + * :c:func:`dgemm` + * :c:func:`svd` + * :c:func:`write_time` .. c:function:: save_mos: @@ -744,28 +749,21 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_occ` * :c:data:`ao_md5` - * :c:data:`ezfio_filename` - * :c:data:`mo_num` - * :c:data:`mo_coef` * :c:data:`ao_num` + * :c:data:`ezfio_filename` + * :c:data:`mo_class` + * :c:data:`mo_coef` * :c:data:`mo_label` + * :c:data:`mo_num` + * :c:data:`mo_occ` Called by: .. hlist:: :columns: 3 - * :c:func:`damping_scf` - * :c:func:`hcore_guess` - * :c:func:`huckel_guess` - * :c:func:`roothaan_hall_scf` - * :c:func:`rotate_mos` * :c:func:`save_natural_mos` - * :c:func:`save_ortho_mos` - * :c:func:`sort_by_fock_energies` - * :c:func:`swap_mos` Calls: @@ -773,6 +771,7 @@ Subroutines / functions :columns: 3 * :c:func:`ezfio_set_mo_basis_ao_md5` + * :c:func:`ezfio_set_mo_basis_mo_class` * :c:func:`ezfio_set_mo_basis_mo_coef` * :c:func:`ezfio_set_mo_basis_mo_label` * :c:func:`ezfio_set_mo_basis_mo_num` @@ -780,6 +779,36 @@ Subroutines / functions * :c:func:`system` +.. c:function:: save_mos_no_occ: + + + File : :file:`mo_basis/utils.irp.f` + + .. code:: fortran + + subroutine save_mos_no_occ + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ezfio_filename` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_mo_basis_mo_coef` + * :c:func:`system` + + .. c:function:: save_mos_truncated: @@ -796,12 +825,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_occ` * :c:data:`ao_md5` - * :c:data:`ezfio_filename` - * :c:data:`mo_coef` * :c:data:`ao_num` + * :c:data:`ezfio_filename` + * :c:data:`mo_class` + * :c:data:`mo_coef` * :c:data:`mo_label` + * :c:data:`mo_occ` Calls: @@ -809,6 +839,7 @@ Subroutines / functions :columns: 3 * :c:func:`ezfio_set_mo_basis_ao_md5` + * :c:func:`ezfio_set_mo_basis_mo_class` * :c:func:`ezfio_set_mo_basis_mo_coef` * :c:func:`ezfio_set_mo_basis_mo_label` * :c:func:`ezfio_set_mo_basis_mo_num` diff --git a/docs/source/modules/mo_one_e_ints.rst b/docs/source/modules/mo_one_e_ints.rst index 68a1f7b3..1b90c675 100644 --- a/docs/source/modules/mo_one_e_ints.rst +++ b/docs/source/modules/mo_one_e_ints.rst @@ -176,7 +176,7 @@ Providers * :c:data:`ao_num` * :c:data:`mo_coef` * :c:data:`mo_num` - * :c:data:`read_mo_integrals_e_n` + * :c:data:`read_mo_integrals_n_e` Needed by: @@ -264,11 +264,9 @@ Providers .. hlist:: :columns: 3 - * :c:data:`do_pseudo` * :c:data:`mo_integrals_n_e` * :c:data:`mo_kinetic_integrals` * :c:data:`mo_num` - * :c:data:`mo_pseudo_integrals` * :c:data:`read_mo_one_e_integrals` Needed by: @@ -277,7 +275,6 @@ Providers :columns: 3 * :c:data:`core_energy` - * :c:data:`core_energy_erf` * :c:data:`fock_operator_closed_shell_ref_bitmask` * :c:data:`psi_energy_h_core` * :c:data:`ref_bitmask_energy` @@ -331,12 +328,6 @@ Providers * :c:data:`mo_num` * :c:data:`read_mo_integrals_pseudo` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`mo_one_e_integrals` .. c:var:: mo_spread_x @@ -445,12 +436,6 @@ Providers * :c:data:`mo_coef` * :c:data:`mo_num` - Needed by: - - .. hlist:: - :columns: 3 - - * :c:data:`fock_matrix_ao` @@ -477,15 +462,8 @@ Subroutines / functions :columns: 3 * :c:data:`ao_num` - * :c:data:`s_mo_coef` * :c:data:`mo_num` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:data:`fock_matrix_ao` + * :c:data:`s_mo_coef` Calls: @@ -513,8 +491,16 @@ Subroutines / functions :columns: 3 * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` Calls: @@ -540,26 +526,27 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_label` * :c:data:`ao_num` - * :c:data:`mo_overlap` - * :c:data:`mo_num` + * :c:data:`lin_dep_cutoff` * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`mo_overlap` Called by: .. hlist:: :columns: 3 - * :c:func:`save_ortho_mos` - * :c:func:`scf` + * :c:func:`save_natural_mos` Calls: .. hlist:: :columns: 3 + * :c:func:`nullify_small_elements` * :c:func:`ortho_lowdin` + * :c:func:`restore_symmetry` Touches: @@ -567,5 +554,4 @@ Subroutines / functions :columns: 3 * :c:data:`mo_coef` - * :c:data:`mo_label` diff --git a/docs/source/modules/mo_two_e_erf_ints.rst b/docs/source/modules/mo_two_e_erf_ints.rst index 7e85039b..ca619a9c 100644 --- a/docs/source/modules/mo_two_e_erf_ints.rst +++ b/docs/source/modules/mo_two_e_erf_ints.rst @@ -57,7 +57,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`list_inact` + * :c:data:`list_core` * :c:data:`mo_one_e_integrals` * :c:data:`mo_two_e_int_erf_jj` * :c:data:`n_core_orb` @@ -82,12 +82,14 @@ Providers .. hlist:: :columns: 3 - * :c:data:`list_inact` + * :c:data:`list_act` + * :c:data:`list_core` * :c:data:`mo_integrals_erf_cache` * :c:data:`mo_integrals_erf_cache_min` * :c:data:`mo_integrals_erf_map` * :c:data:`mo_num` * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`n_act_orb` * :c:data:`n_core_orb` @@ -403,7 +405,6 @@ Providers * :c:data:`ao_integrals_erf_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`do_direct_integrals` @@ -472,7 +473,6 @@ Providers * :c:data:`ao_integrals_erf_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`do_direct_integrals` @@ -506,7 +506,6 @@ Providers * :c:data:`ao_integrals_erf_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`do_direct_integrals` @@ -578,14 +577,14 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_coef` - * :c:data:`mo_integrals_threshold` - * :c:data:`mo_coef_transp` * :c:data:`ao_num` - * :c:data:`n_int` - * :c:data:`mo_num` * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_num` + * :c:data:`n_int` Called by: @@ -796,8 +795,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_two_e_integrals_erf_in_map` Calls: @@ -830,8 +829,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_two_e_integrals_erf_in_map` Calls: @@ -925,11 +924,11 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_erf_in_map` - * :c:data:`mo_two_e_int_erf_jj` - * :c:data:`mo_two_e_int_erf_jj` * :c:data:`mo_integrals_erf_map` * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`mo_two_e_integrals_erf_in_map` .. c:function:: save_erf_two_e_integrals_mo: @@ -948,9 +947,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`ezfio_filename` * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_two_e_integrals_erf_in_map` Called by: @@ -985,9 +984,9 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_erf_in_map` * :c:data:`ezfio_filename` * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_two_e_integrals_erf_in_map` Calls: diff --git a/docs/source/modules/mo_two_e_ints.rst b/docs/source/modules/mo_two_e_ints.rst index bb860e59..a08e3868 100644 --- a/docs/source/modules/mo_two_e_ints.rst +++ b/docs/source/modules/mo_two_e_ints.rst @@ -43,28 +43,40 @@ EZFIO parameters Default: 1.e-15 -.. option:: no_vvvv_integrals - - If `True`, computes all integrals except for the integrals having 4 virtual indices - - Default: False - -.. option:: no_ivvv_integrals - - Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual indices and 1 belonging to the core inactive active orbitals - - Default: False - -.. option:: no_vvv_integrals - - Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual orbitals - - Default: False - Providers --------- +.. c:var:: banned_excitation + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + logical, allocatable :: banned_excitation (mo_num,mo_num) + + + If true, the excitation is banned in the selection. Useful with local MOs. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`core_fock_operator` + * :c:data:`mo_two_e_integrals_jj` + + .. c:var:: big_array_coulomb_integrals @@ -85,6 +97,7 @@ Providers .. hlist:: :columns: 3 + * :c:data:`banned_excitation` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` * :c:data:`mo_integrals_map` @@ -96,7 +109,6 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`h_matrix_all_dets` * :c:data:`h_matrix_cas` @@ -121,6 +133,7 @@ Providers .. hlist:: :columns: 3 + * :c:data:`banned_excitation` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` * :c:data:`mo_integrals_map` @@ -132,7 +145,6 @@ Providers .. hlist:: :columns: 3 - * :c:data:`coef_hf_selector` * :c:data:`h_matrix_all_dets` * :c:data:`h_matrix_cas` @@ -154,7 +166,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`list_inact` + * :c:data:`list_core` * :c:data:`mo_one_e_integrals` * :c:data:`mo_two_e_integrals_jj` * :c:data:`n_core_orb` @@ -179,12 +191,15 @@ Providers .. hlist:: :columns: 3 - * :c:data:`list_inact` + * :c:data:`banned_excitation` + * :c:data:`list_act` + * :c:data:`list_core` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` * :c:data:`mo_integrals_map` * :c:data:`mo_num` * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_act_orb` * :c:data:`n_core_orb` @@ -226,6 +241,30 @@ Providers * :c:func:`map_update` +.. c:var:: mo_coef_novirt + + + File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_coef_novirt (ao_num,n_core_inact_act_orb) + + + MO coefficients without virtual MOs + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`list_core_inact_act` + * :c:data:`mo_coef` + * :c:data:`n_core_inact_act_orb` + + + .. c:var:: mo_integrals_cache @@ -417,8 +456,8 @@ Providers .. hlist:: :columns: 3 + * :c:data:`banned_excitation` * :c:data:`big_array_coulomb_integrals` - * :c:data:`coef_hf_selector` * :c:data:`core_fock_operator` * :c:data:`fock_operator_closed_shell_ref_bitmask` * :c:data:`fock_wee_closed_shell` @@ -453,8 +492,6 @@ Providers * :c:data:`ao_integrals_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` * :c:data:`mo_coef` @@ -480,12 +517,12 @@ Providers .. hlist:: :columns: 3 + * :c:data:`ao_integrals_map` * :c:data:`ao_num` * :c:data:`ao_two_e_integrals_in_map` - * :c:data:`core_inact_act_bitmask_4` * :c:data:`ezfio_filename` * :c:data:`full_ijkl_bitmask_4` - * :c:data:`list_inact` + * :c:data:`list_core_inact_act` * :c:data:`mo_class` * :c:data:`mo_coef` * :c:data:`mo_coef_transp` @@ -493,9 +530,8 @@ Providers * :c:data:`mo_integrals_threshold` * :c:data:`mo_num` * :c:data:`mpi_master` + * :c:data:`n_core_inact_act_orb` * :c:data:`n_int` - * :c:data:`no_ivvv_integrals` - * :c:data:`no_vvv_integrals` * :c:data:`no_vvvv_integrals` * :c:data:`read_mo_two_e_integrals` @@ -504,9 +540,12 @@ Providers .. hlist:: :columns: 3 + * :c:data:`act_2_rdm_aa_mo` + * :c:data:`act_2_rdm_ab_mo` + * :c:data:`act_2_rdm_bb_mo` + * :c:data:`act_2_rdm_spin_trace_mo` * :c:data:`big_array_coulomb_integrals` * :c:data:`ci_electronic_energy` - * :c:data:`coef_hf_selector` * :c:data:`core_fock_operator` * :c:data:`fock_operator_closed_shell_ref_bitmask` * :c:data:`fock_wee_closed_shell` @@ -537,6 +576,7 @@ Providers .. hlist:: :columns: 3 + * :c:data:`banned_excitation` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` * :c:data:`mo_integrals_map` @@ -573,6 +613,7 @@ Providers .. hlist:: :columns: 3 + * :c:data:`banned_excitation` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` * :c:data:`mo_integrals_map` @@ -612,8 +653,6 @@ Providers * :c:data:`ao_integrals_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` * :c:data:`mo_coef` @@ -643,6 +682,7 @@ Providers .. hlist:: :columns: 3 + * :c:data:`banned_excitation` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` * :c:data:`mo_integrals_map` @@ -682,8 +722,6 @@ Providers * :c:data:`ao_integrals_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` * :c:data:`mo_coef` @@ -717,15 +755,13 @@ Providers * :c:data:`ao_integrals_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` - * :c:data:`list_inact` + * :c:data:`list_virt` * :c:data:`mo_coef` * :c:data:`mo_coef_transp` * :c:data:`mo_num` - * :c:data:`n_core_orb` + * :c:data:`n_virt_orb` @@ -754,15 +790,13 @@ Providers * :c:data:`ao_integrals_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` - * :c:data:`list_inact` + * :c:data:`list_virt` * :c:data:`mo_coef` * :c:data:`mo_coef_transp` * :c:data:`mo_num` - * :c:data:`n_core_orb` + * :c:data:`n_virt_orb` @@ -791,15 +825,13 @@ Providers * :c:data:`ao_integrals_map` * :c:data:`ao_integrals_threshold` * :c:data:`ao_num` - * :c:data:`ao_overlap_abs` - * :c:data:`ao_two_e_integral_schwartz` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`do_direct_integrals` - * :c:data:`list_inact` + * :c:data:`list_virt` * :c:data:`mo_coef` * :c:data:`mo_coef_transp` * :c:data:`mo_num` - * :c:data:`n_core_orb` + * :c:data:`n_virt_orb` @@ -824,13 +856,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_coef` - * :c:data:`mo_integrals_threshold` - * :c:data:`mo_coef_transp` * :c:data:`ao_num` - * :c:data:`mo_integrals_map` - * :c:data:`mo_num` * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_integrals_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_num` * :c:data:`n_int` Called by: @@ -838,6 +870,7 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:func:`four_idx_novvvv2` * :c:data:`mo_two_e_integrals_in_map` Calls: @@ -846,7 +879,6 @@ Subroutines / functions :columns: 3 * :c:func:`bitstring_to_list` - * :c:func:`bitstring_to_str` * :c:func:`cpu_time` * :c:func:`get_ao_two_e_integrals` * :c:func:`insert_into_mo_integrals_map` @@ -872,22 +904,15 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_coef` - * :c:data:`mo_integrals_threshold` - * :c:data:`mo_coef_transp` * :c:data:`ao_num` - * :c:data:`mo_integrals_map` - * :c:data:`mo_num` * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_integrals_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_num` * :c:data:`n_int` - Called by: - - .. hlist:: - :columns: 3 - - * :c:data:`mo_two_e_integrals_in_map` - Calls: .. hlist:: @@ -919,29 +944,21 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_coef` - * :c:data:`mo_integrals_threshold` - * :c:data:`mo_coef_transp` * :c:data:`ao_num` - * :c:data:`mo_integrals_map` - * :c:data:`mo_num` * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_integrals_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_num` * :c:data:`n_int` - Called by: - - .. hlist:: - :columns: 3 - - * :c:data:`mo_two_e_integrals_in_map` - Calls: .. hlist:: :columns: 3 * :c:func:`bitstring_to_list` - * :c:func:`bitstring_to_str` * :c:func:`cpu_time` * :c:func:`get_ao_two_e_integrals` * :c:func:`insert_into_mo_integrals_map` @@ -950,6 +967,44 @@ Subroutines / functions * :c:func:`wall_time` +.. c:function:: ao_to_mo_novirt: + + + File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f` + + .. code:: fortran + + subroutine ao_to_mo_novirt(A_ao,LDA_ao,A_mo,LDA_mo) + + + Transform A from the |AO| basis to the |MO| basis excluding virtuals + + $C^\dagger.A_{ao}.C$ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef_novirt` + * :c:data:`n_core_inact_act_orb` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`four_idx_novvvv` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + + .. c:function:: clear_mo_map: @@ -1005,6 +1060,81 @@ Subroutines / functions * :c:func:`ezfio_set_work_empty` +.. c:function:: four_idx_novvvv: + + + File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f` + + .. code:: fortran + + subroutine four_idx_novvvv + + + Retransform MO integrals for next CAS-SCF step + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_num` + * :c:data:`list_core_inact_act` + * :c:data:`mo_integrals_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_num` + * :c:data:`n_core_inact_act_orb` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_to_mo` + * :c:func:`ao_to_mo_novirt` + * :c:func:`map_append` + * :c:func:`map_shrink` + * :c:func:`map_sort` + * :c:func:`map_unique` + * :c:func:`two_e_integrals_index` + + +.. c:function:: four_idx_novvvv2: + + + File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f` + + .. code:: fortran + + subroutine four_idx_novvvv2 + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`core_inact_act_bitmask_4` + * :c:data:`full_ijkl_bitmask_4` + * :c:data:`n_int` + * :c:data:`virt_bitmask` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map` + + .. c:function:: get_mo_map_size: @@ -1043,17 +1173,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`banned_excitation` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_two_e_integrals_in_map` Called by: .. hlist:: :columns: 3 - * :c:func:`get_d0` - * :c:func:`get_d1` + * :c:func:`get_mo_two_e_integrals_i1j1` + * :c:func:`get_mo_two_e_integrals_ij` Calls: @@ -1092,14 +1223,6 @@ Subroutines / functions * :c:data:`fock_operator_closed_shell_ref_bitmask` * :c:data:`fock_wee_closed_shell` - Calls: - - .. hlist:: - :columns: 3 - - * :c:func:`map_get_many` - * :c:func:`two_e_integrals_index` - .. c:function:: get_mo_two_e_integrals_exch_ii: @@ -1130,14 +1253,6 @@ Subroutines / functions * :c:data:`fock_operator_closed_shell_ref_bitmask` * :c:data:`fock_wee_closed_shell` - Calls: - - .. hlist:: - :columns: 3 - - * :c:func:`map_get_many` - * :c:func:`two_e_integrals_index` - .. c:function:: get_mo_two_e_integrals_i1j1: @@ -1159,18 +1274,13 @@ Subroutines / functions :columns: 3 * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`mo_integrals_map` Calls: .. hlist:: :columns: 3 - * :c:func:`i2radix_sort` - * :c:func:`i8radix_sort` - * :c:func:`iradix_sort` - * :c:func:`map_get_many` - * :c:func:`two_e_integrals_index` + * :c:func:`get_mo_two_e_integrals` .. c:function:: get_mo_two_e_integrals_ij: @@ -1187,24 +1297,12 @@ Subroutines / functions i(1)j(2) 1/r12 k(1)l(2) i, j for k,l fixed. - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`mo_integrals_map` - Calls: .. hlist:: :columns: 3 - * :c:func:`i2radix_sort` - * :c:func:`i8radix_sort` - * :c:func:`iradix_sort` - * :c:func:`map_get_many` - * :c:func:`two_e_integrals_index` + * :c:func:`get_mo_two_e_integrals` .. c:function:: get_two_e_integral: @@ -1224,9 +1322,10 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`banned_excitation` * :c:data:`mo_integrals_cache` * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_two_e_integrals_in_map` Calls: @@ -1306,7 +1405,6 @@ Subroutines / functions :columns: 3 * :c:func:`add_integrals_to_map` - * :c:func:`add_integrals_to_map_erf` * :c:func:`add_integrals_to_map_no_exit_34` * :c:func:`add_integrals_to_map_three_indices` diff --git a/docs/source/modules/nuclei.rst b/docs/source/modules/nuclei.rst index 04ff1f5b..24a7a6e6 100644 --- a/docs/source/modules/nuclei.rst +++ b/docs/source/modules/nuclei.rst @@ -38,7 +38,7 @@ EZFIO parameters Nuclear coordinates in the format (:, {x,y,z}) -.. option:: disk_access_nuclear_repulsion +.. option:: io_nuclear_repulsion Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ] @@ -255,10 +255,7 @@ Providers * :c:data:`ao_pseudo_integrals_local` * :c:data:`ao_pseudo_integrals_non_local` * :c:data:`ao_spread_x` - * :c:data:`ao_two_e_integral_alpha` - * :c:data:`ao_two_e_integral_erf_schwartz` * :c:data:`ao_two_e_integral_schwartz` - * :c:data:`ao_two_e_integrals_erf_in_map` * :c:data:`ao_two_e_integrals_in_map` * :c:data:`center_of_mass` * :c:data:`inertia_tensor` @@ -498,7 +495,7 @@ Providers .. hlist:: :columns: 3 - * :c:data:`disk_access_nuclear_repulsion` + * :c:data:`io_nuclear_repulsion` * :c:data:`mpi_master` * :c:data:`nucl_charge` * :c:data:`nucl_coord` @@ -512,11 +509,7 @@ Providers * :c:data:`ci_energy` * :c:data:`core_energy` - * :c:data:`core_energy_erf` - * :c:data:`hf_energy` * :c:data:`psi_energy_with_nucl_rep` - * :c:data:`pt2_e0_denominator` - * :c:data:`scf_energy` .. c:var:: slater_bragg_radii diff --git a/docs/source/modules/perturbation.rst b/docs/source/modules/perturbation.rst index 764b6312..b1124aac 100644 --- a/docs/source/modules/perturbation.rst +++ b/docs/source/modules/perturbation.rst @@ -218,10 +218,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`selection_criterion` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` * :c:data:`h_apply_buffer_allocated` * :c:data:`n_det` * :c:data:`n_int` + * :c:data:`selection_criterion` Calls: @@ -252,11 +254,12 @@ Subroutines / functions :columns: 3 * :c:data:`mo_num` - * :c:data:`psi_selectors` * :c:data:`n_det` - * :c:data:`n_det_selectors` * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -287,11 +290,12 @@ Subroutines / functions :columns: 3 * :c:data:`mo_num` - * :c:data:`psi_selectors` * :c:data:`n_det` - * :c:data:`n_det_selectors` * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -322,11 +326,12 @@ Subroutines / functions :columns: 3 * :c:data:`mo_num` - * :c:data:`psi_selectors` * :c:data:`n_det` - * :c:data:`n_det_selectors` * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -357,11 +362,12 @@ Subroutines / functions :columns: 3 * :c:data:`mo_num` - * :c:data:`psi_selectors` * :c:data:`n_det` - * :c:data:`n_det_selectors` * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -392,11 +398,12 @@ Subroutines / functions :columns: 3 * :c:data:`mo_num` - * :c:data:`psi_selectors` * :c:data:`n_det` - * :c:data:`n_det_selectors` * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -427,11 +434,12 @@ Subroutines / functions :columns: 3 * :c:data:`mo_num` - * :c:data:`psi_selectors` * :c:data:`n_det` - * :c:data:`n_det_selectors` * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -461,11 +469,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det_selectors` - * :c:data:`n_det_generators` - * :c:data:`psi_selectors` - * :c:data:`psi_det_generators` * :c:data:`mo_num` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -497,11 +506,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det_selectors` - * :c:data:`n_det_generators` - * :c:data:`psi_selectors` - * :c:data:`psi_det_generators` * :c:data:`mo_num` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -533,11 +543,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det_selectors` - * :c:data:`n_det_generators` - * :c:data:`psi_selectors` - * :c:data:`psi_det_generators` * :c:data:`mo_num` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -569,11 +580,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det_selectors` - * :c:data:`n_det_generators` - * :c:data:`psi_selectors` - * :c:data:`psi_det_generators` * :c:data:`mo_num` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -605,11 +617,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det_selectors` - * :c:data:`n_det_generators` - * :c:data:`psi_selectors` - * :c:data:`psi_det_generators` * :c:data:`mo_num` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -641,11 +654,12 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_det_selectors` - * :c:data:`n_det_generators` - * :c:data:`psi_selectors` - * :c:data:`psi_det_generators` * :c:data:`mo_num` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + * :c:data:`psi_selectors` Calls: @@ -676,11 +690,11 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mo_num` * :c:data:`n_det_selectors` - * :c:data:`selection_criterion` * :c:data:`psi_selectors` * :c:data:`psi_selectors_size` - * :c:data:`mo_num` + * :c:data:`selection_criterion` Called by: @@ -721,11 +735,12 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mo_num` * :c:data:`n_det_selectors` - * :c:data:`selection_criterion` + * :c:data:`n_int` * :c:data:`psi_selectors` * :c:data:`psi_selectors_size` - * :c:data:`mo_num` + * :c:data:`selection_criterion` Called by: @@ -766,10 +781,11 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mo_num` * :c:data:`n_det_selectors` + * :c:data:`n_int` * :c:data:`psi_selectors` * :c:data:`psi_selectors_size` - * :c:data:`mo_num` Called by: @@ -811,11 +827,12 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mo_num` * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_energy` * :c:data:`psi_selectors` * :c:data:`psi_selectors_size` - * :c:data:`psi_energy` - * :c:data:`mo_num` Called by: @@ -856,12 +873,13 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ref_bitmask` - * :c:data:`psi_selectors_size` - * :c:data:`psi_selectors` + * :c:data:`fock_matrix_mo` * :c:data:`mo_num` * :c:data:`n_det_selectors` - * :c:data:`fock_matrix_mo` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + * :c:data:`ref_bitmask` Called by: @@ -902,11 +920,12 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`mo_num` * :c:data:`n_det_selectors` - * :c:data:`selection_criterion` + * :c:data:`n_int` * :c:data:`psi_selectors` * :c:data:`psi_selectors_size` - * :c:data:`mo_num` + * :c:data:`selection_criterion` Called by: @@ -944,16 +963,16 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`selection_criterion` - * :c:data:`n_states` * :c:data:`n_det` - * :c:data:`psi_det_size` * :c:data:`n_det_generators` * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` * :c:data:`psi_det_sorted` * :c:data:`psi_det` + * :c:data:`psi_det_size` * :c:data:`psi_det_sorted` + * :c:data:`selection_criterion` Calls: diff --git a/docs/source/modules/scf_utils.rst b/docs/source/modules/scf_utils.rst index d32daf5f..e822b9e6 100644 --- a/docs/source/modules/scf_utils.rst +++ b/docs/source/modules/scf_utils.rst @@ -178,9 +178,11 @@ Providers * :c:data:`fock_matrix_mo` * :c:data:`frozen_orb_scf` * :c:data:`level_shift` - * :c:data:`list_inact` + * :c:data:`list_act` + * :c:data:`list_core` * :c:data:`mo_coef` * :c:data:`mo_num` + * :c:data:`n_act_orb` * :c:data:`n_core_orb` @@ -206,8 +208,8 @@ Providers .. hlist:: :columns: 3 - * :c:data:`max_dim_diis` * :c:data:`ao_num` + * :c:data:`max_dim_diis` Called by: @@ -221,8 +223,10 @@ Providers .. hlist:: :columns: 3 + * :c:func:`dgecon` * :c:func:`dgemm` - * :c:func:`dsysvx` + * :c:func:`dgesv` + * :c:func:`dgetrf` .. c:var:: fock_matrix_ao @@ -297,8 +301,10 @@ Providers * :c:data:`fock_matrix_mo_alpha` * :c:data:`fock_matrix_mo_beta` * :c:data:`frozen_orb_scf` - * :c:data:`list_inact` + * :c:data:`list_act` + * :c:data:`list_core` * :c:data:`mo_num` + * :c:data:`n_act_orb` * :c:data:`n_core_orb` Needed by: @@ -346,8 +352,10 @@ Providers * :c:data:`fock_matrix_mo_alpha` * :c:data:`fock_matrix_mo_beta` * :c:data:`frozen_orb_scf` - * :c:data:`list_inact` + * :c:data:`list_act` + * :c:data:`list_core` * :c:data:`mo_num` + * :c:data:`n_act_orb` * :c:data:`n_core_orb` Needed by: @@ -637,18 +645,18 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`mo_coef` - * :c:data:`eigenvectors_fock_matrix_mo` - * :c:data:`scf_energy` - * :c:data:`scf_density_matrix_ao_beta` - * :c:data:`fock_matrix_mo` * :c:data:`ao_num` - * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`fock_matrix_ao` + * :c:data:`fock_matrix_mo` + * :c:data:`frozen_orb_scf` + * :c:data:`mo_coef` * :c:data:`mo_label` * :c:data:`n_it_scf_max` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + * :c:data:`scf_energy` * :c:data:`thresh_scf` - * :c:data:`frozen_orb_scf` Calls: @@ -690,14 +698,15 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`ao_one_e_integrals` - * :c:data:`mo_coef` - * :c:data:`eigenvectors_fock_matrix_mo` - * :c:data:`ao_overlap` * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_overlap` * :c:data:`ao_two_e_integral_alpha` + * :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`fock_matrix_ao_alpha` * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`mo_num` Called by: @@ -711,6 +720,8 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:func:`orthonormalize_mos` + * :c:func:`restore_symmetry` * :c:func:`save_mos` Touches: @@ -740,34 +751,27 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`max_dim_diis` - * :c:data:`mo_occ` * :c:data:`ao_md5` - * :c:data:`mo_coef` - * :c:data:`level_shift` - * :c:data:`fps_spf_matrix_mo` - * :c:data:`eigenvectors_fock_matrix_mo` - * :c:data:`scf_energy` - * :c:data:`mo_num` - * :c:data:`thresh_scf` - * :c:data:`scf_algorithm` - * :c:data:`fock_matrix_mo` * :c:data:`ao_num` + * :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`fock_matrix_ao` - * :c:data:`mo_label` - * :c:data:`n_it_scf_max` - * :c:data:`threshold_diis_nonzero` - * :c:data:`frozen_orb_scf` * :c:data:`fock_matrix_ao_alpha` * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_mo` * :c:data:`fps_spf_matrix_ao` - - Called by: - - .. hlist:: - :columns: 3 - - * :c:func:`run` + * :c:data:`fps_spf_matrix_mo` + * :c:data:`frozen_orb_scf` + * :c:data:`level_shift` + * :c:data:`max_dim_diis` + * :c:data:`mo_coef` + * :c:data:`mo_label` + * :c:data:`mo_num` + * :c:data:`mo_occ` + * :c:data:`n_it_scf_max` + * :c:data:`scf_algorithm` + * :c:data:`scf_energy` + * :c:data:`thresh_scf` + * :c:data:`threshold_diis_nonzero` Calls: @@ -777,6 +781,8 @@ Subroutines / functions * :c:func:`extrapolate_fock_matrix` * :c:func:`initialize_mo_coef_begin_iteration` * :c:func:`mo_as_eigvectors_of_mo_matrix` + * :c:func:`nullify_small_elements` + * :c:func:`orthonormalize_mos` * :c:func:`reorder_core_orb` * :c:func:`save_mos` * :c:func:`write_double` diff --git a/docs/source/modules/tools.rst b/docs/source/modules/tools.rst index 2ad351c7..31769efe 100644 --- a/docs/source/modules/tools.rst +++ b/docs/source/modules/tools.rst @@ -33,6 +33,76 @@ Programs Subroutines / functions ----------------------- +.. c:function:: print_energy: + + + File : :file:`print_energy.irp.f` + + .. code:: fortran + + subroutine print_energy + + + Prints the energy of the wave function stored in the |EZFIO| directory. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + +.. c:function:: print_hamiltonian: + + + File : :file:`print_hamiltonian.irp.f` + + .. code:: fortran + + subroutine print_hamiltonian + + + Prints the Hamiltonian matrix defined in the space of determinants + present in the |EZFIO| directory. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + .. c:function:: routine: @@ -80,8 +150,8 @@ Subroutines / functions .. hlist:: :columns: 3 - * :c:data:`n_states` * :c:data:`ezfio_filename` + * :c:data:`n_states` Called by: @@ -138,3 +208,41 @@ Subroutines / functions * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_ao` * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo` + +.. c:function:: run: + + + File : :file:`print_hamiltonian.irp.f` + + .. code:: fortran + + subroutine run + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`print_energy` + * :c:func:`print_hamiltonian` + * :c:func:`pt2` + * :c:func:`scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_j` + diff --git a/docs/source/programmers_guide/conventions.rst b/docs/source/programmers_guide/conventions.rst index 33fd810a..54524d8b 100644 --- a/docs/source/programmers_guide/conventions.rst +++ b/docs/source/programmers_guide/conventions.rst @@ -29,7 +29,7 @@ be used. In addition, all the shell scripts should be under The exit code of the script should be 0 upon success only. -Bash and Python2 are the only shell scripting language permitted for +Bash and Python3 are the only shell scripting language permitted for executables. @@ -73,11 +73,10 @@ Bash Python ------ -Only Python2 is supported. The reason is that some dependencies use Python2, -and we do not want yet to add an extra dependency to Python3. +Only Python3 is supported. -Python scripts should start with ``#!/usr/bin/env python2`` to mention -explicitly that Python2 has to be used. +Python scripts should start with ``#!/usr/bin/env python3`` to mention +explicitly that Python3 has to be used, possibly from a conda installation. :command:`pylint` should be used to increase the quality of the source code. diff --git a/docs/source/programs/cisd.rst b/docs/source/programs/cisd.rst index 8d3f5ab4..1a61760d 100644 --- a/docs/source/programs/cisd.rst +++ b/docs/source/programs/cisd.rst @@ -22,7 +22,7 @@ cisd * **Ground state calculation**: if even after a :c:func:`cis` calculation, natural orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf solution, - do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural + do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural orbitals as a guess for the :c:func:`scf`. @@ -57,6 +57,7 @@ cisd .. hlist:: :columns: 3 + * :c:data:`n_states` * :c:data:`read_wf` Calls: diff --git a/docs/source/programs/fci.rst b/docs/source/programs/fci.rst index 5979c28d..daccc0d1 100644 --- a/docs/source/programs/fci.rst +++ b/docs/source/programs/fci.rst @@ -48,10 +48,10 @@ fci .. hlist:: :columns: 3 - * :c:data:`psi_coef` - * :c:data:`is_zmq_slave` * :c:data:`do_pt2` + * :c:data:`is_zmq_slave` * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`psi_coef` * :c:data:`psi_det` Calls: @@ -87,9 +87,11 @@ fci * :c:data:`psi_energy` * :c:data:`pt2_e0_denominator` * :c:data:`pt2_match_weight` + * :c:data:`pt2_overlap` * :c:data:`pt2_stoch_istate` * :c:data:`read_wf` * :c:data:`selection_weight` * :c:data:`state_average_weight` + * :c:data:`threshold_davidson_pt2` * :c:data:`threshold_generators` * :c:data:`variance_match_weight` diff --git a/docs/source/programs/fcidump.rst b/docs/source/programs/fcidump.rst index 4e58a1ff..e98bd2fc 100644 --- a/docs/source/programs/fcidump.rst +++ b/docs/source/programs/fcidump.rst @@ -31,15 +31,16 @@ fcidump .. hlist:: :columns: 3 - * :c:data:`elec_beta_num` - * :c:data:`ezfio_filename` - * :c:data:`core_fock_operator` - * :c:data:`elec_num` - * :c:data:`mo_two_e_integrals_in_map` - * :c:data:`elec_alpha_num` - * :c:data:`mo_one_e_integrals` - * :c:data:`n_core_orb` - * :c:data:`mo_integrals_threshold` - * :c:data:`list_inact` - * :c:data:`mo_integrals_map` * :c:data:`core_energy` + * :c:data:`core_fock_operator` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`elec_num` + * :c:data:`ezfio_filename` + * :c:data:`list_act` + * :c:data:`mo_integrals_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_act_orb` + * :c:data:`n_core_orb` diff --git a/docs/source/programs/ks_scf.rst b/docs/source/programs/ks_scf.rst index bb1e9204..208a7425 100644 --- a/docs/source/programs/ks_scf.rst +++ b/docs/source/programs/ks_scf.rst @@ -19,10 +19,10 @@ ks_scf .. hlist:: :columns: 3 - * :c:data:`io_mo_one_e_integrals` - * :c:data:`mu_erf_dft` * :c:data:`density_for_dft` * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`mu_erf_dft` Calls: diff --git a/docs/source/programs/molden.rst b/docs/source/programs/molden.rst index 9c1f9249..b300b68b 100644 --- a/docs/source/programs/molden.rst +++ b/docs/source/programs/molden.rst @@ -16,21 +16,21 @@ molden .. hlist:: :columns: 3 - * :c:data:`nucl_list_shell_aos` - * :c:data:`mo_occ` - * :c:data:`ezfio_filename` - * :c:data:`mo_coef` * :c:data:`ao_coef` - * :c:data:`ao_power` - * :c:data:`fock_matrix_mo` - * :c:data:`ao_num` - * :c:data:`ao_prim_num` - * :c:data:`mo_num` - * :c:data:`nucl_coord` - * :c:data:`ao_l` - * :c:data:`nucl_charge` * :c:data:`ao_expo` + * :c:data:`ao_l` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` * :c:data:`element_name` + * :c:data:`ezfio_filename` + * :c:data:`fock_matrix_mo` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`mo_occ` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_list_shell_aos` * :c:data:`nucl_num` Calls: diff --git a/docs/source/programs/pt2.rst b/docs/source/programs/pt2.rst index 4878bb4d..2df4377d 100644 --- a/docs/source/programs/pt2.rst +++ b/docs/source/programs/pt2.rst @@ -30,8 +30,8 @@ pt2 * :c:data:`is_zmq_slave` * :c:data:`mo_two_e_integrals_in_map` * :c:data:`psi_energy` - * :c:data:`threshold_generators` * :c:data:`read_wf` + * :c:data:`threshold_generators` Calls: @@ -46,12 +46,7 @@ pt2 .. hlist:: :columns: 3 - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`mo_coef` * :c:data:`distributed_davidson` - * :c:data:`level_shift` - * :c:data:`mo_coef` * :c:data:`pt2_e0_denominator` * :c:data:`pt2_stoch_istate` * :c:data:`read_wf` diff --git a/docs/source/programs/rotate_mos.rst b/docs/source/programs/rotate_mos.rst index e5b4353c..59a92c18 100644 --- a/docs/source/programs/rotate_mos.rst +++ b/docs/source/programs/rotate_mos.rst @@ -19,8 +19,8 @@ rotate_mos :columns: 3 * :c:data:`ao_num` - * :c:data:`mo_num` * :c:data:`mo_coef` + * :c:data:`mo_num` Calls: diff --git a/docs/source/programs/rs_ks_scf.rst b/docs/source/programs/rs_ks_scf.rst index bdf8969d..597a92b8 100644 --- a/docs/source/programs/rs_ks_scf.rst +++ b/docs/source/programs/rs_ks_scf.rst @@ -19,10 +19,10 @@ rs_ks_scf .. hlist:: :columns: 3 - * :c:data:`io_mo_one_e_integrals` - * :c:data:`mu_erf_dft` * :c:data:`density_for_dft` * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`mu_erf_dft` * :c:data:`read_wf` Calls: diff --git a/docs/source/programs/save_natorb.rst b/docs/source/programs/save_natorb.rst index 852b1583..87dce047 100644 --- a/docs/source/programs/save_natorb.rst +++ b/docs/source/programs/save_natorb.rst @@ -32,8 +32,8 @@ save_natorb .. hlist:: :columns: 3 - * :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_e_n` * :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_kinetic` + * :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_n_e` * :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_pseudo` * :c:func:`ezfio_set_mo_one_e_ints_io_mo_one_e_integrals` * :c:func:`ezfio_set_mo_two_e_ints_io_mo_two_e_integrals` @@ -45,5 +45,6 @@ save_natorb .. hlist:: :columns: 3 + * :c:data:`mo_coef` * :c:data:`mo_occ` * :c:data:`read_wf` diff --git a/docs/source/programs/save_ortho_mos.rst b/docs/source/programs/save_ortho_mos.rst index 80cb065d..f8e6eba6 100644 --- a/docs/source/programs/save_ortho_mos.rst +++ b/docs/source/programs/save_ortho_mos.rst @@ -17,6 +17,13 @@ save_ortho_mos Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs. + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_label` + Calls: .. hlist:: diff --git a/docs/source/programs/scf.rst b/docs/source/programs/scf.rst index 0c70d00a..3b8035f7 100644 --- a/docs/source/programs/scf.rst +++ b/docs/source/programs/scf.rst @@ -58,9 +58,5 @@ scf * :c:data:`fock_matrix_ao_alpha` * :c:data:`fock_matrix_ao_alpha` - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`fock_matrix_ao_alpha` - * :c:data:`mo_coef` - * :c:data:`level_shift` * :c:data:`mo_coef` * :c:data:`mo_label` diff --git a/docs/source/programs/sort_by_fock_energies.rst b/docs/source/programs/sort_by_fock_energies.rst index 5d0e0d9f..8b6ccc69 100644 --- a/docs/source/programs/sort_by_fock_energies.rst +++ b/docs/source/programs/sort_by_fock_energies.rst @@ -18,10 +18,10 @@ sort_by_fock_energies .. hlist:: :columns: 3 - * :c:data:`fock_matrix_mo` * :c:data:`ao_num` - * :c:data:`mo_num` + * :c:data:`fock_matrix_mo` * :c:data:`mo_coef` + * :c:data:`mo_num` Calls: diff --git a/docs/source/programs/test.rst b/docs/source/programs/test.rst index 6595f24d..a3ed966a 100644 --- a/docs/source/programs/test.rst +++ b/docs/source/programs/test.rst @@ -10,10 +10,9 @@ test - Calls: + Needs: .. hlist:: :columns: 3 - * :c:func:`two_e_integrals_index` - * :c:func:`two_e_integrals_index_reverse` + * :c:data:`mo_one_e_integrals` diff --git a/docs/source/programs/write_integrals_erf.rst b/docs/source/programs/write_integrals_erf.rst index 43cf853d..e54efbd9 100644 --- a/docs/source/programs/write_integrals_erf.rst +++ b/docs/source/programs/write_integrals_erf.rst @@ -17,8 +17,8 @@ write_integrals_erf .. hlist:: :columns: 3 - * :c:data:`io_mo_two_e_integrals` * :c:data:`io_ao_two_e_integrals` + * :c:data:`io_mo_two_e_integrals` Calls: diff --git a/docs/source/research.bib b/docs/source/research.bib deleted file mode 100644 index c2363074..00000000 --- a/docs/source/research.bib +++ /dev/null @@ -1,493 +0,0 @@ -%%% ARXIV TO BE UPDATED %%% -@article{Loos2020Jan, - author = {Loos, Pierre-François and Scemama, Anthony and Jacquemin, Denis}, - title = {{The Quest For Highly Accurate Excitation Energies: A Computational Perspective}}, - journal = {arXiv}, - year = {2020}, - month = {Jan}, - eprint = {2001.00416}, - url = {https://arxiv.org/abs/2001.00416} -} - -@article{Loos2019Dec, - author = {Loos, Pierre-François and Lipparini, Filippo and Boggio-Pasqua, Martial and Scemama, Anthony and Jacquemin, Denis}, - title = {{A Mountaineering Strategy to Excited States: Highly-Accurate Energies and Benchmarks for Medium Size Molecules}}, - journal = {arXiv}, - year = {2019}, - month = {Dec}, - eprint = {1912.04173}, - url = {https://arxiv.org/abs/1912.04173} -} - -@article{Loos2019Oct, - author = {Loos, Pierre-François and Pradines, Barthélémy and Scemama, Anthony and Giner, Emmanuel and Toulouse, Julien}, - title = {{A Density-Based Basis-Set Incompleteness Correction for GW Methods}}, - journal = {arXiv}, - year = {2019}, - month = {Oct}, - eprint = {1910.12238}, - url = {https://arxiv.org/abs/1910.12238} -} - -%%%% PUBLISHED PAPERS -@article{Hollett2020Jan, - author = {Hollett, Joshua W. and Loos, Pierre-Fran{\c{c}}ois}, - title = {{Capturing static and dynamic correlation with {$\Delta$}NO-MP2 and {$\Delta$}NO-CCSD}}, - journal = {J. Chem. Phys.}, - volume = {152}, - number = {1}, - pages = {014101}, - year = {2020}, - month = {Jan}, - issn = {0021-9606}, - publisher = {American Institute of Physics}, - doi = {10.1063/1.5140669} -} - -@article{Giner2019Oct, - author = {Giner, Emmanuel and Scemama, Anthony and Toulouse, Julien and Loos, Pierre-Fran{\c{c}}ois}, - title = {{Chemically accurate excitation energies with small basis sets}}, - journal = {J. Chem. Phys.}, - volume = {151}, - number = {14}, - pages = {144118}, - year = {2019}, - month = {Oct}, - issn = {0021-9606}, - publisher = {American Institute of Physics}, - doi = {10.1063/1.5122976} -} - - -@article{Burton2019Sep, - author = {Burton, Hugh G. A. and Thom, Alex J. W.}, - title = {{General Approach for Multireference Ground and Excited States Using Nonorthogonal Configuration Interaction}}, - journal = {J. Chem. Theory Comput.}, - volume = {15}, - number = {9}, - pages = {4851--4861}, - year = {2019}, - month = {Sep}, - issn = {1549-9618}, - publisher = {American Chemical Society}, - doi = {10.1021/acs.jctc.9b00441} -} - -@article{Dash_2019, - author = {Dash, Monika and Feldt, Jonas and Moroni, Saverio and Scemama, Anthony and Filippi, Claudia}, - title = {{Excited States with Selected Configuration Interaction-Quantum Monte Carlo: Chemically Accurate Excitation Energies and Geometries}}, - journal = {J. Chem. Theory Comput.}, - volume = {15}, - number = {9}, - pages = {4896--4906}, - year = {2019}, - month = {Sep}, - issn = {1549-9618}, - publisher = {American Chemical Society}, - doi = {10.1021/acs.jctc.9b00476} -} - -@article{Ferte_2019, - doi = {10.1063/1.5082638}, - url = {https://doi.org/10.1063%2F1.5082638}, - year = 2019, - month = {feb}, - publisher = {{AIP} Publishing}, - volume = {150}, - number = {8}, - pages = {084103}, - author = {Anthony Fert{\'{e}} and Emmanuel Giner and Julien Toulouse}, - title = {Range-separated multideterminant density-functional theory with a short-range correlation functional of the on-top pair density}, - journal = {The Journal of Chemical Physics} -} - -@article{Caffarel_2019, - doi = {10.1063/1.5114703}, - url = {https://doi.org/10.1063%2F1.5114703}, - year = 2019, - month = {aug}, - publisher = {{AIP} Publishing}, - volume = {151}, - number = {6}, - pages = {064101}, - author = {Michel Caffarel}, - title = {Evaluating two-electron-repulsion integrals over arbitrary orbitals using zero variance Monte Carlo: Application to full configuration interaction calculations with Slater-type orbitals}, - journal = {The Journal of Chemical Physics} -} - -@article{Loos_2019, - doi = {10.1021/acs.jpclett.9b01176}, - url = {https://doi.org/10.1021%2Facs.jpclett.9b01176}, - year = 2019, - month = {may}, - publisher = {American Chemical Society ({ACS})}, - volume = {10}, - number = {11}, - pages = {2931--2937}, - author = {Pierre-Fran{\c{c}}ois Loos and Barth{\'{e}}l{\'{e}}my Pradines and Anthony Scemama and Julien Toulouse and Emmanuel Giner}, - title = {A Density-Based Basis-Set Correction for Wave Function Theory}, - journal = {The Journal of Physical Chemistry Letters} -} - - -@article{Garniron_2019, - doi = {10.1021/acs.jctc.9b00176}, - url = {https://doi.org/10.1021%2Facs.jctc.9b00176}, - year = 2019, - month = {may}, - publisher = {American Chemical Society ({ACS})}, - author = {Yann Garniron and Thomas Applencourt and Kevin Gasperich and Anouar Benali and Anthony Fert{\'{e}} and Julien Paquier and Barth{\'{e}}l{\'{e}}my Pradines and Roland Assaraf and Peter Reinhardt and Julien Toulouse and Pierrette Barbaresco and Nicolas Renon and Gr{\'{e}}goire David and Jean-Paul Malrieu and Mickaël V{\'{e}}ril and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos and Emmanuel Giner and Anthony Scemama}, - title = {Quantum Package 2.0: An Open-Source Determinant-Driven Suite of Programs}, - journal = {Journal of Chemical Theory and Computation} -} - -@article{Scemama_2019, - doi = {10.1016/j.rechem.2019.100002}, - url = {https://doi.org/10.1016%2Fj.rechem.2019.100002}, - year = 2019, - month = {may}, - publisher = {Elsevier {BV}}, - pages = {100002}, - author = {Anthony Scemama and Michel Caffarel and Anouar Benali and Denis Jacquemin and Pierre-Fran{\c{c}}ois Loos}, - title = {Influence of pseudopotentials on excitation energies from selected configuration interaction and diffusion Monte Carlo}, - journal = {Results in Chemistry} -} - - -@article{Applencourt2018Dec, - author = {Applencourt, Thomas and Gasperich, Kevin and Scemama, Anthony}, - title = {{Spin adaptation with determinant-based selected configuration interaction}}, - journal = {arXiv}, - year = {2018}, - month = {Dec}, - eprint = {1812.06902}, - url = {https://arxiv.org/abs/1812.06902} -} - -@article{Loos2019Mar, - author = {Loos, Pierre-Fran\c{c}ois and Boggio-Pasqua, Martial and Scemama, Anthony and Caffarel, Michel and Jacquemin, Denis}, - title = {{Reference Energies for Double Excitations}}, - journal = {J. Chem. Theory Comput.}, - volume = {15}, - number = {3}, - pages = {1939--1956}, - year = {2019}, - month = {Mar}, - issn = {1549-9618}, - publisher = {American Chemical Society}, - doi = {10.1021/acs.jctc.8b01205} -} - -@article{PinedaFlores2019Feb, - author = {Pineda Flores, Sergio and Neuscamman, Eric}, - title = {{Excited State Specific Multi-Slater Jastrow Wave Functions}}, - journal = {J. Phys. Chem. A}, - volume = {123}, - number = {8}, - pages = {1487--1497}, - year = {2019}, - month = {Feb}, - issn = {1089-5639}, - publisher = {American Chemical Society}, - doi = {10.1021/acs.jpca.8b10671} -} - -@phdthesis{yann_garniron_2019_2558127, - author = {Yann Garniron}, - title = {{Development and parallel implementation of - selected configuration interaction methods}}, - school = {Université de Toulouse}, - year = 2019, - month = feb, - doi = {10.5281/zenodo.2558127}, - url = {https://doi.org/10.5281/zenodo.2558127} -} - -@article{Giner_2018, - doi = {10.1063/1.5052714}, - url = {https://doi.org/10.1063%2F1.5052714}, - year = 2018, - month = {nov}, - publisher = {{AIP} Publishing}, - volume = {149}, - number = {19}, - pages = {194301}, - author = {Emmanuel Giner and Barth{\'{e}}lemy Pradines and Anthony Fert{\'{e}} and Roland Assaraf and Andreas Savin and Julien Toulouse}, - title = {Curing basis-set convergence of wave-function theory using density-functional theory: A systematically improvable approach}, - journal = {The Journal of Chemical Physics} -} - - -@article{Giner2018Oct, - author = {Giner, Emmanuel and Tew, David and Garniron, Yann and Alavi, Ali}, - title = {{Interplay between electronic correlation and metal-ligand delocalization in the spectroscopy of transition metal compounds: case study on a series of planar Cu2+complexes.}}, - journal = {J. Chem. Theory Comput.}, - year = {2018}, - month = {Oct}, - issn = {1549-9618}, - publisher = {American Chemical Society}, - doi = {10.1021/acs.jctc.8b00591} -} - -@article{Loos_2018, - doi = {10.1021/acs.jctc.8b00406}, - url = {https://doi.org/10.1021%2Facs.jctc.8b00406}, - year = 2018, - month = {jul}, - publisher = {American Chemical Society ({ACS})}, - volume = {14}, - number = {8}, - pages = {4360--4379}, - author = {Pierre-Fran{\c{c}}ois Loos and Anthony Scemama and Aymeric Blondel and Yann Garniron and Michel Caffarel and Denis Jacquemin}, - title = {A Mountaineering Strategy to Excited States: Highly Accurate Reference Energies and Benchmarks}, - journal = {Journal of Chemical Theory and Computation} -} -@article{Scemama_2018, - doi = {10.1021/acs.jctc.7b01250}, - url = {https://doi.org/10.1021%2Facs.jctc.7b01250}, - year = 2018, - month = {jan}, - publisher = {American Chemical Society ({ACS})}, - volume = {14}, - number = {3}, - pages = {1395--1402}, - author = {Anthony Scemama and Yann Garniron and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos}, - title = {Deterministic Construction of Nodal Surfaces within Quantum Monte Carlo: The Case of {FeS}}, - journal = {Journal of Chemical Theory and Computation} -} -@article{Scemama_2018.2, - doi = {10.1063/1.5041327}, - url = {https://doi.org/10.1063%2F1.5041327}, - year = 2018, - month = {jul}, - publisher = {{AIP} Publishing}, - volume = {149}, - number = {3}, - pages = {034108}, - author = {Anthony Scemama and Anouar Benali and Denis Jacquemin and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos}, - title = {Excitation energies from diffusion Monte Carlo using selected configuration interaction nodes}, - journal = {The Journal of Chemical Physics} -} -@article{Dash_2018, - doi = {10.1021/acs.jctc.8b00393}, - url = {https://doi.org/10.1021%2Facs.jctc.8b00393}, - year = 2018, - month = {jun}, - publisher = {American Chemical Society ({ACS})}, - volume = {14}, - number = {8}, - pages = {4176--4182}, - author = {Monika Dash and Saverio Moroni and Anthony Scemama and Claudia Filippi}, - title = {Perturbatively Selected Configuration-Interaction Wave Functions for Efficient Geometry Optimization in Quantum Monte Carlo}, - journal = {Journal of Chemical Theory and Computation} -} -@article{Garniron_2018, - doi = {10.1063/1.5044503}, - url = {https://doi.org/10.1063%2F1.5044503}, - year = 2018, - month = {aug}, - publisher = {{AIP} Publishing}, - volume = {149}, - number = {6}, - pages = {064103}, - author = {Yann Garniron and Anthony Scemama and Emmanuel Giner and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos}, - title = {Selected configuration interaction dressed by perturbation}, - journal = {The Journal of Chemical Physics} -} -@article{Giner_2017, - doi = {10.1063/1.4984616}, - url = {https://doi.org/10.1063%2F1.4984616}, - year = 2017, - month = {jun}, - publisher = {{AIP} Publishing}, - volume = {146}, - number = {22}, - pages = {224108}, - author = {Emmanuel Giner and Celestino Angeli and Yann Garniron and Anthony Scemama and Jean-Paul Malrieu}, - title = {A Jeziorski-Monkhorst fully uncontracted multi-reference perturbative treatment. I. Principles, second-order versions, and tests on ground state potential energy curves}, - journal = {The Journal of Chemical Physics} -} -@article{Garniron_2017, - doi = {10.1063/1.4980034}, - url = {https://doi.org/10.1063%2F1.4980034}, - year = 2017, - month = {apr}, - publisher = {{AIP} Publishing}, - volume = {146}, - number = {15}, - pages = {154107}, - author = {Yann Garniron and Emmanuel Giner and Jean-Paul Malrieu and Anthony Scemama}, - title = {Alternative definition of excitation amplitudes in multi-reference state-specific coupled cluster}, - journal = {The Journal of Chemical Physics} -} -@article{Garniron_2017.2, - doi = {10.1063/1.4992127}, - url = {https://doi.org/10.1063%2F1.4992127}, - year = 2017, - month = {jul}, - publisher = {{AIP} Publishing}, - volume = {147}, - number = {3}, - pages = {034101}, - author = {Yann Garniron and Anthony Scemama and Pierre-Fran{\c{c}}ois Loos and Michel Caffarel}, - title = {Hybrid stochastic-deterministic calculation of the second-order perturbative contribution of multireference perturbation theory}, - journal = {The Journal of Chemical Physics} -} -@article{Giner_2017.2, - doi = {10.1016/j.comptc.2017.03.001}, - url = {https://doi.org/10.1016%2Fj.comptc.2017.03.001}, - year = 2017, - month = {sep}, - publisher = {Elsevier {BV}}, - volume = {1116}, - pages = {134--140}, - author = {E. Giner and C. Angeli and A. Scemama and J.-P. Malrieu}, - title = {Orthogonal Valence Bond Hamiltonians incorporating dynamical correlation effects}, - journal = {Computational and Theoretical Chemistry} -} - -@article{Giner_2017.3, -author = {Giner, Emmanuel and Tenti, Lorenzo and Angeli, Celestino and Ferré, Nicolas}, -title = {Computation of the Isotropic Hyperfine Coupling Constant: Efficiency and Insights from a New Approach Based on Wave Function Theory}, -journal = {Journal of Chemical Theory and Computation}, -volume = {13}, -number = {2}, -pages = {475-487}, -year = {2017}, -doi = {10.1021/acs.jctc.6b00827}, -note ={PMID: 28094936}, -URL = {https://doi.org/10.1021/acs.jctc.6b00827}, -eprint = {https://doi.org/10.1021/acs.jctc.6b00827} -} -@article{Giner2016Mar, - author = {Giner, Emmanuel and Angeli, Celestino}, - title = {{Spin density and orbital optimization in open shell systems: A rational and computationally efficient proposal}}, - journal = {J. Chem. Phys.}, - volume = {144}, - number = {10}, - pages = {104104}, - year = {2016}, - month = {Mar}, - issn = {0021-9606}, - publisher = {American Institute of Physics}, - doi = {10.1063/1.4943187} -} -@article{Giner_2016, - doi = {10.1063/1.4940781}, - url = {https://doi.org/10.1063%2F1.4940781}, - year = 2016, - month = {feb}, - publisher = {{AIP} Publishing}, - volume = {144}, - number = {6}, - pages = {064101}, - author = {E. Giner and G. David and A. Scemama and J. P. Malrieu}, - title = {A simple approach to the state-specific {MR}-{CC} using the intermediate Hamiltonian formalism}, - journal = {The Journal of Chemical Physics} -} - -@article{Caffarel_2016, - doi = {10.1063/1.4947093}, - url = {https://doi.org/10.1063%2F1.4947093}, - year = 2016, - month = {apr}, - publisher = {{AIP} Publishing}, - volume = {144}, - number = {15}, - pages = {151103}, - author = {Michel Caffarel and Thomas Applencourt and Emmanuel Giner and Anthony Scemama}, - title = {Communication: Toward an improved control of the fixed-node error in quantum Monte Carlo: The case of the water molecule}, - journal = {The Journal of Chemical Physics} -} -@incollection{Caffarel_2016.2, - doi = {10.1021/bk-2016-1234.ch002}, - url = {https://doi.org/10.1021%2Fbk-2016-1234.ch002}, - year = 2016, - month = {jan}, - publisher = {American Chemical Society}, - pages = {15--46}, - author = {Michel Caffarel and Thomas Applencourt and Emmanuel Giner and Anthony Scemama}, - title = {Using CIPSI Nodes in Diffusion Monte Carlo}, - booktitle = {{ACS} Symposium Series} -} -@article{Giner_2015, - doi = {10.1063/1.4905528}, - url = {https://doi.org/10.1063%2F1.4905528}, - year = 2015, - month = {jan}, - publisher = {{AIP} Publishing}, - volume = {142}, - number = {4}, - pages = {044115}, - author = {Emmanuel Giner and Anthony Scemama and Michel Caffarel}, - title = {Fixed-node diffusion Monte Carlo potential energy curve of the fluorine molecule F2 using selected configuration interaction trial wavefunctions}, - journal = {The Journal of Chemical Physics} -} - -@article{Giner2015Sep, - author = {Giner, Emmanuel and Angeli, Celestino}, - title = {{Metal-ligand delocalization and spin density in the CuCl2 and [CuCl4]2{-} molecules: Some insights from wave function theory}}, - journal = {J. Chem. Phys.}, - volume = {143}, - number = {12}, - pages = {124305}, - year = {2015}, - month = {Sep}, - issn = {0021-9606}, - publisher = {American Institute of Physics}, - doi = {10.1063/1.4931639} -} - -@article{Scemama_2014, - doi = {10.1063/1.4903985}, - url = {https://doi.org/10.1063%2F1.4903985}, - year = 2014, - month = {dec}, - publisher = {{AIP} Publishing}, - volume = {141}, - number = {24}, - pages = {244110}, - author = {A. Scemama and T. Applencourt and E. Giner and M. Caffarel}, - title = {Accurate nonrelativistic ground-state energies of 3d transition metal atoms}, - journal = {The Journal of Chemical Physics} -} -@article{Caffarel_2014, - doi = {10.1021/ct5004252}, - url = {https://doi.org/10.1021%2Fct5004252}, - year = 2014, - month = {nov}, - publisher = {American Chemical Society ({ACS})}, - volume = {10}, - number = {12}, - pages = {5286--5296}, - author = {Michel Caffarel and Emmanuel Giner and Anthony Scemama and Alejandro Ram{\'{\i}}rez-Sol{\'{\i}}s}, - title = {Spin Density Distribution in Open-Shell Transition Metal Systems: A Comparative Post-Hartree-Fock, Density Functional Theory, and Quantum Monte Carlo Study of the CuCl2 Molecule}, - journal = {Journal of Chemical Theory and Computation} -} -@article{Giner_2013, - doi = {10.1139/cjc-2013-0017}, - url = {https://doi.org/10.1139%2Fcjc-2013-0017}, - year = 2013, - month = {sep}, - publisher = {Canadian Science Publishing}, - volume = {91}, - number = {9}, - pages = {879--885}, - author = {Emmanuel Giner and Anthony Scemama and Michel Caffarel}, - title = {Using perturbatively selected configuration interaction in quantum Monte Carlo calculations}, - journal = {Canadian Journal of Chemistry} -} - -@article{Scemama2013Nov, - author = {Scemama, Anthony and Giner, Emmanuel}, - title = {{An efficient implementation of Slater-Condon rules}}, - journal = {arXiv}, - year = {2013}, - month = {Nov}, - eprint = {1311.6244}, - url = {https://arxiv.org/abs/1311.6244} -} - - - -