10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-09-27 03:51:01 +02:00
* minor changes in README.rst of many src files

* added ROHF_b2.gms.out

* modified some scripts

* modified README.rst

* modifs in docs/intro

* added qp_e_conv_fci

* changed the doc

* added some README.rst

* modifs in docs

* introduced the sgn grids

* added 21.rsks.bats

* added EZFIO.cfg
This commit is contained in:
Anthony Scemama 2019-01-03 14:52:58 +01:00 committed by GitHub
parent 36234f0822
commit d1c324d8f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 233 additions and 930 deletions

1
TODO
View File

@ -1,4 +1,3 @@
# qp_plugins
* Mettre le fichier LIB * Mettre le fichier LIB

View File

@ -146,6 +146,9 @@ Providers
File: :file:`grid_becke_vector.irp.f` File: :file:`grid_becke_vector.irp.f`
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
<<<<<<< HEAD
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
=======
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
@ -184,6 +187,7 @@ Providers
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
@ -191,17 +195,17 @@ Providers
.. c:var:: final_weight_functions_at_final_grid_points .. c:var:: final_weight_at_r
.. code:: text .. code:: text
double precision, allocatable :: final_grid_points (3,n_points_final_grid) double precision, allocatable :: final_weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num)
double precision, allocatable :: final_weight_functions_at_final_grid_points (n_points_final_grid)
integer, allocatable :: index_final_points (3,n_points_final_grid)
integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
File: :file:`grid_becke_vector.irp.f` File: :file:`grid_becke.irp.f`
<<<<<<< HEAD
Total weight on each grid point which takes into account all Lebedev, Voronoi and radial weights.
=======
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
final_weight_functions_at_final_grid_points(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions final_weight_functions_at_final_grid_points(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
@ -209,19 +213,26 @@ Providers
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
.. c:var:: final_weight_functions_at_grid_points .. c:var:: final_weight_at_r_vector
.. code:: text .. code:: text
double precision, allocatable :: final_weight_functions_at_grid_points (n_points_integration_angular,n_points_radial_grid,nucl_num) double precision, allocatable :: final_grid_points (3,n_points_final_grid)
double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid)
integer, allocatable :: index_final_points (3,n_points_final_grid)
integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
File: :file:`grid_becke.irp.f` File: :file:`grid_becke_vector.irp.f`
Total weight on each grid point which takes into account all Lebedev, Voronoi and radial weights. final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
@ -265,9 +276,13 @@ Providers
File: :file:`grid_becke_vector.irp.f` File: :file:`grid_becke_vector.irp.f`
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
<<<<<<< HEAD
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
=======
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
@ -287,9 +302,13 @@ Providers
File: :file:`grid_becke_vector.irp.f` File: :file:`grid_becke_vector.irp.f`
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
<<<<<<< HEAD
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
=======
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
@ -346,9 +365,13 @@ Providers
File: :file:`grid_becke.irp.f` File: :file:`grid_becke.irp.f`
n_points_radial_grid = number of radial grid points per atom n_points_radial_grid = number of radial grid points per atom
<<<<<<< HEAD
n_points_integration_angular = number of angular grid points per atom
=======
n_points_integration_angular = number of angular grid points per atom n_points_integration_angular = number of angular grid points per atom
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
These numbers are automatically set by setting the grid_type_sgn parameter These numbers are automatically set by setting the grid_type_sgn parameter
@ -364,15 +387,21 @@ Providers
File: :file:`grid_becke.irp.f` File: :file:`grid_becke.irp.f`
n_points_radial_grid = number of radial grid points per atom n_points_radial_grid = number of radial grid points per atom
<<<<<<< HEAD
n_points_integration_angular = number of angular grid points per atom
=======
n_points_integration_angular = number of angular grid points per atom n_points_integration_angular = number of angular grid points per atom
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
These numbers are automatically set by setting the grid_type_sgn parameter These numbers are automatically set by setting the grid_type_sgn parameter
.. c:var:: weight_at_r .. c:var:: weight_at_r
<<<<<<< HEAD
=======
.. code:: text .. code:: text
@ -388,10 +417,11 @@ Providers
.. c:var:: weight_functions_at_grid_points .. c:var:: weight_functions_at_grid_points
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
.. code:: text .. code:: text
double precision, allocatable :: weight_functions_at_grid_points (n_points_integration_angular,n_points_radial_grid,nucl_num) double precision, allocatable :: weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num)
File: :file:`grid_becke.irp.f` File: :file:`grid_becke.irp.f`

View File

@ -33,33 +33,6 @@ Providers
.. c:var:: n_det_generators
.. code:: text
integer :: n_det_generators
File: :file:`generators.irp.f`
For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant
.. c:var:: psi_coef_generators
.. code:: text
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
File: :file:`generators.irp.f`
For Single reference wave functions, the generator is the Hartree-Fock determinant
.. c:var:: psi_coef_sorted_gen .. c:var:: psi_coef_sorted_gen
.. code:: text .. code:: text
@ -75,20 +48,6 @@ Providers
.. c:var:: psi_det_generators
.. code:: text
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
File: :file:`generators.irp.f`
For Single reference wave functions, the generator is the Hartree-Fock determinant
.. c:var:: psi_det_sorted_gen .. c:var:: psi_det_sorted_gen
.. code:: text .. code:: text
@ -117,29 +76,3 @@ Providers
For Single reference wave functions, the generator is the Hartree-Fock determinant For Single reference wave functions, the generator is the Hartree-Fock determinant
.. c:var:: select_max
.. code:: text
double precision, allocatable :: select_max (size_select_max)
File: :file:`generators.irp.f`
Memo to skip useless selectors
.. c:var:: size_select_max
.. code:: text
integer :: size_select_max
File: :file:`generators.irp.f`
Size of the select_max array

View File

@ -63,6 +63,77 @@ Providers
--------- ---------
.. c:var:: ao_bi_elec_integral_alpha
.. code:: text
double precision, allocatable :: ao_bi_elec_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_bi_elec_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: ao_bi_elec_integral_beta
.. code:: text
double precision, allocatable :: ao_bi_elec_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_bi_elec_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: extra_e_contrib_density
.. code:: text
double precision :: extra_e_contrib_density
File: :file:`hf_energy.irp.f`
Extra contribution to the SCF energy coming from the density.
For a Hartree-Fock calculation: extra_e_contrib_density = 0
For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - trace of the V_xc potential
.. c:var:: fock_matrix_ao_alpha
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: fock_matrix_ao_beta
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: hf_energy .. c:var:: hf_energy
.. code:: text .. code:: text
@ -113,6 +184,34 @@ Subroutines / functions
.. c:function:: create_guess
.. code:: text
subroutine create_guess
File: :file:`scf_old.irp.f`
Create a MO guess if no MOs are present in the EZFIO directory
.. c:function:: run
.. code:: text
subroutine run
File: :file:`scf_old.irp.f`
Run SCF calculation
.. c:function:: scf .. c:function:: scf
.. code:: text .. code:: text

View File

@ -52,34 +52,6 @@ Providers
--------- ---------
.. c:var:: ao_bi_elec_integral_alpha
.. code:: text
double precision, allocatable :: ao_bi_elec_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_bi_elec_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: ao_bi_elec_integral_beta
.. code:: text
double precision, allocatable :: ao_bi_elec_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_bi_elec_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: ao_potential_alpha_xc .. c:var:: ao_potential_alpha_xc
.. code:: text .. code:: text
@ -165,34 +137,6 @@ Providers
.. c:var:: fock_matrix_ao_alpha
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: fock_matrix_ao_beta
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: fock_matrix_beta_no_xc_ao .. c:var:: fock_matrix_beta_no_xc_ao
.. code:: text .. code:: text
@ -311,34 +255,6 @@ Subroutines / functions
.. c:function:: create_guess
.. code:: text
subroutine create_guess
File: :file:`ks_scf.irp.f`
Create a MO guess if no MOs are present in the EZFIO directory
.. c:function:: run
.. code:: text
subroutine run
File: :file:`ks_scf.irp.f`
Run SCF calculation
.. c:function:: srs_ks_cf .. c:function:: srs_ks_cf
.. code:: text .. code:: text

View File

@ -203,22 +203,6 @@ Subroutines / functions
.. c:function:: i_h_psi_pert_new_minilist
.. code:: text
subroutine i_H_psi_pert_new_minilist(key,keys,idx_key,N_minilist,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array,coef_pert)
File: :file:`pt2_new.irp.f`
Computes <i|H|Psi> = \sum_J c_J <i|H|J>.
Uses filter_connected_i_H_psi0 to get all the |J> to which |i> is connected. The |J> are searched in short pre-computed lists.
.. c:function:: perturb_buffer_by_mono_decontracted .. c:function:: perturb_buffer_by_mono_decontracted
.. code:: text .. code:: text

View File

@ -12,166 +12,3 @@ Reference wave function is defined as a |CAS| wave function.
This module is required for |CAS-SD|, |MRPT| or |MRCC|. This module is required for |CAS-SD|, |MRPT| or |MRCC|.
Providers
---------
.. c:var:: idx_ref
.. code:: text
integer(bit_kind), allocatable :: psi_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_ref (psi_det_size)
integer :: n_det_ref
File: :file:`psi_ref.irp.f`
CAS wave function, defined from the application of the CAS bitmask on the determinants. idx_cas gives the indice of the CAS determinant in psi_det.
.. c:var:: inv_norm_psi_ref
.. code:: text
double precision, allocatable :: norm_psi_ref (N_states)
double precision, allocatable :: inv_norm_psi_ref (N_states)
File: :file:`psi_ref.irp.f`
.. c:var:: n_det_ref
.. code:: text
integer(bit_kind), allocatable :: psi_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_ref (psi_det_size)
integer :: n_det_ref
File: :file:`psi_ref.irp.f`
CAS wave function, defined from the application of the CAS bitmask on the determinants. idx_cas gives the indice of the CAS determinant in psi_det.
.. c:var:: norm_psi_ref
.. code:: text
double precision, allocatable :: norm_psi_ref (N_states)
double precision, allocatable :: inv_norm_psi_ref (N_states)
File: :file:`psi_ref.irp.f`
.. c:var:: psi_non_ref_coef_interm_norm
.. code:: text
double precision, allocatable :: psi_non_ref_coef_interm_norm (N_det_non_ref,N_states)
File: :file:`psi_ref.irp.f`
.. c:var:: psi_ref
.. code:: text
integer(bit_kind), allocatable :: psi_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_ref (psi_det_size)
integer :: n_det_ref
File: :file:`psi_ref.irp.f`
CAS wave function, defined from the application of the CAS bitmask on the determinants. idx_cas gives the indice of the CAS determinant in psi_det.
.. c:var:: psi_ref_coef
.. code:: text
integer(bit_kind), allocatable :: psi_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_ref (psi_det_size)
integer :: n_det_ref
File: :file:`psi_ref.irp.f`
CAS wave function, defined from the application of the CAS bitmask on the determinants. idx_cas gives the indice of the CAS determinant in psi_det.
.. c:var:: psi_ref_coef_interm_norm
.. code:: text
double precision, allocatable :: psi_ref_coef_interm_norm (N_det_ref,N_states)
File: :file:`psi_ref.irp.f`
.. c:var:: psi_ref_coef_inv
.. code:: text
double precision, allocatable :: psi_ref_coef_inv (psi_det_size,n_states)
File: :file:`psi_ref.irp.f`
1/psi_ref_coef
.. c:var:: psi_ref_coef_restart
.. code:: text
integer(bit_kind), allocatable :: psi_ref_restart (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef_restart (psi_det_size,n_states)
File: :file:`psi_ref.irp.f`
Projection of the CAS wave function on the restart wave function.
.. c:var:: psi_ref_restart
.. code:: text
integer(bit_kind), allocatable :: psi_ref_restart (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef_restart (psi_det_size,n_states)
File: :file:`psi_ref.irp.f`
Projection of the CAS wave function on the restart wave function.

View File

@ -14,369 +14,3 @@ needs to be loaded with any `psi_ref_*` module.
Providers
---------
.. c:var:: h_matrix_ref
.. code:: text
double precision, allocatable :: h_matrix_ref (N_det_ref,N_det_ref)
File: :file:`psi_ref_utils.irp.f`
.. c:var:: holes_operators
.. code:: text
integer(bit_kind), allocatable :: holes_operators (N_int,2)
integer(bit_kind), allocatable :: particles_operators (N_int,2)
File: :file:`psi_ref_excitations_operators.irp.f`
holes_operators represents an array of integers where all the holes have been done going from psi_ref to psi_non_ref particles_operators represents an array of integers where all the particles have been done going from psi_ref to psi_non_ref
.. c:var:: idx_non_ref
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_non_ref (psi_det_size)
integer, allocatable :: idx_non_ref_rev (psi_det_size)
integer :: n_det_non_ref
File: :file:`psi_ref_utils.irp.f`
Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. idx_non_ref_rev gives the reverse.
.. c:var:: idx_non_ref_from_sorted
.. code:: text
integer, allocatable :: idx_non_ref_from_sorted (N_det)
File: :file:`psi_ref_utils.irp.f`
.. c:var:: idx_non_ref_rev
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_non_ref (psi_det_size)
integer, allocatable :: idx_non_ref_rev (psi_det_size)
integer :: n_det_non_ref
File: :file:`psi_ref_utils.irp.f`
Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. idx_non_ref_rev gives the reverse.
.. c:var:: n_det_non_ref
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_non_ref (psi_det_size)
integer, allocatable :: idx_non_ref_rev (psi_det_size)
integer :: n_det_non_ref
File: :file:`psi_ref_utils.irp.f`
Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. idx_non_ref_rev gives the reverse.
.. c:var:: particles_operators
.. code:: text
integer(bit_kind), allocatable :: holes_operators (N_int,2)
integer(bit_kind), allocatable :: particles_operators (N_int,2)
File: :file:`psi_ref_excitations_operators.irp.f`
holes_operators represents an array of integers where all the holes have been done going from psi_ref to psi_non_ref particles_operators represents an array of integers where all the particles have been done going from psi_ref to psi_non_ref
.. c:var:: psi_non_ref
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_non_ref (psi_det_size)
integer, allocatable :: idx_non_ref_rev (psi_det_size)
integer :: n_det_non_ref
File: :file:`psi_ref_utils.irp.f`
Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. idx_non_ref_rev gives the reverse.
.. c:var:: psi_non_ref_coef
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef (psi_det_size,n_states)
integer, allocatable :: idx_non_ref (psi_det_size)
integer, allocatable :: idx_non_ref_rev (psi_det_size)
integer :: n_det_non_ref
File: :file:`psi_ref_utils.irp.f`
Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. idx_non_ref_rev gives the reverse.
.. c:var:: psi_non_ref_coef_restart
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref_restart (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef_restart (psi_det_size,n_states)
File: :file:`psi_ref_utils.irp.f`
Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. But this is with respect to the restart wave function.
.. c:var:: psi_non_ref_coef_sorted_bit
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref_sorted_bit (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef_sorted_bit (psi_det_size,N_states)
File: :file:`psi_ref_utils.irp.f`
Reference determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_non_ref_coef_transp
.. code:: text
double precision, allocatable :: psi_non_ref_coef_transp (n_states,psi_det_size)
File: :file:`psi_ref_utils.irp.f`
Transposed psi_non_ref_coef
.. c:var:: psi_non_ref_restart
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref_restart (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef_restart (psi_det_size,n_states)
File: :file:`psi_ref_utils.irp.f`
Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. But this is with respect to the restart wave function.
.. c:var:: psi_non_ref_sorted_bit
.. code:: text
integer(bit_kind), allocatable :: psi_non_ref_sorted_bit (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_ref_coef_sorted_bit (psi_det_size,N_states)
File: :file:`psi_ref_utils.irp.f`
Reference determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_ref_coef_diagonalized
.. code:: text
double precision, allocatable :: psi_ref_coef_diagonalized (N_det_ref,N_states)
double precision, allocatable :: psi_ref_energy_diagonalized (N_states)
File: :file:`psi_ref_utils.irp.f`
.. c:var:: psi_ref_coef_normalized
.. code:: text
double precision, allocatable :: psi_ref_coef_normalized (psi_det_size,n_states)
File: :file:`psi_ref_utils.irp.f`
Normalized coefficients of the reference
.. c:var:: psi_ref_coef_sorted_bit
.. code:: text
integer(bit_kind), allocatable :: psi_ref_sorted_bit (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef_sorted_bit (psi_det_size,N_states)
File: :file:`psi_ref_utils.irp.f`
Reference determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_ref_coef_transp
.. code:: text
double precision, allocatable :: psi_ref_coef_transp (n_states,psi_det_size)
File: :file:`psi_ref_utils.irp.f`
Transposed psi_ref_coef
.. c:var:: psi_ref_energy
.. code:: text
double precision, allocatable :: psi_ref_energy (N_states)
File: :file:`psi_ref_utils.irp.f`
.. c:var:: psi_ref_energy_diagonalized
.. code:: text
double precision, allocatable :: psi_ref_coef_diagonalized (N_det_ref,N_states)
double precision, allocatable :: psi_ref_energy_diagonalized (N_states)
File: :file:`psi_ref_utils.irp.f`
.. c:var:: psi_ref_sorted_bit
.. code:: text
integer(bit_kind), allocatable :: psi_ref_sorted_bit (N_int,2,psi_det_size)
double precision, allocatable :: psi_ref_coef_sorted_bit (psi_det_size,N_states)
File: :file:`psi_ref_utils.irp.f`
Reference determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: ref_hamiltonian_matrix
.. code:: text
double precision, allocatable :: ref_hamiltonian_matrix (n_det_ref,n_det_ref)
File: :file:`psi_ref_utils.irp.f`
H matrix in the Reference space
Subroutines / functions
-----------------------
.. c:function:: extract_ref
.. code:: text
subroutine extract_ref
File: :file:`extract_ref.irp.f`
Replaces the total wave function by the normalized projection on the reference
.. c:function:: get_index_in_psi_ref_sorted_bit
.. code:: text
integer function get_index_in_psi_ref_sorted_bit(key,Nint)
File: :file:`psi_ref_utils.irp.f`
Returns the index of the determinant in the ``psi_ref_sorted_bit`` array
.. c:function:: is_in_psi_ref
.. code:: text
logical function is_in_psi_ref(key,Nint)
File: :file:`psi_ref_utils.irp.f`
True if the determinant ``det`` is in the wave function

View File

@ -12,3 +12,74 @@ Include this module for single reference methods.
Using this module, the only generator determinant is the Hartree-Fock determinant. Using this module, the only generator determinant is the Hartree-Fock determinant.
Providers
---------
.. c:var:: n_det_generators
.. code:: text
integer :: n_det_generators
File: :file:`generators.irp.f`
For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant
.. c:var:: psi_coef_generators
.. code:: text
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
File: :file:`generators.irp.f`
For Single reference wave functions, the generator is the Hartree-Fock determinant
.. c:var:: psi_det_generators
.. code:: text
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
File: :file:`generators.irp.f`
For Single reference wave functions, the generator is the Hartree-Fock determinant
.. c:var:: select_max
.. code:: text
double precision, allocatable :: select_max (1)
File: :file:`generators.irp.f`
Memo to skip useless selectors
.. c:var:: size_select_max
.. code:: text
integer :: size_select_max
File: :file:`generators.irp.f`
Size of select_max

View File

@ -73,6 +73,20 @@ Subroutines / functions
.. c:function:: print_r2
.. code:: text
subroutine print_r2
File: :file:`print_r2.irp.f`
.. c:function:: print_wf .. c:function:: print_wf
.. code:: text .. code:: text

View File

@ -112,7 +112,6 @@ Index of Providers
* :c:data:`aos_vx_alpha_pbe_w` * :c:data:`aos_vx_alpha_pbe_w`
* :c:data:`aos_vx_beta_lda_w` * :c:data:`aos_vx_beta_lda_w`
* :c:data:`aos_vx_beta_pbe_w` * :c:data:`aos_vx_beta_pbe_w`
* :c:data:`apply_exc_to_psi`
* :c:data:`barycentric_electronic_energy` * :c:data:`barycentric_electronic_energy`
* :c:data:`bi_elec_ref_bitmask_energy` * :c:data:`bi_elec_ref_bitmask_energy`
* :c:data:`big_array_coulomb_integrals` * :c:data:`big_array_coulomb_integrals`
@ -134,12 +133,8 @@ Index of Providers
* :c:data:`cart_to_sphe_9` * :c:data:`cart_to_sphe_9`
* :c:data:`cas_bitmask` * :c:data:`cas_bitmask`
* :c:data:`center_of_mass` * :c:data:`center_of_mass`
* :c:data:`ci_dressed_pt2_new_eigenvectors`
* :c:data:`ci_dressed_pt2_new_eigenvectors_s2`
* :c:data:`ci_dressed_pt2_new_energy`
* :c:data:`ci_eigenvectors` * :c:data:`ci_eigenvectors`
* :c:data:`ci_eigenvectors_s2` * :c:data:`ci_eigenvectors_s2`
* :c:data:`ci_electronic_dressed_pt2_new_energy`
* :c:data:`ci_electronic_energy` * :c:data:`ci_electronic_energy`
* :c:data:`ci_energy` * :c:data:`ci_energy`
* :c:data:`closed_shell_ref_bitmask` * :c:data:`closed_shell_ref_bitmask`
@ -151,7 +146,6 @@ Index of Providers
* :c:data:`core_fock_operator_erf` * :c:data:`core_fock_operator_erf`
* :c:data:`core_inact_act_bitmask_4` * :c:data:`core_inact_act_bitmask_4`
* :c:data:`core_inact_virt_bitmask` * :c:data:`core_inact_virt_bitmask`
* :c:data:`corr_e_from_1h1p`
* :c:data:`correlation_energy_ratio_max` * :c:data:`correlation_energy_ratio_max`
* :c:data:`correlation_functional` * :c:data:`correlation_functional`
* :c:data:`damping_for_rs_dft` * :c:data:`damping_for_rs_dft`
@ -164,7 +158,6 @@ Index of Providers
* :c:data:`degree_max_generators` * :c:data:`degree_max_generators`
* :c:data:`degree_max_integration_lebedev` * :c:data:`degree_max_integration_lebedev`
* :c:data:`delta_e_per_selector` * :c:data:`delta_e_per_selector`
* :c:data:`delta_ij_mrpt`
* :c:data:`density_for_dft` * :c:data:`density_for_dft`
* :c:data:`det_alpha_norm` * :c:data:`det_alpha_norm`
* :c:data:`det_beta_norm` * :c:data:`det_beta_norm`
@ -184,7 +177,6 @@ Index of Providers
* :c:data:`do_direct_integrals` * :c:data:`do_direct_integrals`
* :c:data:`do_pseudo` * :c:data:`do_pseudo`
* :c:data:`do_pt2` * :c:data:`do_pt2`
* :c:data:`do_third_order_1h1p`
* :c:data:`double_exc_bitmask` * :c:data:`double_exc_bitmask`
* :c:data:`double_index_selectors` * :c:data:`double_index_selectors`
* :c:data:`dr_radial_integral` * :c:data:`dr_radial_integral`
@ -211,8 +203,6 @@ Index of Providers
* :c:data:`energy_c` * :c:data:`energy_c`
* :c:data:`energy_c_lda` * :c:data:`energy_c_lda`
* :c:data:`energy_c_pbe` * :c:data:`energy_c_pbe`
* :c:data:`energy_cas_dyall`
* :c:data:`energy_cas_dyall_no_exchange`
* :c:data:`energy_iterations` * :c:data:`energy_iterations`
* :c:data:`energy_sr_c_lda` * :c:data:`energy_sr_c_lda`
* :c:data:`energy_sr_c_pbe` * :c:data:`energy_sr_c_pbe`
@ -234,12 +224,6 @@ Index of Providers
* :c:data:`final_grid_points` * :c:data:`final_grid_points`
* :c:data:`final_weight_at_r` * :c:data:`final_weight_at_r`
* :c:data:`final_weight_at_r_vector` * :c:data:`final_weight_at_r_vector`
* :c:data:`final_weight_functions_at_final_grid_points`
* :c:data:`final_weight_functions_at_grid_points`
* :c:data:`fock_core_inactive`
* :c:data:`fock_core_inactive_from_act`
* :c:data:`fock_core_inactive_total`
* :c:data:`fock_core_inactive_total_spin_trace`
* :c:data:`fock_matrix_alpha_no_xc_ao` * :c:data:`fock_matrix_alpha_no_xc_ao`
* :c:data:`fock_matrix_ao` * :c:data:`fock_matrix_ao`
* :c:data:`fock_matrix_ao_alpha` * :c:data:`fock_matrix_ao_alpha`
@ -250,12 +234,7 @@ Index of Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`fock_matrix_mo_alpha` * :c:data:`fock_matrix_mo_alpha`
* :c:data:`fock_matrix_mo_beta` * :c:data:`fock_matrix_mo_beta`
* :c:data:`fock_operator_active_from_core_inact`
* :c:data:`fock_operator_closed_shell_ref_bitmask` * :c:data:`fock_operator_closed_shell_ref_bitmask`
* :c:data:`fock_virt_from_act`
* :c:data:`fock_virt_from_core_inact`
* :c:data:`fock_virt_total`
* :c:data:`fock_virt_total_spin_trace`
* :c:data:`fock_wee_closed_shell` * :c:data:`fock_wee_closed_shell`
* :c:data:`fps_spf_matrix_ao` * :c:data:`fps_spf_matrix_ao`
* :c:data:`fps_spf_matrix_mo` * :c:data:`fps_spf_matrix_mo`
@ -263,17 +242,12 @@ Index of Providers
* :c:data:`full_ijkl_bitmask_4` * :c:data:`full_ijkl_bitmask_4`
* :c:data:`gauleg_t2` * :c:data:`gauleg_t2`
* :c:data:`gauleg_w` * :c:data:`gauleg_w`
* :c:data:`gen_det_ref_idx`
* :c:data:`gen_det_ref_shortcut`
* :c:data:`gen_det_ref_sorted`
* :c:data:`gen_det_ref_version`
* :c:data:`general_primitive_integral` * :c:data:`general_primitive_integral`
* :c:data:`general_primitive_integral_erf` * :c:data:`general_primitive_integral_erf`
* :c:data:`generators_bitmask` * :c:data:`generators_bitmask`
* :c:data:`generators_bitmask_restart` * :c:data:`generators_bitmask_restart`
* :c:data:`gga_sr_type_functionals` * :c:data:`gga_sr_type_functionals`
* :c:data:`gga_type_functionals` * :c:data:`gga_type_functionals`
* :c:data:`give_holes_and_particles_in_active_space`
* :c:data:`grad_aos_dsr_vc_alpha_pbe_w` * :c:data:`grad_aos_dsr_vc_alpha_pbe_w`
* :c:data:`grad_aos_dsr_vc_beta_pbe_w` * :c:data:`grad_aos_dsr_vc_beta_pbe_w`
* :c:data:`grad_aos_dsr_vx_alpha_pbe_w` * :c:data:`grad_aos_dsr_vx_alpha_pbe_w`
@ -290,15 +264,11 @@ Index of Providers
* :c:data:`h_apply_buffer_lock` * :c:data:`h_apply_buffer_lock`
* :c:data:`h_matrix_all_dets` * :c:data:`h_matrix_all_dets`
* :c:data:`h_matrix_cas` * :c:data:`h_matrix_cas`
* :c:data:`h_matrix_ref`
* :c:data:`hf_bitmask` * :c:data:`hf_bitmask`
* :c:data:`hf_energy` * :c:data:`hf_energy`
* :c:data:`hf_exchange` * :c:data:`hf_exchange`
* :c:data:`hf_one_electron_energy` * :c:data:`hf_one_electron_energy`
* :c:data:`hf_two_electron_energy` * :c:data:`hf_two_electron_energy`
* :c:data:`hmatrix_dressed_pt2_new`
* :c:data:`hmatrix_dressed_pt2_new_symmetrized`
* :c:data:`holes_operators`
* :c:data:`i2radix_sort` * :c:data:`i2radix_sort`
* :c:data:`i8radix_sort` * :c:data:`i8radix_sort`
* :c:data:`i8radix_sort_big` * :c:data:`i8radix_sort_big`
@ -314,10 +284,6 @@ Index of Providers
* :c:data:`i_x2_pol_mult_mono_elec` * :c:data:`i_x2_pol_mult_mono_elec`
* :c:data:`idx_cas` * :c:data:`idx_cas`
* :c:data:`idx_non_cas` * :c:data:`idx_non_cas`
* :c:data:`idx_non_ref`
* :c:data:`idx_non_ref_from_sorted`
* :c:data:`idx_non_ref_rev`
* :c:data:`idx_ref`
* :c:data:`inact_bitmask` * :c:data:`inact_bitmask`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`index_final_points` * :c:data:`index_final_points`
@ -332,10 +298,7 @@ Index of Providers
* :c:data:`insert_into_mo_integrals_map` * :c:data:`insert_into_mo_integrals_map`
* :c:data:`int_erf_3_index` * :c:data:`int_erf_3_index`
* :c:data:`int_erf_3_index_exc` * :c:data:`int_erf_3_index_exc`
* :c:data:`integral_density_alpha_knowles_becke_per_atom`
* :c:data:`integral_density_beta_knowles_becke_per_atom`
* :c:data:`inv_int` * :c:data:`inv_int`
* :c:data:`inv_norm_psi_ref`
* :c:data:`inv_selectors_coef_hf` * :c:data:`inv_selectors_coef_hf`
* :c:data:`inv_selectors_coef_hf_squared` * :c:data:`inv_selectors_coef_hf_squared`
* :c:data:`iradix_sort` * :c:data:`iradix_sort`
@ -440,6 +403,7 @@ Index of Providers
* :c:data:`n_det_max` * :c:data:`n_det_max`
* :c:data:`n_det_max_full` * :c:data:`n_det_max_full`
* :c:data:`n_det_non_cas` * :c:data:`n_det_non_cas`
* :c:data:`n_det_print_wf`
* :c:data:`n_det_non_ref` * :c:data:`n_det_non_ref`
* :c:data:`n_det_print_wf` * :c:data:`n_det_print_wf`
* :c:data:`n_det_ref` * :c:data:`n_det_ref`
@ -470,7 +434,6 @@ Index of Providers
* :c:data:`no_oa_or_av_opt` * :c:data:`no_oa_or_av_opt`
* :c:data:`no_vvv_integrals` * :c:data:`no_vvv_integrals`
* :c:data:`no_vvvv_integrals` * :c:data:`no_vvvv_integrals`
* :c:data:`norm_psi_ref`
* :c:data:`nproc` * :c:data:`nproc`
* :c:data:`nthreads_davidson` * :c:data:`nthreads_davidson`
* :c:data:`nucl_aos` * :c:data:`nucl_aos`
@ -492,31 +455,19 @@ Index of Providers
* :c:data:`nucl_num` * :c:data:`nucl_num`
* :c:data:`nucl_num_shell_aos` * :c:data:`nucl_num_shell_aos`
* :c:data:`nuclear_repulsion` * :c:data:`nuclear_repulsion`
* :c:data:`one_anhil`
* :c:data:`one_anhil_inact`
* :c:data:`one_anhil_one_creat`
* :c:data:`one_anhil_one_creat_inact_virt`
* :c:data:`one_anhil_one_creat_inact_virt_bis`
* :c:data:`one_anhil_one_creat_inact_virt_norm`
* :c:data:`one_body_dm_alpha_and_grad_at_r`
* :c:data:`one_body_dm_alpha_ao_for_dft` * :c:data:`one_body_dm_alpha_ao_for_dft`
* :c:data:`one_body_dm_alpha_at_r` * :c:data:`one_body_dm_alpha_at_r`
* :c:data:`one_body_dm_ao_alpha` * :c:data:`one_body_dm_ao_alpha`
* :c:data:`one_body_dm_ao_beta` * :c:data:`one_body_dm_ao_beta`
* :c:data:`one_body_dm_average_mo_for_dft` * :c:data:`one_body_dm_average_mo_for_dft`
* :c:data:`one_body_dm_beta_and_grad_at_r`
* :c:data:`one_body_dm_beta_ao_for_dft` * :c:data:`one_body_dm_beta_ao_for_dft`
* :c:data:`one_body_dm_beta_at_r` * :c:data:`one_body_dm_beta_at_r`
* :c:data:`one_body_dm_dagger_mo_spin_index` * :c:data:`one_body_dm_dagger_mo_spin_index`
* :c:data:`one_body_dm_mo` * :c:data:`one_body_dm_mo`
* :c:data:`one_body_dm_mo_alpha` * :c:data:`one_body_dm_mo_alpha`
* :c:data:`one_body_dm_mo_alpha_and_grad_at_grid_points`
* :c:data:`one_body_dm_mo_alpha_at_grid_points`
* :c:data:`one_body_dm_mo_alpha_average` * :c:data:`one_body_dm_mo_alpha_average`
* :c:data:`one_body_dm_mo_alpha_for_dft` * :c:data:`one_body_dm_mo_alpha_for_dft`
* :c:data:`one_body_dm_mo_beta` * :c:data:`one_body_dm_mo_beta`
* :c:data:`one_body_dm_mo_beta_and_grad_at_grid_points`
* :c:data:`one_body_dm_mo_beta_at_grid_points`
* :c:data:`one_body_dm_mo_beta_average` * :c:data:`one_body_dm_mo_beta_average`
* :c:data:`one_body_dm_mo_beta_for_dft` * :c:data:`one_body_dm_mo_beta_for_dft`
* :c:data:`one_body_dm_mo_diff` * :c:data:`one_body_dm_mo_diff`
@ -528,8 +479,6 @@ Index of Providers
* :c:data:`one_body_single_double_dm_mo_beta` * :c:data:`one_body_single_double_dm_mo_beta`
* :c:data:`one_body_spin_density_ao` * :c:data:`one_body_spin_density_ao`
* :c:data:`one_body_spin_density_mo` * :c:data:`one_body_spin_density_mo`
* :c:data:`one_creat`
* :c:data:`one_creat_virt`
* :c:data:`one_dm_alpha_in_r` * :c:data:`one_dm_alpha_in_r`
* :c:data:`one_dm_and_grad_alpha_in_r` * :c:data:`one_dm_and_grad_alpha_in_r`
* :c:data:`one_dm_and_grad_beta_in_r` * :c:data:`one_dm_and_grad_beta_in_r`
@ -539,7 +488,6 @@ Index of Providers
* :c:data:`output_cpu_time_0` * :c:data:`output_cpu_time_0`
* :c:data:`output_wall_time_0` * :c:data:`output_wall_time_0`
* :c:data:`overlap_gaussian_xyz` * :c:data:`overlap_gaussian_xyz`
* :c:data:`particles_operators`
* :c:data:`phi_angular_integration_lebedev` * :c:data:`phi_angular_integration_lebedev`
* :c:data:`potential_c_alpha_ao` * :c:data:`potential_c_alpha_ao`
* :c:data:`potential_c_alpha_ao_lda` * :c:data:`potential_c_alpha_ao_lda`
@ -582,7 +530,6 @@ Index of Providers
* :c:data:`pseudo_v_k_transp` * :c:data:`pseudo_v_k_transp`
* :c:data:`pseudo_v_kl` * :c:data:`pseudo_v_kl`
* :c:data:`pseudo_v_kl_transp` * :c:data:`pseudo_v_kl_transp`
* :c:data:`psi_active`
* :c:data:`psi_average_norm_contrib` * :c:data:`psi_average_norm_contrib`
* :c:data:`psi_average_norm_contrib_sorted` * :c:data:`psi_average_norm_contrib_sorted`
* :c:data:`psi_bilinear_matrix` * :c:data:`psi_bilinear_matrix`
@ -636,30 +583,8 @@ Index of Providers
* :c:data:`psi_non_cas_coef` * :c:data:`psi_non_cas_coef`
* :c:data:`psi_non_cas_coef_sorted_bit` * :c:data:`psi_non_cas_coef_sorted_bit`
* :c:data:`psi_non_cas_sorted_bit` * :c:data:`psi_non_cas_sorted_bit`
* :c:data:`psi_non_ref`
* :c:data:`psi_non_ref_coef`
* :c:data:`psi_non_ref_coef_interm_norm`
* :c:data:`psi_non_ref_coef_restart`
* :c:data:`psi_non_ref_coef_sorted_bit`
* :c:data:`psi_non_ref_coef_transp`
* :c:data:`psi_non_ref_restart`
* :c:data:`psi_non_ref_sorted_bit`
* :c:data:`psi_occ_pattern` * :c:data:`psi_occ_pattern`
* :c:data:`psi_occ_pattern_hii` * :c:data:`psi_occ_pattern_hii`
* :c:data:`psi_ref`
* :c:data:`psi_ref_bis_lock`
* :c:data:`psi_ref_coef`
* :c:data:`psi_ref_coef_diagonalized`
* :c:data:`psi_ref_coef_interm_norm`
* :c:data:`psi_ref_coef_inv`
* :c:data:`psi_ref_coef_normalized`
* :c:data:`psi_ref_coef_restart`
* :c:data:`psi_ref_coef_sorted_bit`
* :c:data:`psi_ref_coef_transp`
* :c:data:`psi_ref_energy`
* :c:data:`psi_ref_energy_diagonalized`
* :c:data:`psi_ref_restart`
* :c:data:`psi_ref_sorted_bit`
* :c:data:`psi_selectors` * :c:data:`psi_selectors`
* :c:data:`psi_selectors_coef` * :c:data:`psi_selectors_coef`
* :c:data:`psi_selectors_coef_transp` * :c:data:`psi_selectors_coef_transp`
@ -700,7 +625,6 @@ Index of Providers
* :c:data:`ref_bitmask` * :c:data:`ref_bitmask`
* :c:data:`ref_bitmask_energy` * :c:data:`ref_bitmask_energy`
* :c:data:`ref_closed_shell_bitmask` * :c:data:`ref_closed_shell_bitmask`
* :c:data:`ref_hamiltonian_matrix`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_bitmask` * :c:data:`reunion_of_cas_inact_bitmask`
* :c:data:`reunion_of_core_inact_act_bitmask` * :c:data:`reunion_of_core_inact_act_bitmask`
@ -719,15 +643,6 @@ Index of Providers
* :c:data:`scf_density_matrix_ao_alpha` * :c:data:`scf_density_matrix_ao_alpha`
* :c:data:`scf_density_matrix_ao_beta` * :c:data:`scf_density_matrix_ao_beta`
* :c:data:`scf_energy` * :c:data:`scf_energy`
* :c:data:`second_order_pt_new`
* :c:data:`second_order_pt_new_1h`
* :c:data:`second_order_pt_new_1h1p`
* :c:data:`second_order_pt_new_1h2p`
* :c:data:`second_order_pt_new_1p`
* :c:data:`second_order_pt_new_2h`
* :c:data:`second_order_pt_new_2h1p`
* :c:data:`second_order_pt_new_2h2p`
* :c:data:`second_order_pt_new_2p`
* :c:data:`select_max` * :c:data:`select_max`
* :c:data:`selection_criterion` * :c:data:`selection_criterion`
* :c:data:`selection_criterion_factor` * :c:data:`selection_criterion_factor`
@ -751,8 +666,6 @@ Index of Providers
* :c:data:`state_following` * :c:data:`state_following`
* :c:data:`target_energy` * :c:data:`target_energy`
* :c:data:`theta_angular_integration_lebedev` * :c:data:`theta_angular_integration_lebedev`
* :c:data:`three_anhil`
* :c:data:`three_creat`
* :c:data:`thresh_scf` * :c:data:`thresh_scf`
* :c:data:`threshold_davidson` * :c:data:`threshold_davidson`
* :c:data:`threshold_diis` * :c:data:`threshold_diis`
@ -764,10 +677,6 @@ Index of Providers
* :c:data:`trace_v_hxc` * :c:data:`trace_v_hxc`
* :c:data:`trace_v_xc` * :c:data:`trace_v_xc`
* :c:data:`transpose` * :c:data:`transpose`
* :c:data:`two_anhil`
* :c:data:`two_anhil_one_creat`
* :c:data:`two_creat`
* :c:data:`two_creat_one_anhil`
* :c:data:`two_electron_energy` * :c:data:`two_electron_energy`
* :c:data:`unpaired_alpha_electrons` * :c:data:`unpaired_alpha_electrons`
* :c:data:`used_weight` * :c:data:`used_weight`
@ -775,7 +684,6 @@ Index of Providers
* :c:data:`virt_bitmask` * :c:data:`virt_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
* :c:data:`weight_at_r` * :c:data:`weight_at_r`
* :c:data:`weight_functions_at_grid_points`
* :c:data:`weight_occ_pattern` * :c:data:`weight_occ_pattern`
* :c:data:`weights_angular_integration_lebedev` * :c:data:`weights_angular_integration_lebedev`
* :c:data:`weights_angular_points` * :c:data:`weights_angular_points`
@ -869,11 +777,8 @@ Index of Subroutines/Functions
* :c:func:`connect_to_taskserver` * :c:func:`connect_to_taskserver`
* :c:func:`connected_to_ref` * :c:func:`connected_to_ref`
* :c:func:`connected_to_ref_by_mono` * :c:func:`connected_to_ref_by_mono`
* :c:func:`contrib_1h2p_dm_based`
* :c:func:`contrib_2h1p_dm_based`
* :c:func:`copy_h_apply_buffer_to_wf` * :c:func:`copy_h_apply_buffer_to_wf`
* :c:func:`copy_psi_bilinear_to_psi` * :c:func:`copy_psi_bilinear_to_psi`
* :c:func:`coulomb_value_no_check`
* :c:func:`create_guess` * :c:func:`create_guess`
* :c:func:`create_microlist` * :c:func:`create_microlist`
* :c:func:`create_minilist` * :c:func:`create_minilist`
@ -912,8 +817,6 @@ Index of Subroutines/Functions
* :c:func:`diag_h_mat_elem_au0_h_au0` * :c:func:`diag_h_mat_elem_au0_h_au0`
* :c:func:`diag_h_mat_elem_fock` * :c:func:`diag_h_mat_elem_fock`
* :c:func:`diag_h_mat_elem_monoelec` * :c:func:`diag_h_mat_elem_monoelec`
* :c:func:`diag_h_mat_elem_no_elec_check`
* :c:func:`diag_h_mat_elem_no_elec_check_no_exchange`
* :c:func:`diag_s_mat_elem` * :c:func:`diag_s_mat_elem`
* :c:func:`diag_wee_mat_elem` * :c:func:`diag_wee_mat_elem`
* :c:func:`diagonalize_ci` * :c:func:`diagonalize_ci`
@ -956,7 +859,6 @@ Index of Subroutines/Functions
* :c:func:`example_bitmask` * :c:func:`example_bitmask`
* :c:func:`example_determinants` * :c:func:`example_determinants`
* :c:func:`example_determinants_psi_det` * :c:func:`example_determinants_psi_det`
* :c:func:`extract_ref`
* :c:func:`extrapolate_data` * :c:func:`extrapolate_data`
* :c:func:`f_function_becke` * :c:func:`f_function_becke`
* :c:func:`f_integral` * :c:func:`f_integral`
@ -968,7 +870,6 @@ Index of Subroutines/Functions
* :c:func:`filter_connected` * :c:func:`filter_connected`
* :c:func:`filter_connected_i_h_psi0` * :c:func:`filter_connected_i_h_psi0`
* :c:func:`filter_not_connected` * :c:func:`filter_not_connected`
* :c:func:`find_connections_previous`
* :c:func:`find_rotation` * :c:func:`find_rotation`
* :c:func:`four_idx_transform` * :c:func:`four_idx_transform`
* :c:func:`g0d` * :c:func:`g0d`
@ -1010,8 +911,6 @@ Index of Subroutines/Functions
* :c:func:`get_d0` * :c:func:`get_d0`
* :c:func:`get_d1` * :c:func:`get_d1`
* :c:func:`get_d2` * :c:func:`get_d2`
* :c:func:`get_delta_e_dyall`
* :c:func:`get_delta_e_dyall_general_mp`
* :c:func:`get_double_excitation` * :c:func:`get_double_excitation`
* :c:func:`get_double_excitation_spin` * :c:func:`get_double_excitation_spin`
* :c:func:`get_excitation` * :c:func:`get_excitation`
@ -1026,7 +925,6 @@ Index of Subroutines/Functions
* :c:func:`get_index_in_psi_det_alpha_unique` * :c:func:`get_index_in_psi_det_alpha_unique`
* :c:func:`get_index_in_psi_det_beta_unique` * :c:func:`get_index_in_psi_det_beta_unique`
* :c:func:`get_index_in_psi_det_sorted_bit` * :c:func:`get_index_in_psi_det_sorted_bit`
* :c:func:`get_index_in_psi_ref_sorted_bit`
* :c:func:`get_inverse` * :c:func:`get_inverse`
* :c:func:`get_m0` * :c:func:`get_m0`
* :c:func:`get_m1` * :c:func:`get_m1`
@ -1059,19 +957,6 @@ Index of Subroutines/Functions
* :c:func:`get_uj_s2_ui` * :c:func:`get_uj_s2_ui`
* :c:func:`getmobiles` * :c:func:`getmobiles`
* :c:func:`getunitandopen` * :c:func:`getunitandopen`
* :c:func:`give_1h1p_contrib`
* :c:func:`give_1h1p_only_doubles_spin_cross`
* :c:func:`give_1h1p_sec_order_singles_contrib`
* :c:func:`give_1h2p_contrib`
* :c:func:`give_1h2p_contrib_sec_order`
* :c:func:`give_1h2p_new`
* :c:func:`give_1p_sec_order_singles_contrib`
* :c:func:`give_2h1p_contrib`
* :c:func:`give_2h1p_contrib_sec_order`
* :c:func:`give_2h1p_new`
* :c:func:`give_2h2p`
* :c:func:`give_2p_new`
* :c:func:`give_active_part_determinant`
* :c:func:`give_all_aos_and_grad_and_lapl_at_r` * :c:func:`give_all_aos_and_grad_and_lapl_at_r`
* :c:func:`give_all_aos_and_grad_at_r` * :c:func:`give_all_aos_and_grad_at_r`
* :c:func:`give_all_aos_at_r` * :c:func:`give_all_aos_at_r`
@ -1080,18 +965,13 @@ Index of Subroutines/Functions
* :c:func:`give_all_mos_and_grad_and_lapl_at_r` * :c:func:`give_all_mos_and_grad_and_lapl_at_r`
* :c:func:`give_all_mos_and_grad_at_r` * :c:func:`give_all_mos_and_grad_at_r`
* :c:func:`give_all_mos_at_r` * :c:func:`give_all_mos_at_r`
* :c:func:`give_core_inactive_part_determinant`
* :c:func:`give_explicit_poly_and_gaussian` * :c:func:`give_explicit_poly_and_gaussian`
* :c:func:`give_explicit_poly_and_gaussian_double` * :c:func:`give_explicit_poly_and_gaussian_double`
* :c:func:`give_explicit_poly_and_gaussian_x` * :c:func:`give_explicit_poly_and_gaussian_x`
* :c:func:`give_holes_in_inactive_space`
* :c:func:`give_particles_in_virt_space`
* :c:func:`give_polynom_mult_center_mono_elec` * :c:func:`give_polynom_mult_center_mono_elec`
* :c:func:`give_polynom_mult_center_mono_elec_erf` * :c:func:`give_polynom_mult_center_mono_elec_erf`
* :c:func:`give_polynom_mult_center_mono_elec_erf_opt` * :c:func:`give_polynom_mult_center_mono_elec_erf_opt`
* :c:func:`give_polynom_mult_center_x` * :c:func:`give_polynom_mult_center_x`
* :c:func:`give_singles_and_partial_doubles_1h1p_contrib`
* :c:func:`give_virt_part_determinant`
* :c:func:`gpw` * :c:func:`gpw`
* :c:func:`grad_rho_ab_to_grad_rho_oc` * :c:func:`grad_rho_ab_to_grad_rho_oc`
* :c:func:`gser` * :c:func:`gser`
@ -1105,51 +985,6 @@ Index of Subroutines/Functions
* :c:func:`h_apply_cisd_diexcorg` * :c:func:`h_apply_cisd_diexcorg`
* :c:func:`h_apply_cisd_diexcp` * :c:func:`h_apply_cisd_diexcp`
* :c:func:`h_apply_cisd_monoexc` * :c:func:`h_apply_cisd_monoexc`
* :c:func:`h_apply_mrpt`
* :c:func:`h_apply_mrpt_1h`
* :c:func:`h_apply_mrpt_1h1p`
* :c:func:`h_apply_mrpt_1h1p_diexc`
* :c:func:`h_apply_mrpt_1h1p_diexcorg`
* :c:func:`h_apply_mrpt_1h1p_diexcp`
* :c:func:`h_apply_mrpt_1h1p_monoexc`
* :c:func:`h_apply_mrpt_1h2p`
* :c:func:`h_apply_mrpt_1h2p_diexc`
* :c:func:`h_apply_mrpt_1h2p_diexcorg`
* :c:func:`h_apply_mrpt_1h2p_diexcp`
* :c:func:`h_apply_mrpt_1h2p_monoexc`
* :c:func:`h_apply_mrpt_1h_diexc`
* :c:func:`h_apply_mrpt_1h_diexcorg`
* :c:func:`h_apply_mrpt_1h_diexcp`
* :c:func:`h_apply_mrpt_1h_monoexc`
* :c:func:`h_apply_mrpt_1p`
* :c:func:`h_apply_mrpt_1p_diexc`
* :c:func:`h_apply_mrpt_1p_diexcorg`
* :c:func:`h_apply_mrpt_1p_diexcp`
* :c:func:`h_apply_mrpt_1p_monoexc`
* :c:func:`h_apply_mrpt_2h`
* :c:func:`h_apply_mrpt_2h1p`
* :c:func:`h_apply_mrpt_2h1p_diexc`
* :c:func:`h_apply_mrpt_2h1p_diexcorg`
* :c:func:`h_apply_mrpt_2h1p_diexcp`
* :c:func:`h_apply_mrpt_2h1p_monoexc`
* :c:func:`h_apply_mrpt_2h2p`
* :c:func:`h_apply_mrpt_2h2p_diexc`
* :c:func:`h_apply_mrpt_2h2p_diexcorg`
* :c:func:`h_apply_mrpt_2h2p_diexcp`
* :c:func:`h_apply_mrpt_2h2p_monoexc`
* :c:func:`h_apply_mrpt_2h_diexc`
* :c:func:`h_apply_mrpt_2h_diexcorg`
* :c:func:`h_apply_mrpt_2h_diexcp`
* :c:func:`h_apply_mrpt_2h_monoexc`
* :c:func:`h_apply_mrpt_2p`
* :c:func:`h_apply_mrpt_2p_diexc`
* :c:func:`h_apply_mrpt_2p_diexcorg`
* :c:func:`h_apply_mrpt_2p_diexcp`
* :c:func:`h_apply_mrpt_2p_monoexc`
* :c:func:`h_apply_mrpt_diexc`
* :c:func:`h_apply_mrpt_diexcorg`
* :c:func:`h_apply_mrpt_diexcp`
* :c:func:`h_apply_mrpt_monoexc`
* :c:func:`h_s2_u_0_bielec_nstates_openmp` * :c:func:`h_s2_u_0_bielec_nstates_openmp`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work` * :c:func:`h_s2_u_0_bielec_nstates_openmp_work`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work_1` * :c:func:`h_s2_u_0_bielec_nstates_openmp_work_1`
@ -1188,8 +1023,6 @@ Index of Subroutines/Functions
* :c:func:`i_h_j_bielec` * :c:func:`i_h_j_bielec`
* :c:func:`i_h_j_double_alpha_beta` * :c:func:`i_h_j_double_alpha_beta`
* :c:func:`i_h_j_double_spin` * :c:func:`i_h_j_double_spin`
* :c:func:`i_h_j_dyall`
* :c:func:`i_h_j_dyall_no_exchange`
* :c:func:`i_h_j_mono_spin` * :c:func:`i_h_j_mono_spin`
* :c:func:`i_h_j_mono_spin_monoelec` * :c:func:`i_h_j_mono_spin_monoelec`
* :c:func:`i_h_j_monoelec` * :c:func:`i_h_j_monoelec`
@ -1197,7 +1030,6 @@ Index of Subroutines/Functions
* :c:func:`i_h_j_verbose` * :c:func:`i_h_j_verbose`
* :c:func:`i_h_psi` * :c:func:`i_h_psi`
* :c:func:`i_h_psi_minilist` * :c:func:`i_h_psi_minilist`
* :c:func:`i_h_psi_pert_new_minilist`
* :c:func:`i_s2_psi_minilist` * :c:func:`i_s2_psi_minilist`
* :c:func:`i_wee_j_mono` * :c:func:`i_wee_j_mono`
* :c:func:`i_x1_pol_mult` * :c:func:`i_x1_pol_mult`
@ -1230,7 +1062,6 @@ Index of Subroutines/Functions
* :c:func:`is_connected_to_by_mono` * :c:func:`is_connected_to_by_mono`
* :c:func:`is_generable_cassd` * :c:func:`is_generable_cassd`
* :c:func:`is_i_in_virtual` * :c:func:`is_i_in_virtual`
* :c:func:`is_in_psi_ref`
* :c:func:`is_in_wavefunction` * :c:func:`is_in_wavefunction`
* :c:func:`is_spin_flip_possible` * :c:func:`is_spin_flip_possible`
* :c:func:`is_the_hole_in_det` * :c:func:`is_the_hole_in_det`
@ -1270,7 +1101,6 @@ Index of Subroutines/Functions
* :c:func:`molden` * :c:func:`molden`
* :c:func:`mono_excitation_wee` * :c:func:`mono_excitation_wee`
* :c:func:`mpi_print` * :c:func:`mpi_print`
* :c:func:`mrpt_dress`
* :c:func:`multiply_poly` * :c:func:`multiply_poly`
* :c:func:`n_pt_sup` * :c:func:`n_pt_sup`
* :c:func:`nai_pol_mult` * :c:func:`nai_pol_mult`
@ -1330,6 +1160,7 @@ Index of Subroutines/Functions
* :c:func:`print_generators_bitmasks_particles` * :c:func:`print_generators_bitmasks_particles`
* :c:func:`print_generators_bitmasks_particles_for_one_generator` * :c:func:`print_generators_bitmasks_particles_for_one_generator`
* :c:func:`print_memory_usage` * :c:func:`print_memory_usage`
* :c:func:`print_r2`
* :c:func:`print_spindet` * :c:func:`print_spindet`
* :c:func:`print_summary` * :c:func:`print_summary`
* :c:func:`print_wf` * :c:func:`print_wf`
@ -1418,7 +1249,6 @@ Index of Subroutines/Functions
* :c:func:`set_bit_to_integer` * :c:func:`set_bit_to_integer`
* :c:func:`set_bitmask_hole_as_input` * :c:func:`set_bitmask_hole_as_input`
* :c:func:`set_bitmask_particl_as_input` * :c:func:`set_bitmask_particl_as_input`
* :c:func:`set_generators_bitmasks_as_holes_and_particles`
* :c:func:`set_natural_mos` * :c:func:`set_natural_mos`
* :c:func:`set_order` * :c:func:`set_order`
* :c:func:`set_order_big` * :c:func:`set_order_big`
@ -1446,8 +1276,6 @@ Index of Subroutines/Functions
* :c:func:`tasks_done_to_taskserver` * :c:func:`tasks_done_to_taskserver`
* :c:func:`testteethbuilding` * :c:func:`testteethbuilding`
* :c:func:`total_memory` * :c:func:`total_memory`
* :c:func:`u0_h_dyall_u0`
* :c:func:`u0_h_dyall_u0_no_exchange`
* :c:func:`u_0_h_u_0` * :c:func:`u_0_h_u_0`
* :c:func:`u_0_h_u_0_bielec` * :c:func:`u_0_h_u_0_bielec`
* :c:func:`u_0_s2_u_0` * :c:func:`u_0_s2_u_0`
@ -1540,4 +1368,4 @@ Index of Subroutines/Functions
* :c:func:`zmq_put_psi_det_beta_unique` * :c:func:`zmq_put_psi_det_beta_unique`
* :c:func:`zmq_put_psi_det_size` * :c:func:`zmq_put_psi_det_size`
* :c:func:`zmq_selection` * :c:func:`zmq_selection`
* :c:func:`zmq_set_running` * :c:func:`zmq_set_running`

View File

@ -0,0 +1,5 @@
[energy]
type: Threshold
doc: Energy range separated hybrid
interface: ezfio

View File

@ -98,36 +98,6 @@ subroutine pt2_qdpt ($arguments)
end end
subroutine pt2_decontracted ($arguments)
use bitmasks
implicit none
$declarations
BEGIN_DOC
END_DOC
integer :: i,j
double precision :: diag_H_mat_elem_fock, h
double precision :: i_H_psi_array(N_st)
double precision :: coef_pert
PROVIDE selection_criterion
ASSERT (Nint == N_int)
ASSERT (Nint > 0)
!call i_H_psi(det_pert,psi_selectors,psi_selectors_coef,Nint,N_det_selectors,psi_selectors_size,N_st,i_H_psi_array)
call i_H_psi_pert_new_minilist(det_pert,minilist,idx_minilist,N_minilist,psi_selectors_coef,Nint,N_minilist,psi_selectors_size,N_st,i_H_psi_array,coef_pert)
H_pert_diag = 0.d0
c_pert(1) = coef_pert
e_2_pert(1) = coef_pert * i_H_psi_array(1)
! print*,coef_pert,i_H_psi_array(1)
end
subroutine pt2_epstein_nesbet_2x2 ($arguments) subroutine pt2_epstein_nesbet_2x2 ($arguments)
use bitmasks use bitmasks
implicit none implicit none
@ -168,28 +138,12 @@ subroutine pt2_epstein_nesbet_2x2 ($arguments)
c_pert(i) = 0.d0 c_pert(i) = 0.d0
endif endif
H_pert_diag(i) = h*c_pert(i)*c_pert(i) H_pert_diag(i) = h*c_pert(i)*c_pert(i)
! print*, 'N_det,N_det_selectors = ',N_det,N_det_selectors
! print*, delta_e,i_H_psi_array(1)
! double precision :: hij,accu
! accu = 0.d0
! do j = 1, N_det
! call i_H_j(det_pert,psi_selectors(1,1,j),N_int,hij)
! print*, 'psi_selectors_coef(j,1 = ',psi_selectors_coef(j,1),psi_coef(j,1)
! call debug_det(psi_det(1,1,i),N_int)
! call debug_det(psi_selectors(1,1,i),N_int)
! accu += psi_selectors_coef(j,1) * hij
! enddo
! print*, 'accu,ihpsi0',accu,i_H_psi_array(1)
! stop
else else
e_2_pert(i) = 0.d0 e_2_pert(i) = 0.d0
c_pert(i) = 0.d0 c_pert(i) = 0.d0
H_pert_diag(i) = 0.d0 H_pert_diag(i) = 0.d0
endif endif
enddo enddo
! if( e_2_pert(1) .ne. 0.d0)then
! print*,' e_2_pert(1) ', e_2_pert(1)
! endif
end end
@ -219,7 +173,6 @@ subroutine pt2_epstein_nesbet_2x2_no_ci_diag($arguments)
PROVIDE psi_energy PROVIDE psi_energy
call i_H_psi(det_pert,psi_selectors,psi_selectors_coef,Nint,N_det_selectors,psi_selectors_size,N_st,i_H_psi_array) call i_H_psi(det_pert,psi_selectors,psi_selectors_coef,Nint,N_det_selectors,psi_selectors_size,N_st,i_H_psi_array)
!call i_H_psi_minilist(det_pert,minilist,idx_minilist,N_minilist,psi_selectors_coef,Nint,N_minilist,psi_selectors_size,N_st,i_H_psi_array)
h = diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint) h = diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint)
do i =1,N_st do i =1,N_st