diff --git a/docs/source/modules/ao_basis.rst b/docs/source/modules/ao_basis.rst index 03b6092c..cb104505 100644 --- a/docs/source/modules/ao_basis.rst +++ b/docs/source/modules/ao_basis.rst @@ -163,6 +163,19 @@ Providers +.. c:var:: ao_coef_normalized_ordered_transp_per_nucl + + .. code:: text + + double precision, allocatable :: ao_coef_normalized_ordered_transp_per_nucl (ao_prim_num_max,N_AOs_max,nucl_num) + + File: :file:`aos_transp.irp.f` + + + + + + .. c:var:: ao_expo_ordered .. code:: text @@ -190,6 +203,19 @@ Providers +.. c:var:: ao_expo_ordered_transp_per_nucl + + .. code:: text + + double precision, allocatable :: ao_expo_ordered_transp_per_nucl (ao_prim_num_max,N_AOs_max,nucl_num) + + File: :file:`aos_transp.irp.f` + + + + + + .. c:var:: ao_l .. code:: text @@ -248,6 +274,19 @@ Providers +.. c:var:: ao_power_ordered_transp_per_nucl + + .. code:: text + + integer, allocatable :: ao_power_ordered_transp_per_nucl (3,N_AOs_max,nucl_num) + + File: :file:`aos_transp.irp.f` + + + + + + .. c:var:: ao_prim_num_max .. code:: text @@ -459,6 +498,19 @@ Providers +.. c:var:: nucl_aos_transposed + + .. code:: text + + integer, allocatable :: nucl_aos_transposed (N_AOs_max,nucl_num) + + File: :file:`aos_transp.irp.f` + + List of AOs attached on each atom + + + + .. c:var:: nucl_list_shell_aos .. code:: text @@ -529,7 +581,35 @@ Subroutines / functions File: :file:`aos_value.irp.f` - Returns the value of the i-th |AO| at point r + return the value of the ith ao at point r + + + + + +.. c:function:: give_all_aos_and_grad_and_lapl_at_r + + .. code:: text + + subroutine give_all_aos_and_grad_and_lapl_at_r(r,aos_array,aos_grad_array,aos_lapl_array) + + File: :file:`aos_value.irp.f` + + input : r(1) ==> r(1) = x, r(2) = y, r(3) = z output : aos_array(i) = ao(i) evaluated at r : aos_grad_array(1,i) = gradient X of the ao(i) evaluated at r + + + + + +.. c:function:: give_all_aos_and_grad_at_r + + .. code:: text + + subroutine give_all_aos_and_grad_at_r(r,aos_array,aos_grad_array) + + File: :file:`aos_value.irp.f` + + input : r(1) ==> r(1) = x, r(2) = y, r(3) = z output : aos_array(i) = ao(i) evaluated at r : aos_grad_array(1,i) = gradient X of the ao(i) evaluated at r @@ -543,6 +623,34 @@ Subroutines / functions File: :file:`aos_value.irp.f` - Gives the values of |AOs| at a given point r + input : r == r(1) = x and so on aos_array(i) = aos(i) evaluated in r + + + + + +.. c:function:: give_all_aos_at_r_old + + .. code:: text + + subroutine give_all_aos_at_r_old(r,aos_array) + + File: :file:`aos_value.irp.f` + + gives the values of aos at a given point r + + + + + +.. c:function:: primitive_value + + .. code:: text + + double precision function primitive_value(i,j,r) + + File: :file:`aos_value.irp.f` + + return the value of the jth primitive of ith ao at point r WITHOUT THE COEF diff --git a/docs/source/modules/becke_numerical_grid.rst b/docs/source/modules/becke_numerical_grid.rst index a0abc3a4..8b0ef81f 100644 --- a/docs/source/modules/becke_numerical_grid.rst +++ b/docs/source/modules/becke_numerical_grid.rst @@ -12,7 +12,7 @@ This module contains all quantities needed to build the Becke's grid used in gen This grid is built as the reunion of a spherical grid around each atom. Each spherical grid contains a certain number of radial and angular points. -For a simple example of how to use the grid, see example.irp.f. +For a simple example of how to use the grid, see :file:`example.irp.f`. The spherical integration uses Lebedev-Laikov grids, which was used from the code distributed through CCL (http://www.ccl.net/). See next section for explanations and citation policies. @@ -80,3 +80,319 @@ EZFIO parameters Number of radial points per atom for 3d numerical integration, needed for DFT for example Default: 60 + + +Providers +--------- + + +.. c:var:: alpha_knowles + + .. code:: text + + double precision, allocatable :: alpha_knowles (100) + + File: :file:`integration_radial.irp.f` + + Recommended values for the alpha parameters according to the paper of Knowles (JCP, 104, 1996) as a function of the nuclear charge + + + + +.. c:var:: angular_quadrature_points + + .. code:: text + + double precision, allocatable :: angular_quadrature_points (n_points_integration_angular,3) + double precision, allocatable :: weights_angular_points (n_points_integration_angular) + + File: :file:`grid_becke.irp.f` + + weights and grid points for the integration on the angular variables on the unit sphere centered on (0,0,0) According to the LEBEDEV scheme + + + + +.. c:var:: dr_radial_integral + + .. code:: text + + double precision, allocatable :: grid_points_radial (n_points_radial_grid) + double precision :: dr_radial_integral + + File: :file:`grid_becke.irp.f` + + points in [0,1] to map the radial integral [0,\infty] + + + + +.. c:var:: final_grid_points + + .. code:: text + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + 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` + + 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 + 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 + + + + +.. c:var:: final_weight_functions_at_final_grid_points + + .. code:: text + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + 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` + + 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 + 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 + + + + +.. c:var:: final_weight_functions_at_grid_points + + .. code:: text + + double precision, allocatable :: final_weight_functions_at_grid_points (n_points_integration_angular,n_points_radial_grid,nucl_num) + + File: :file:`grid_becke.irp.f` + + Total weight on each grid point which takes into account all Lebedev, Voronoi and radial weights. + + + + +.. c:var:: grid_points_per_atom + + .. code:: text + + double precision, allocatable :: grid_points_per_atom (3,n_points_integration_angular,n_points_radial_grid,nucl_num) + + File: :file:`grid_becke.irp.f` + + x,y,z coordinates of grid points used for integration in 3d space + + + + +.. c:var:: grid_points_radial + + .. code:: text + + double precision, allocatable :: grid_points_radial (n_points_radial_grid) + double precision :: dr_radial_integral + + File: :file:`grid_becke.irp.f` + + points in [0,1] to map the radial integral [0,\infty] + + + + +.. c:var:: index_final_points + + .. code:: text + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + 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` + + 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 + 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 + + + + +.. c:var:: index_final_points_reverse + + .. code:: text + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + 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` + + 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 + 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 + + + + +.. c:var:: m_knowles + + .. code:: text + + integer :: m_knowles + + File: :file:`grid_becke.irp.f` + + value of the "m" parameter in the equation (7) of the paper of Knowles (JCP, 104, 1996) + + + + +.. c:var:: n_points_final_grid + + .. code:: text + + integer :: n_points_final_grid + + File: :file:`grid_becke_vector.irp.f` + + Number of points which are non zero + + + + +.. c:var:: n_points_grid_per_atom + + .. code:: text + + integer :: n_points_grid_per_atom + + File: :file:`grid_becke.irp.f` + + Number of grid points per atom + + + + +.. c:var:: weight_functions_at_grid_points + + .. code:: text + + double precision, allocatable :: weight_functions_at_grid_points (n_points_integration_angular,n_points_radial_grid,nucl_num) + + File: :file:`grid_becke.irp.f` + + Weight function at grid points : w_n(r) according to the equation (22) of Becke original paper (JCP, 88, 1988) + The "n" discrete variable represents the nucleis which in this array is represented by the last dimension and the points are labelled by the other dimensions. + + + + +.. c:var:: weights_angular_points + + .. code:: text + + double precision, allocatable :: angular_quadrature_points (n_points_integration_angular,3) + double precision, allocatable :: weights_angular_points (n_points_integration_angular) + + File: :file:`grid_becke.irp.f` + + weights and grid points for the integration on the angular variables on the unit sphere centered on (0,0,0) According to the LEBEDEV scheme + + + + +Subroutines / functions +----------------------- + + + +.. c:function:: cell_function_becke + + .. code:: text + + double precision function cell_function_becke(r,atom_number) + + File: :file:`step_function_becke.irp.f` + + atom_number :: atom on which the cell function of Becke (1988, JCP,88(4)) r(1:3) :: x,y,z coordinantes of the current point + + + + + +.. c:function:: derivative_knowles_function + + .. code:: text + + double precision function derivative_knowles_function(alpha,m,x) + + File: :file:`integration_radial.irp.f` + + Derivative of the function proposed by Knowles (JCP, 104, 1996) for distributing the radial points + + + + + +.. c:function:: example_becke_numerical_grid + + .. code:: text + + subroutine example_becke_numerical_grid + + File: :file:`example.irp.f` + + subroutine that illustrates the main features available in becke_numerical_grid + + + + + +.. c:function:: f_function_becke + + .. code:: text + + double precision function f_function_becke(x) + + File: :file:`step_function_becke.irp.f` + + + + + + + +.. c:function:: knowles_function + + .. code:: text + + double precision function knowles_function(alpha,m,x) + + File: :file:`integration_radial.irp.f` + + Function proposed by Knowles (JCP, 104, 1996) for distributing the radial points : the Log "m" function ( equation (7) in the paper ) + + + + + +.. c:function:: step_function_becke + + .. code:: text + + double precision function step_function_becke(x) + + File: :file:`step_function_becke.irp.f` + + Step function of the Becke paper (1988, JCP,88(4)) + + diff --git a/docs/source/modules/bitmask.rst b/docs/source/modules/bitmask.rst index 70547170..41b72165 100644 --- a/docs/source/modules/bitmask.rst +++ b/docs/source/modules/bitmask.rst @@ -31,7 +31,7 @@ transforming a bit string to a list of integers for example. bit_kind = bit_kind_size / 8 - +For an example of how to use the bitmaks, see the file :file:`example.irp.f`. diff --git a/docs/source/modules/cis.rst b/docs/source/modules/cis.rst index 0b795572..f7d28ad1 100644 --- a/docs/source/modules/cis.rst +++ b/docs/source/modules/cis.rst @@ -25,7 +25,7 @@ EZFIO parameters .. option:: energy - Variational CIS energy + Variational |CIS| energy diff --git a/docs/source/modules/cisd.rst b/docs/source/modules/cisd.rst index 73e4652a..f89e71fb 100644 --- a/docs/source/modules/cisd.rst +++ b/docs/source/modules/cisd.rst @@ -25,7 +25,7 @@ EZFIO parameters .. option:: energy - Variational CISD energy + Variational |CISD| energy diff --git a/docs/source/modules/davidson.rst b/docs/source/modules/davidson.rst index 50790573..c7380356 100644 --- a/docs/source/modules/davidson.rst +++ b/docs/source/modules/davidson.rst @@ -197,7 +197,7 @@ Providers double precision, allocatable :: psi_energy_bielec (N_states) - File: :file:`u0_h_u0_bielec.irp.f` + File: :file:`u0_wee_u0.irp.f` Energy of the current wave function @@ -397,7 +397,7 @@ Subroutines / functions subroutine H_S2_u_0_bielec_nstates_openmp(v_0,s_0,u_0,N_st,sze) - File: :file:`u0_h_u0_bielec.irp.f` + File: :file:`u0_wee_u0.irp.f` Computes v_0 = H|u_0> and s_0 = S^2 |u_0> Assumes that the determinants are in psi_det @@ -413,7 +413,7 @@ Subroutines / functions subroutine H_S2_u_0_bielec_nstates_openmp_work(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) - File: :file:`u0_h_u0_bielec.irp.f` + File: :file:`u0_wee_u0.irp.f` Computes v_t = H|u_t> and s_t = S^2 |u_t> Default should be 1,N_det,0,1 @@ -428,7 +428,7 @@ Subroutines / functions subroutine H_S2_u_0_bielec_nstates_openmp_work_1(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) - File: :file:`u0_h_u0_bielec.irp.f_template_457` + File: :file:`u0_wee_u0.irp.f_template_457` Computes v_t = H|u_t> and s_t = S^2 |u_t> Default should be 1,N_det,0,1 @@ -443,7 +443,7 @@ Subroutines / functions subroutine H_S2_u_0_bielec_nstates_openmp_work_2(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) - File: :file:`u0_h_u0_bielec.irp.f_template_457` + File: :file:`u0_wee_u0.irp.f_template_457` Computes v_t = H|u_t> and s_t = S^2 |u_t> Default should be 1,N_det,0,1 @@ -458,7 +458,7 @@ Subroutines / functions subroutine H_S2_u_0_bielec_nstates_openmp_work_3(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) - File: :file:`u0_h_u0_bielec.irp.f_template_457` + File: :file:`u0_wee_u0.irp.f_template_457` Computes v_t = H|u_t> and s_t = S^2 |u_t> Default should be 1,N_det,0,1 @@ -473,7 +473,7 @@ Subroutines / functions subroutine H_S2_u_0_bielec_nstates_openmp_work_4(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) - File: :file:`u0_h_u0_bielec.irp.f_template_457` + File: :file:`u0_wee_u0.irp.f_template_457` Computes v_t = H|u_t> and s_t = S^2 |u_t> Default should be 1,N_det,0,1 @@ -488,7 +488,7 @@ Subroutines / functions subroutine H_S2_u_0_bielec_nstates_openmp_work_N_int(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) - File: :file:`u0_h_u0_bielec.irp.f_template_457` + File: :file:`u0_wee_u0.irp.f_template_457` Computes v_t = H|u_t> and s_t = S^2 |u_t> Default should be 1,N_det,0,1 @@ -642,7 +642,7 @@ Subroutines / functions subroutine u_0_H_u_0_bielec(e_0,u_0,n,keys_tmp,Nint,N_st,sze) - File: :file:`u0_h_u0_bielec.irp.f` + File: :file:`u0_wee_u0.irp.f` Computes e_0 = / n : number of determinants diff --git a/docs/source/modules/davidson_dressed.rst b/docs/source/modules/davidson_dressed.rst index c0fb41af..34eef06a 100644 --- a/docs/source/modules/davidson_dressed.rst +++ b/docs/source/modules/davidson_dressed.rst @@ -11,96 +11,3 @@ DavidsonDressed Davidson with single-column dressing. - - -Providers ---------- - - -.. c:var:: ci_eigenvectors_dressed - - .. code:: text - - double precision, allocatable :: ci_electronic_energy_dressed (N_states_diag) - double precision, allocatable :: ci_eigenvectors_dressed (N_det,N_states_diag) - double precision, allocatable :: ci_eigenvectors_s2_dressed (N_states_diag) - - File: :file:`diagonalize_ci.irp.f` - - Eigenvectors/values of the CI matrix - - - - -.. c:var:: ci_eigenvectors_s2_dressed - - .. code:: text - - double precision, allocatable :: ci_electronic_energy_dressed (N_states_diag) - double precision, allocatable :: ci_eigenvectors_dressed (N_det,N_states_diag) - double precision, allocatable :: ci_eigenvectors_s2_dressed (N_states_diag) - - File: :file:`diagonalize_ci.irp.f` - - Eigenvectors/values of the CI matrix - - - - -.. c:var:: ci_electronic_energy_dressed - - .. code:: text - - double precision, allocatable :: ci_electronic_energy_dressed (N_states_diag) - double precision, allocatable :: ci_eigenvectors_dressed (N_det,N_states_diag) - double precision, allocatable :: ci_eigenvectors_s2_dressed (N_states_diag) - - File: :file:`diagonalize_ci.irp.f` - - Eigenvectors/values of the CI matrix - - - - -.. c:var:: ci_energy_dressed - - .. code:: text - - double precision, allocatable :: ci_energy_dressed (N_states_diag) - - File: :file:`diagonalize_ci.irp.f` - - N_states lowest eigenvalues of the CI matrix - - - - -.. c:var:: h_matrix_dressed - - .. code:: text - - double precision, allocatable :: h_matrix_dressed (N_det,N_det) - - File: :file:`diagonalize_ci.irp.f` - - Dressed H with Delta_ij - - - - -Subroutines / functions ------------------------ - - - -.. c:function:: diagonalize_ci_dressed - - .. code:: text - - subroutine diagonalize_CI_dressed - - File: :file:`diagonalize_ci.irp.f` - - Replace the coefficients of the CI states by the coefficients of the eigenstates of the CI matrix - - diff --git a/docs/source/modules/density_for_dft.rst b/docs/source/modules/density_for_dft.rst index 15b3ebd9..d8d3e1fe 100644 --- a/docs/source/modules/density_for_dft.rst +++ b/docs/source/modules/density_for_dft.rst @@ -4,8 +4,116 @@ .. default-role:: option -========== -DM_for_dft -========== +=============== +density_for_dft +=============== + + +This module defines the *provider* of the density used for the DFT related calculations. +This definition is done through the keyword :option:`density_for_dft density_for_dft`. +The density can be: + +# WFT : the density is computed with a potentially multi determinant wave function (see variables `psi_det` and `psi_det`)# input_density : the density is set to a density previously stored in the |EZFIO| folder (see ``aux_quantities``) +# damping_rs_dft : the density is damped between the input_density and the WFT density, with a damping factor of :option:`density_for_dft damping_for_rs_dft` + + + + +EZFIO parameters +---------------- + +.. option:: density_for_dft + + Type of density used for DFT calculation. If set to WFT , it uses the density of the wave function stored in (psi_det,psi_coef). If set to input_density it uses the one-body dm stored in aux_quantities/ . If set to damping_rs_dft it uses the damped density between WFT and input_density. In the ks_scf and rs_ks_scf programs, it is set to WFT. + + Default: WFT + +.. option:: damping_for_rs_dft + + damping factor for the density used in RSFT. + + Default: 0.5 + + +Providers +--------- + + +.. c:var:: one_body_dm_alpha_ao_for_dft + + .. code:: text + + double precision, allocatable :: one_body_dm_alpha_ao_for_dft (ao_num,ao_num,N_states) + double precision, allocatable :: one_body_dm_beta_ao_for_dft (ao_num,ao_num,N_states) + + File: :file:`density_for_dft.irp.f` + + one body density matrix on the AO basis based on one_body_dm_mo_alpha_for_dft + + + + +.. c:var:: one_body_dm_average_mo_for_dft + + .. code:: text + + double precision, allocatable :: one_body_dm_average_mo_for_dft (mo_tot_num,mo_tot_num) + + File: :file:`density_for_dft.irp.f` + + + + + + +.. c:var:: one_body_dm_beta_ao_for_dft + + .. code:: text + + double precision, allocatable :: one_body_dm_alpha_ao_for_dft (ao_num,ao_num,N_states) + double precision, allocatable :: one_body_dm_beta_ao_for_dft (ao_num,ao_num,N_states) + + File: :file:`density_for_dft.irp.f` + + one body density matrix on the AO basis based on one_body_dm_mo_alpha_for_dft + + + + +.. c:var:: one_body_dm_mo_alpha_for_dft + + .. code:: text + + double precision, allocatable :: one_body_dm_mo_alpha_for_dft (mo_tot_num,mo_tot_num,N_states) + + File: :file:`density_for_dft.irp.f` + + density matrix for alpha electrons in the MO basis used for all DFT calculations based on the density + + + + +.. c:var:: one_body_dm_mo_beta_for_dft + + .. code:: text + + double precision, allocatable :: one_body_dm_mo_beta_for_dft (mo_tot_num,mo_tot_num,N_states) + + File: :file:`density_for_dft.irp.f` + + density matrix for beta electrons in the MO basis used for all DFT calculations based on the density + + + + +.. c:var:: one_body_dm_mo_for_dft + + .. code:: text + + double precision, allocatable :: one_body_dm_mo_for_dft (mo_tot_num,mo_tot_num,N_states) + + File: :file:`density_for_dft.irp.f` + + diff --git a/docs/source/modules/determinants.rst b/docs/source/modules/determinants.rst index 832ac214..c23e267b 100644 --- a/docs/source/modules/determinants.rst +++ b/docs/source/modules/determinants.rst @@ -8,7 +8,7 @@ Determinants ============ -Contains everything for the computation of the Hamiltonian in the basis of Slater determinants. +Contains everything for the computation of the Hamiltonian matrix elements in the basis of orthogonal Slater determinants built on a restricted spin-orbitals basis. @@ -291,6 +291,19 @@ Providers +.. c:var:: fock_wee_closed_shell + + .. code:: text + + double precision, allocatable :: fock_wee_closed_shell (mo_tot_num,mo_tot_num) + + File: :file:`mono_excitations_bielec.irp.f` + + + + + + .. c:var:: h_apply_buffer_allocated .. code:: text @@ -1608,6 +1621,20 @@ Subroutines / functions +.. c:function:: a_operator_bielec + + .. code:: text + + subroutine a_operator_bielec(iorb,ispin,key,hjj,Nint,na,nb) + + File: :file:`slater_rules_wee_mono.irp.f` + + Needed for diag_H_mat_elem + + + + + .. c:function:: ac_operator .. code:: text @@ -1622,6 +1649,20 @@ Subroutines / functions +.. c:function:: ac_operator_bielec + + .. code:: text + + subroutine ac_operator_bielec(iorb,ispin,key,hjj,Nint,na,nb) + + File: :file:`slater_rules_wee_mono.irp.f` + + Needed for diag_H_mat_elem + + + + + .. c:function:: apply_excitation .. code:: text @@ -1984,6 +2025,20 @@ Subroutines / functions +.. c:function:: diag_h_mat_elem_monoelec + + .. code:: text + + double precision function diag_H_mat_elem_monoelec(det_in,Nint) + + File: :file:`slater_rules_wee_mono.irp.f` + + Computes + + + + + .. c:function:: diag_s_mat_elem .. code:: text @@ -1998,6 +2053,20 @@ Subroutines / functions +.. c:function:: diag_wee_mat_elem + + .. code:: text + + double precision function diag_wee_mat_elem(det_in,Nint) + + File: :file:`slater_rules_wee_mono.irp.f` + + Computes + + + + + .. c:function:: do_mono_excitation .. code:: text @@ -2736,6 +2805,20 @@ Subroutines / functions +.. c:function:: i_h_j_bielec + + .. code:: text + + subroutine i_H_j_bielec(key_i,key_j,Nint,hij) + + File: :file:`slater_rules_wee_mono.irp.f` + + Returns where i and j are determinants + + + + + .. c:function:: i_h_j_double_alpha_beta .. code:: text @@ -2778,6 +2861,34 @@ Subroutines / functions +.. c:function:: i_h_j_mono_spin_monoelec + + .. code:: text + + subroutine i_H_j_mono_spin_monoelec(key_i,key_j,Nint,spin,hij) + + File: :file:`slater_rules_wee_mono.irp.f` + + Returns where i and j are determinants differing by a single excitation + + + + + +.. c:function:: i_h_j_monoelec + + .. code:: text + + subroutine i_H_j_monoelec(key_i,key_j,Nint,hij) + + File: :file:`slater_rules_wee_mono.irp.f` + + Returns where i and j are determinants + + + + + .. c:function:: i_h_j_s2 .. code:: text @@ -2851,6 +2962,20 @@ Subroutines / functions +.. c:function:: i_wee_j_mono + + .. code:: text + + subroutine i_Wee_j_mono(key_i,key_j,Nint,spin,hij) + + File: :file:`slater_rules_wee_mono.irp.f` + + Returns where i and j are determinants differing by a single excitation + + + + + .. c:function:: is_connected_to .. code:: text @@ -2935,6 +3060,20 @@ Subroutines / functions +.. c:function:: mono_excitation_wee + + .. code:: text + + subroutine mono_excitation_wee(det_1,det_2,h,p,spin,phase,hij) + + File: :file:`mono_excitations_bielec.irp.f` + + + + + + + .. c:function:: occ_pattern_of_det .. code:: text diff --git a/docs/source/modules/dft_keywords.rst b/docs/source/modules/dft_keywords.rst index abe0c071..301c983e 100644 --- a/docs/source/modules/dft_keywords.rst +++ b/docs/source/modules/dft_keywords.rst @@ -8,9 +8,14 @@ DFT Keywords ============ -This module contains all keywords which are related to a DFT calculation +This module contains the main keywords related to a DFT calculation or RS-DFT calculation, such as: +# :option:exchange_functional +# :option:correlation_functional +# :option:HF_exchange : only relevent for the :ref:`ks_scf` program +# :option:density_for_dft : mainly relevent for multi-determinant range separated DFT, see the plugins of eginer. +The keyword for the range separation parameter :math:`\mu` is the :option:`ao_two_e_erf_integrals mu_erf` keyword. @@ -35,14 +40,19 @@ EZFIO parameters Default: 0. -.. option:: density_for_dft - Type of density used for DFT calculation. If WFT it uses the density of the WFT stored in terms of determinants. If input_density it uses the one-body dm stored in data_.../ . If damping_rs_dft it uses the damping density between WFT and input_density +Providers +--------- - Default: WFT -.. option:: damping_for_rs_dft +.. c:var:: dft_type + + .. code:: text + + character*(32) :: dft_type + + File: :file:`keywords.irp.f` + + defines the type of DFT applied: LDA, GGA etc ... - damping factor for the density used in RSFT. - Default: 0.5 diff --git a/docs/source/modules/dressing.rst b/docs/source/modules/dressing.rst index d123e612..519ab370 100644 --- a/docs/source/modules/dressing.rst +++ b/docs/source/modules/dressing.rst @@ -34,890 +34,3 @@ EZFIO parameters Stop stochastic dressing when the relative error is smaller than :option:`perturbation PT2_relative_error` Default: 0.001 - - -Providers ---------- - - -.. c:var:: delta_ij - - .. code:: text - - double precision, allocatable :: delta_ij (N_states,N_det,2) - - File: :file:`dressing.irp.f` - - - - - - -.. c:var:: delta_ij_tmp - - .. code:: text - - double precision, allocatable :: delta_ij_tmp (N_states,N_det_delta_ij,2) - - File: :file:`dressing.irp.f` - - - - - - -.. c:var:: dress_dot_f - - .. code:: text - - integer, allocatable :: dress_dot_f (dress_N_cp) - integer, allocatable :: dress_p (N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_dot_n_0 - - .. code:: text - - double precision, allocatable :: dress_e (N_det_generators,dress_N_cp) - integer, allocatable :: dress_dot_t (0:dress_N_cp) - integer, allocatable :: dress_dot_n_0 (0:dress_N_cp) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_dot_t - - .. code:: text - - double precision, allocatable :: dress_e (N_det_generators,dress_N_cp) - integer, allocatable :: dress_dot_t (0:dress_N_cp) - integer, allocatable :: dress_dot_n_0 (0:dress_N_cp) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_e - - .. code:: text - - double precision, allocatable :: dress_e (N_det_generators,dress_N_cp) - integer, allocatable :: dress_dot_t (0:dress_N_cp) - integer, allocatable :: dress_dot_n_0 (0:dress_N_cp) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_e0_denominator - - .. code:: text - - double precision, allocatable :: dress_e0_denominator (N_states) - - File: :file:`energy.irp.f` - - E0 in the denominator of the dress - - - - -.. c:var:: dress_m_m - - .. code:: text - - integer, allocatable :: dress_m_m (dress_N_cp_max) - integer, allocatable :: pt2_j_ (N_det_generators) - double precision, allocatable :: pt2_u (N_det_generators) - integer, allocatable :: dress_r1_ (0:N_det_generators) - double precision, allocatable :: dress_m_mi (dress_N_cp_max,N_det_generators+1) - integer, allocatable :: dress_t (N_det_generators) - integer :: dress_n_cp - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_m_mi - - .. code:: text - - integer, allocatable :: dress_m_m (dress_N_cp_max) - integer, allocatable :: pt2_j_ (N_det_generators) - double precision, allocatable :: pt2_u (N_det_generators) - integer, allocatable :: dress_r1_ (0:N_det_generators) - double precision, allocatable :: dress_m_mi (dress_N_cp_max,N_det_generators+1) - integer, allocatable :: dress_t (N_det_generators) - integer :: dress_n_cp - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_n_cp - - .. code:: text - - integer, allocatable :: dress_m_m (dress_N_cp_max) - integer, allocatable :: pt2_j_ (N_det_generators) - double precision, allocatable :: pt2_u (N_det_generators) - integer, allocatable :: dress_r1_ (0:N_det_generators) - double precision, allocatable :: dress_m_mi (dress_N_cp_max,N_det_generators+1) - integer, allocatable :: dress_t (N_det_generators) - integer :: dress_n_cp - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_n_cp_max - - .. code:: text - - integer :: dress_n_cp_max - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_p - - .. code:: text - - integer, allocatable :: dress_dot_f (dress_N_cp) - integer, allocatable :: dress_p (N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_r1 - - .. code:: text - - integer, allocatable :: pt2_j (N_det_generators) - integer, allocatable :: dress_r1 (0:N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_r1_ - - .. code:: text - - integer, allocatable :: dress_m_m (dress_N_cp_max) - integer, allocatable :: pt2_j_ (N_det_generators) - double precision, allocatable :: pt2_u (N_det_generators) - integer, allocatable :: dress_r1_ (0:N_det_generators) - double precision, allocatable :: dress_m_mi (dress_N_cp_max,N_det_generators+1) - integer, allocatable :: dress_t (N_det_generators) - integer :: dress_n_cp - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: dress_stoch_istate - - .. code:: text - - integer :: dress_stoch_istate - - File: :file:`dress_stoch_routines.irp.f` - - State for stochatsic dressing - - - - -.. c:var:: dress_t - - .. code:: text - - integer, allocatable :: dress_m_m (dress_N_cp_max) - integer, allocatable :: pt2_j_ (N_det_generators) - double precision, allocatable :: pt2_u (N_det_generators) - integer, allocatable :: dress_r1_ (0:N_det_generators) - double precision, allocatable :: dress_m_mi (dress_N_cp_max,N_det_generators+1) - integer, allocatable :: dress_t (N_det_generators) - integer :: dress_n_cp - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: initialize_dress_e0_denominator - - .. code:: text - - logical :: initialize_dress_e0_denominator - - File: :file:`energy.irp.f` - - If true, initialize dress_E0_denominator - - - - -.. c:var:: n_det_delta_ij - - .. code:: text - - integer :: n_det_delta_ij - - File: :file:`dressing.irp.f` - - - - - - -.. c:var:: psi_from_sorted_gen - - .. code:: text - - integer, allocatable :: psi_from_sorted_gen (N_det) - - File: :file:`alpha_factory.irp.f` - - - - - - -.. c:var:: pt2_cw - - .. code:: text - - double precision, allocatable :: pt2_w (N_det_generators) - double precision, allocatable :: pt2_cw (0:N_det_generators) - double precision :: pt2_w_t - double precision :: pt2_u_0 - integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_f - - .. code:: text - - integer :: pt2_n_teeth - integer :: pt2_mindetinfirstteeth - integer :: pt2_n_tasks_max - integer, allocatable :: pt2_f (N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_j - - .. code:: text - - integer, allocatable :: pt2_j (N_det_generators) - integer, allocatable :: dress_r1 (0:N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_j_ - - .. code:: text - - integer, allocatable :: dress_m_m (dress_N_cp_max) - integer, allocatable :: pt2_j_ (N_det_generators) - double precision, allocatable :: pt2_u (N_det_generators) - integer, allocatable :: dress_r1_ (0:N_det_generators) - double precision, allocatable :: dress_m_mi (dress_N_cp_max,N_det_generators+1) - integer, allocatable :: dress_t (N_det_generators) - integer :: dress_n_cp - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_mindetinfirstteeth - - .. code:: text - - integer :: pt2_n_teeth - integer :: pt2_mindetinfirstteeth - integer :: pt2_n_tasks_max - integer, allocatable :: pt2_f (N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_n_0 - - .. code:: text - - double precision, allocatable :: pt2_w (N_det_generators) - double precision, allocatable :: pt2_cw (0:N_det_generators) - double precision :: pt2_w_t - double precision :: pt2_u_0 - integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_n_tasks_max - - .. code:: text - - integer :: pt2_n_teeth - integer :: pt2_mindetinfirstteeth - integer :: pt2_n_tasks_max - integer, allocatable :: pt2_f (N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_n_teeth - - .. code:: text - - integer :: pt2_n_teeth - integer :: pt2_mindetinfirstteeth - integer :: pt2_n_tasks_max - integer, allocatable :: pt2_f (N_det_generators) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_u - - .. code:: text - - integer, allocatable :: dress_m_m (dress_N_cp_max) - integer, allocatable :: pt2_j_ (N_det_generators) - double precision, allocatable :: pt2_u (N_det_generators) - integer, allocatable :: dress_r1_ (0:N_det_generators) - double precision, allocatable :: dress_m_mi (dress_N_cp_max,N_det_generators+1) - integer, allocatable :: dress_t (N_det_generators) - integer :: dress_n_cp - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_u_0 - - .. code:: text - - double precision, allocatable :: pt2_w (N_det_generators) - double precision, allocatable :: pt2_cw (0:N_det_generators) - double precision :: pt2_w_t - double precision :: pt2_u_0 - integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_w - - .. code:: text - - double precision, allocatable :: pt2_w (N_det_generators) - double precision, allocatable :: pt2_cw (0:N_det_generators) - double precision :: pt2_w_t - double precision :: pt2_u_0 - integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -.. c:var:: pt2_w_t - - .. code:: text - - double precision, allocatable :: pt2_w (N_det_generators) - double precision, allocatable :: pt2_cw (0:N_det_generators) - double precision :: pt2_w_t - double precision :: pt2_u_0 - integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - -Subroutines / functions ------------------------ - - - -.. c:function:: alpha_callback - - .. code:: text - - subroutine alpha_callback(delta_ij_loc, i_generator, subset, csubset, iproc) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: alpha_callback_mask - - .. code:: text - - subroutine alpha_callback_mask(delta_ij_loc, i_gen, sp, mask, bannedOrb, banned, indexes, indexes_end, rabuf, siz, iproc) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: bitstring_to_list_in_selection - - .. code:: text - - subroutine bitstring_to_list_in_selection( string, list, n_elements, Nint) - - File: :file:`alpha_factory.irp.f` - - Gives the inidices(+1) of the bits set to 1 in the bit string - - - - - -.. c:function:: count_d1 - - .. code:: text - - subroutine count_d1(countedOrb, p) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: count_d2 - - .. code:: text - - subroutine count_d2(counted, p, sp) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: count_pq - - .. code:: text - - subroutine count_pq(mask, sp, det, i_gen, N_sel, bannedOrb, banned, countedGlob, countedOrb, counted, interesting) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: create_indexes - - .. code:: text - - subroutine create_indexes(countedGlob, countedOrb, counted, indexes, siz) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: dress_collector - - .. code:: text - - subroutine dress_collector(zmq_socket_pull, E, relative_error, delta, delta_s2, dress, istate) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - - -.. c:function:: dress_find_sample - - .. code:: text - - integer function dress_find_sample(v, w) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - - -.. c:function:: dress_slave - - .. code:: text - - subroutine dress_slave - - File: :file:`dress_slave.irp.f` - - Helper subroutine to compute the dress in distributed mode. - - - - - -.. c:function:: dress_slave_inproc - - .. code:: text - - subroutine dress_slave_inproc(i) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - - -.. c:function:: dress_slave_tcp - - .. code:: text - - subroutine dress_slave_tcp(i,energy) - - File: :file:`dress_slave.irp.f` - - - - - - - -.. c:function:: dress_zmq - - .. code:: text - - subroutine dress_zmq() - - File: :file:`dress_zmq_routines.irp.f` - - - - - - - -.. c:function:: generate_singles_and_doubles - - .. code:: text - - subroutine generate_singles_and_doubles(delta_ij_loc, i_generator, bitmask_index, subset, csubset, iproc) - - File: :file:`alpha_factory.irp.f` - - TODO - - - - - -.. c:function:: get_d1 - - .. code:: text - - subroutine get_d1(i_gen, gen, banned, bannedOrb, indexes, abuf, mask, h, p, sp) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: get_d2 - - .. code:: text - - subroutine get_d2(i_gen, gen, banned, bannedOrb, indexes, abuf, mask, h, p, sp) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: past_d1 - - .. code:: text - - subroutine past_d1(bannedOrb, p) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: past_d2 - - .. code:: text - - subroutine past_d2(banned, p, sp) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: provide_everything - - .. code:: text - - subroutine provide_everything - - File: :file:`dress_slave.irp.f` - - - - - - - -.. c:function:: pull_dress_results - - .. code:: text - - subroutine pull_dress_results(zmq_socket_pull, m_task, f, edI_task, edI_index, breve_delta_m, task_id, n_tasks) - - File: :file:`run_dress_slave.irp.f` - - - - - - - -.. c:function:: push_dress_results - - .. code:: text - - subroutine push_dress_results(zmq_socket_push, m_task, f, edI_task, edI_index, breve_delta_m, task_id, n_tasks) - - File: :file:`run_dress_slave.irp.f` - - - - - - - -.. c:function:: run_dress_slave - - .. code:: text - - subroutine run_dress_slave(thread,iproce,energy) - - File: :file:`run_dress_slave.irp.f` - - - - - - - -.. c:function:: run_dressing - - .. code:: text - - subroutine run_dressing(N_st,energy) - - File: :file:`dress_general.irp.f` - - - - - - - -.. c:function:: run_wf - - .. code:: text - - subroutine run_wf - - File: :file:`dress_slave.irp.f` - - - - - - - -.. c:function:: splash_pq - - .. code:: text - - subroutine splash_pq(mask, sp, det, i_gen, N_sel, bannedOrb, banned, indexes, abuf, interesting) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: spot_isinwf - - .. code:: text - - subroutine spot_isinwf(mask, det, i_gen, N, banned, fullMatch, interesting) - - File: :file:`alpha_factory.irp.f` - - - - - - - -.. c:function:: testteethbuilding - - .. code:: text - - logical function testTeethBuilding(minF, N) - - File: :file:`dress_stoch_routines.irp.f` - - - - - - - -.. c:function:: zmq_dress - - .. code:: text - - subroutine ZMQ_dress(E, dress, delta_out, delta_s2_out, relative_error) - - File: :file:`dress_stoch_routines.irp.f` - - - - diff --git a/docs/source/modules/fci.rst b/docs/source/modules/fci.rst index 5b4e1bad..b67661bd 100644 --- a/docs/source/modules/fci.rst +++ b/docs/source/modules/fci.rst @@ -150,6 +150,23 @@ Providers +.. c:var:: pt2_cw + + .. code:: text + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + .. c:var:: pt2_e0_denominator .. code:: text @@ -163,6 +180,65 @@ Providers +.. c:var:: pt2_f + + .. code:: text + + integer, allocatable :: pt2_f (N_det_generators) + integer :: pt2_n_tasks_max + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + +.. c:var:: pt2_j + + .. code:: text + + integer, allocatable :: pt2_j (N_det_generators) + integer, allocatable :: pt2_r (N_det_generators) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + +.. c:var:: pt2_mindetinfirstteeth + + .. code:: text + + integer :: pt2_n_teeth + integer :: pt2_mindetinfirstteeth + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + +.. c:var:: pt2_n_0 + + .. code:: text + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + .. c:var:: pt2_n_tasks .. code:: text @@ -176,6 +252,34 @@ Providers +.. c:var:: pt2_n_tasks_max + + .. code:: text + + integer, allocatable :: pt2_f (N_det_generators) + integer :: pt2_n_tasks_max + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + +.. c:var:: pt2_n_teeth + + .. code:: text + + integer :: pt2_n_teeth + integer :: pt2_mindetinfirstteeth + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + .. c:var:: pt2_r .. code:: text @@ -203,6 +307,70 @@ Providers +.. c:var:: pt2_u + + .. code:: text + + double precision, allocatable :: pt2_u (N_det_generators) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + +.. c:var:: pt2_u_0 + + .. code:: text + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + +.. c:var:: pt2_w + + .. code:: text + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + +.. c:var:: pt2_w_t + + .. code:: text + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + Subroutines / functions ----------------------- @@ -222,6 +390,20 @@ Subroutines / functions +.. c:function:: bitstring_to_list_in_selection + + .. code:: text + + subroutine bitstring_to_list_in_selection( string, list, n_elements, Nint) + + File: :file:`selection.irp.f` + + Gives the inidices(+1) of the bits set to 1 in the bit string + + + + + .. c:function:: create_selection_buffer .. code:: text @@ -292,6 +474,34 @@ Subroutines / functions +.. c:function:: get_d1 + + .. code:: text + + subroutine get_d1(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + File: :file:`selection.irp.f` + + + + + + + +.. c:function:: get_d2 + + .. code:: text + + subroutine get_d2(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + File: :file:`selection.irp.f` + + + + + + + .. c:function:: get_m0 .. code:: text @@ -390,6 +600,34 @@ Subroutines / functions +.. c:function:: past_d1 + + .. code:: text + + subroutine past_d1(bannedOrb, p) + + File: :file:`selection.irp.f` + + + + + + + +.. c:function:: past_d2 + + .. code:: text + + subroutine past_d2(banned, p, sp) + + File: :file:`selection.irp.f` + + + + + + + .. c:function:: pt2 .. code:: text @@ -614,6 +852,48 @@ Subroutines / functions +.. c:function:: splash_pq + + .. code:: text + + subroutine splash_pq(mask, sp, det, i_gen, N_sel, bannedOrb, banned, mat, interesting) + + File: :file:`selection.irp.f` + + + + + + + +.. c:function:: spot_isinwf + + .. code:: text + + subroutine spot_isinwf(mask, det, i_gen, N, banned, fullMatch, interesting) + + File: :file:`selection.irp.f` + + + + + + + +.. c:function:: testteethbuilding + + .. code:: text + + logical function testTeethBuilding(minF, N) + + File: :file:`pt2_stoch_routines.irp.f` + + + + + + + .. c:function:: zmq_pt2 .. code:: text diff --git a/docs/source/modules/generators_full.rst b/docs/source/modules/generators_full.rst index 00814533..71d3db76 100644 --- a/docs/source/modules/generators_full.rst +++ b/docs/source/modules/generators_full.rst @@ -33,6 +33,33 @@ 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 .. code:: text @@ -48,6 +75,20 @@ 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 .. code:: text @@ -76,3 +117,29 @@ Providers 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 + + diff --git a/docs/source/modules/hartree_fock.rst b/docs/source/modules/hartree_fock.rst index 8b041817..dc2d79b8 100644 --- a/docs/source/modules/hartree_fock.rst +++ b/docs/source/modules/hartree_fock.rst @@ -12,13 +12,20 @@ Hartree-Fock The Hartree-Fock module performs *Restricted* Hartree-Fock calculations (the spatial part of the |MOs| is common for alpha and beta spinorbitals). -The Hartree-Fock program does the following: +The Hartree-Fock in an SCF and therefore is based on the ``scf_utils`` structure. +It performs the following actions: #. Compute/Read all the one- and two-electron integrals, and store them in memory #. Check in the |EZFIO| database if there is a set of |MOs|. If there is, it will read them as initial guess. Otherwise, it will create a guess. #. Perform the |SCF| iterations +The definition of the Fock matrix is in :file:`hartree_fock fock_matrix_hf.irp.f` +For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. +The main are: +# :option:`scf_utils thresh_scf` +# :option:`scf_utils level_shift` + At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation crashes for any unexpected reason, the calculation can be restarted by running again the |SCF| with the same |EZFIO| database. @@ -43,58 +50,11 @@ To start a calculation from scratch, the simplest way is to remove the EZFIO parameters ---------------- -.. option:: max_dim_diis - - Maximum size of the |DIIS| extrapolation procedure - - Default: 15 - -.. option:: threshold_diis - - Threshold on the convergence of the |DIIS| error vector during a Hartree-Fock calculation. If 0. is chosen, the square root of thresh_scf will be used. - - Default: 0. - -.. option:: thresh_scf - - Threshold on the convergence of the Hartree Fock energy. - - Default: 1.e-10 - -.. option:: n_it_scf_max - - Maximum number of |SCF| iterations - - Default: 500 - -.. option:: level_shift - - Initial value of the energy shift on the virtual |MOs| - - Default: 0.0 - -.. option:: scf_algorithm - - Type of |SCF| algorithm used. Possible choices are [ Simple | DIIS] - - Default: DIIS - -.. option:: mo_guess_type - - Initial MO guess. Can be [ Huckel | HCore ] - - Default: Huckel - .. option:: energy - Calculated HF energy + Energy HF - -.. option:: no_oa_or_av_opt - - If |true|, skip the (inactive+core) --> (active) and the (active) --> (virtual) orbital rotations within the |SCF| procedure - - Default: False + Default: 0. Providers @@ -108,7 +68,7 @@ Providers 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.irp.f` + File: :file:`fock_matrix_hf.irp.f` Alpha Fock matrix in AO basis set @@ -122,80 +82,24 @@ Providers 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.irp.f` + File: :file:`fock_matrix_hf.irp.f` Alpha Fock matrix in AO basis set -.. c:var:: eigenvalues_fock_matrix_ao +.. c:var:: extra_e_contrib_density .. code:: text - double precision, allocatable :: eigenvalues_fock_matrix_ao (AO_num) - double precision, allocatable :: eigenvectors_fock_matrix_ao (AO_num,AO_num) + double precision :: extra_e_contrib_density - File: :file:`diis.irp.f` + File: :file:`hf_energy.irp.f` - Eigenvalues and eigenvectors of the Fock matrix over the AO basis - - - - -.. c:var:: eigenvectors_fock_matrix_ao - - .. code:: text - - double precision, allocatable :: eigenvalues_fock_matrix_ao (AO_num) - double precision, allocatable :: eigenvectors_fock_matrix_ao (AO_num,AO_num) - - File: :file:`diis.irp.f` - - Eigenvalues and eigenvectors of the Fock matrix over the AO basis - - - - -.. c:var:: eigenvectors_fock_matrix_mo - - .. code:: text - - double precision, allocatable :: eigenvectors_fock_matrix_mo (ao_num,mo_tot_num) - - File: :file:`diagonalize_fock.irp.f` - - Eigenvector of the Fock matrix in the MO basis obtained with level shift. - - - - -.. c:var:: extrapolate_fock_matrix - - .. code:: text - - subroutine extrapolate_Fock_matrix( & - error_matrix_DIIS,Fock_matrix_DIIS, & - Fock_matrix_AO_,size_Fock_matrix_AO, & - iteration_SCF,dim_DIIS & - ) - - File: :file:`roothaan_hall_scf.irp.f` - - Compute the extrapolated Fock matrix using the DIIS procedure - - - - -.. c:var:: fock_matrix_ao - - .. code:: text - - double precision, allocatable :: fock_matrix_ao (ao_num,ao_num) - - File: :file:`fock_matrix.irp.f` - - Fock matrix in AO basis set + 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 @@ -207,7 +111,7 @@ Providers 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.irp.f` + File: :file:`fock_matrix_hf.irp.f` Alpha Fock matrix in AO basis set @@ -221,162 +125,54 @@ Providers 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.irp.f` + File: :file:`fock_matrix_hf.irp.f` Alpha Fock matrix in AO basis set -.. c:var:: fock_matrix_diag_mo - - .. code:: text - - double precision, allocatable :: fock_matrix_mo (mo_tot_num,mo_tot_num) - double precision, allocatable :: fock_matrix_diag_mo (mo_tot_num) - - File: :file:`fock_matrix.irp.f` - - Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is - | F-K | F + K/2 | F | |---------------------------------| | F + K/2 | F | F - K/2 | |---------------------------------| | F | F - K/2 | F + K | - F = 1/2 (Fa + Fb) - K = Fb - Fa - - - - - -.. c:var:: fock_matrix_mo - - .. code:: text - - double precision, allocatable :: fock_matrix_mo (mo_tot_num,mo_tot_num) - double precision, allocatable :: fock_matrix_diag_mo (mo_tot_num) - - File: :file:`fock_matrix.irp.f` - - Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is - | F-K | F + K/2 | F | |---------------------------------| | F + K/2 | F | F - K/2 | |---------------------------------| | F | F - K/2 | F + K | - F = 1/2 (Fa + Fb) - K = Fb - Fa - - - - - -.. c:var:: fock_matrix_mo_alpha - - .. code:: text - - double precision, allocatable :: fock_matrix_mo_alpha (mo_tot_num,mo_tot_num) - - File: :file:`fock_matrix.irp.f` - - Fock matrix on the MO basis - - - - -.. c:var:: fock_matrix_mo_beta - - .. code:: text - - double precision, allocatable :: fock_matrix_mo_beta (mo_tot_num,mo_tot_num) - - File: :file:`fock_matrix.irp.f` - - Fock matrix on the MO basis - - - - -.. c:var:: fps_spf_matrix_ao - - .. code:: text - - double precision, allocatable :: fps_spf_matrix_ao (AO_num,AO_num) - - File: :file:`diis.irp.f` - - Commutator FPS - SPF - - - - -.. c:var:: fps_spf_matrix_mo - - .. code:: text - - double precision, allocatable :: fps_spf_matrix_mo (mo_tot_num,mo_tot_num) - - File: :file:`diis.irp.f` - - Commutator FPS - SPF in MO basis - - - - -.. c:var:: hf_density_matrix_ao - - .. code:: text - - double precision, allocatable :: hf_density_matrix_ao (ao_num,ao_num) - - File: :file:`hf_density_matrix_ao.irp.f` - - S^{-1}.P.S^{-1} where P = C.C^t - - - - -.. c:var:: hf_density_matrix_ao_alpha - - .. code:: text - - double precision, allocatable :: hf_density_matrix_ao_alpha (ao_num,ao_num) - - File: :file:`hf_density_matrix_ao.irp.f` - - S^{-1}.P_alpha.S^{-1} - - - - -.. c:var:: hf_density_matrix_ao_beta - - .. code:: text - - double precision, allocatable :: hf_density_matrix_ao_beta (ao_num,ao_num) - - File: :file:`hf_density_matrix_ao.irp.f` - - S^{-1}.P_beta.S^{-1} - - - - .. c:var:: hf_energy .. code:: text double precision :: hf_energy + double precision :: hf_two_electron_energy + double precision :: hf_one_electron_energy - File: :file:`fock_matrix.irp.f` + File: :file:`hf_energy.irp.f` - Hartree-Fock energy + Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. -.. c:var:: threshold_diis_nonzero +.. c:var:: hf_one_electron_energy .. code:: text - double precision :: threshold_diis_nonzero + double precision :: hf_energy + double precision :: hf_two_electron_energy + double precision :: hf_one_electron_energy - File: :file:`diis.irp.f` + File: :file:`hf_energy.irp.f` - If threshold_DIIS is zero, choose sqrt(thresh_scf) + Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. + + + + +.. c:var:: hf_two_electron_energy + + .. code:: text + + double precision :: hf_energy + double precision :: hf_two_electron_energy + double precision :: hf_one_electron_energy + + File: :file:`hf_energy.irp.f` + + Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. @@ -392,7 +188,7 @@ Subroutines / functions subroutine create_guess - File: :file:`scf.irp.f` + File: :file:`scf_old.irp.f` Create a MO guess if no MOs are present in the EZFIO directory @@ -400,41 +196,13 @@ Subroutines / functions -.. c:function:: huckel_guess - - .. code:: text - - subroutine huckel_guess - - File: :file:`huckel.irp.f` - - Build the MOs using the extended Huckel model - - - - - -.. c:function:: roothaan_hall_scf - - .. code:: text - - subroutine Roothaan_Hall_SCF - - File: :file:`roothaan_hall_scf.irp.f` - - Roothaan-Hall algorithm for SCF Hartree-Fock calculation - - - - - .. c:function:: run .. code:: text subroutine run - File: :file:`scf.irp.f` + File: :file:`scf_old.irp.f` Run SCF calculation @@ -448,7 +216,7 @@ Subroutines / functions subroutine scf - File: :file:`scf.irp.f` + File: :file:`scf_old.irp.f` Produce `Hartree_Fock` MO orbital output: mo_basis.mo_tot_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: hartree_fock.energy optional: mo_basis.mo_coef diff --git a/docs/source/modules/mo_basis.rst b/docs/source/modules/mo_basis.rst index ffee31cb..b2524dc8 100644 --- a/docs/source/modules/mo_basis.rst +++ b/docs/source/modules/mo_basis.rst @@ -82,6 +82,20 @@ Providers +.. c:var:: mo_coef_begin_iteration + + .. code:: text + + double precision, allocatable :: mo_coef_begin_iteration (ao_num,mo_tot_num) + + File: :file:`track_orb.irp.f` + + Void provider to store the coefficients of the |MO| basis at the beginning of the SCF iteration + Usefull to track some orbitals + + + + .. c:var:: mo_coef_in_ao_ortho_basis .. code:: text @@ -238,6 +252,21 @@ Subroutines / functions +.. c:function:: initialize_mo_coef_begin_iteration + + .. code:: text + + subroutine initialize_mo_coef_begin_iteration + + File: :file:`track_orb.irp.f` + + + Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef` + + + + + .. c:function:: mix_mo_jk .. code:: text @@ -297,6 +326,20 @@ Subroutines / functions +.. c:function:: reorder_active_orb + + .. code:: text + + subroutine reorder_active_orb + + File: :file:`track_orb.irp.f` + + routines that takes the current :c:data:`mo_coef` and reorder the active orbitals (see :c:data:`list_act` and :c:data:`n_act_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration` + + + + + .. c:function:: save_mos .. code:: text diff --git a/docs/source/modules/mo_two_e_integrals.rst b/docs/source/modules/mo_two_e_integrals.rst index 0e070336..7fac96ba 100644 --- a/docs/source/modules/mo_two_e_integrals.rst +++ b/docs/source/modules/mo_two_e_integrals.rst @@ -37,12 +37,6 @@ EZFIO parameters Default: None -.. option:: disk_access_mo_integrals_erf - - Read/Write MO integrals with the long range interaction from/to disk [ Write | Read | None ] - - Default: None - .. option:: mo_integrals_threshold If | | < `mo_integrals_threshold` then is zero @@ -81,21 +75,8 @@ Providers File: :file:`integrals_3_index.irp.f` - - - - - -.. c:var:: big_array_coulomb_integrals_erf - - .. code:: text - - double precision, allocatable :: big_array_coulomb_integrals_erf (mo_tot_num,mo_tot_num,mo_tot_num) - double precision, allocatable :: big_array_exchange_integrals_erf (mo_tot_num,mo_tot_num,mo_tot_num) - - File: :file:`integrals_3_index.irp.f` - - + big_array_coulomb_integrals(i,j) = = (ii|jj) + big_array_exchange_integrals(i,j) = = (ij|ij) @@ -109,21 +90,8 @@ Providers File: :file:`integrals_3_index.irp.f` - - - - - -.. c:var:: big_array_exchange_integrals_erf - - .. code:: text - - double precision, allocatable :: big_array_coulomb_integrals_erf (mo_tot_num,mo_tot_num,mo_tot_num) - double precision, allocatable :: big_array_exchange_integrals_erf (mo_tot_num,mo_tot_num,mo_tot_num) - - File: :file:`integrals_3_index.irp.f` - - + big_array_coulomb_integrals(i,j) = = (ii|jj) + big_array_exchange_integrals(i,j) = = (ij|ij) @@ -136,7 +104,7 @@ Providers File: :file:`core_quantities.irp.f` - + energy from the core : contains all core-core contributions @@ -154,20 +122,6 @@ Providers -.. c:var:: insert_into_mo_integrals_erf_map - - .. code:: text - - subroutine insert_into_mo_integrals_erf_map(n_integrals, & - buffer_i, buffer_values, thr) - - File: :file:`map_integrals_erf.irp.f` - - Create new entry into MO map, or accumulate in an existing entry - - - - .. c:var:: insert_into_mo_integrals_map .. code:: text @@ -182,96 +136,6 @@ Providers -.. c:var:: mo_bielec_integral_erf_jj - - .. code:: text - - double precision, allocatable :: mo_bielec_integral_erf_jj (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_exchange (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_anti (mo_tot_num,mo_tot_num) - - File: :file:`mo_bi_integrals_erf.irp.f` - - mo_bielec_integral_jj(i,j) = J_ij mo_bielec_integral_jj_exchange(i,j) = K_ij mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij - - - - -.. c:var:: mo_bielec_integral_erf_jj_anti - - .. code:: text - - double precision, allocatable :: mo_bielec_integral_erf_jj (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_exchange (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_anti (mo_tot_num,mo_tot_num) - - File: :file:`mo_bi_integrals_erf.irp.f` - - mo_bielec_integral_jj(i,j) = J_ij mo_bielec_integral_jj_exchange(i,j) = K_ij mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij - - - - -.. c:var:: mo_bielec_integral_erf_jj_anti_from_ao - - .. code:: text - - double precision, allocatable :: mo_bielec_integral_erf_jj_from_ao (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_exchange_from_ao (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_anti_from_ao (mo_tot_num,mo_tot_num) - - File: :file:`mo_bi_integrals_erf.irp.f` - - mo_bielec_integral_jj_from_ao(i,j) = J_ij mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij - - - - -.. c:var:: mo_bielec_integral_erf_jj_exchange - - .. code:: text - - double precision, allocatable :: mo_bielec_integral_erf_jj (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_exchange (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_anti (mo_tot_num,mo_tot_num) - - File: :file:`mo_bi_integrals_erf.irp.f` - - mo_bielec_integral_jj(i,j) = J_ij mo_bielec_integral_jj_exchange(i,j) = K_ij mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij - - - - -.. c:var:: mo_bielec_integral_erf_jj_exchange_from_ao - - .. code:: text - - double precision, allocatable :: mo_bielec_integral_erf_jj_from_ao (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_exchange_from_ao (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_anti_from_ao (mo_tot_num,mo_tot_num) - - File: :file:`mo_bi_integrals_erf.irp.f` - - mo_bielec_integral_jj_from_ao(i,j) = J_ij mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij - - - - -.. c:var:: mo_bielec_integral_erf_jj_from_ao - - .. code:: text - - double precision, allocatable :: mo_bielec_integral_erf_jj_from_ao (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_exchange_from_ao (mo_tot_num,mo_tot_num) - double precision, allocatable :: mo_bielec_integral_erf_jj_anti_from_ao (mo_tot_num,mo_tot_num) - - File: :file:`mo_bi_integrals_erf.irp.f` - - mo_bielec_integral_jj_from_ao(i,j) = J_ij mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij - - - - .. c:var:: mo_bielec_integral_jj .. code:: text @@ -407,19 +271,6 @@ Providers -.. c:var:: mo_bielec_integrals_erf_in_map - - .. code:: text - - logical :: mo_bielec_integrals_erf_in_map - - File: :file:`mo_bi_integrals_erf.irp.f` - - If True, the map of MO bielectronic integrals is provided - - - - .. c:var:: mo_bielec_integrals_in_map .. code:: text @@ -510,60 +361,6 @@ Providers -.. c:var:: mo_integrals_erf_cache - - .. code:: text - - double precision, allocatable :: mo_integrals_erf_cache (0:64*64*64*64) - - File: :file:`map_integrals_erf.irp.f` - - Cache of MO integrals for fast access - - - - -.. c:var:: mo_integrals_erf_cache_max - - .. code:: text - - integer :: mo_integrals_erf_cache_min - integer :: mo_integrals_erf_cache_max - - File: :file:`map_integrals_erf.irp.f` - - Min and max values of the MOs for which the integrals are in the cache - - - - -.. c:var:: mo_integrals_erf_cache_min - - .. code:: text - - integer :: mo_integrals_erf_cache_min - integer :: mo_integrals_erf_cache_max - - File: :file:`map_integrals_erf.irp.f` - - Min and max values of the MOs for which the integrals are in the cache - - - - -.. c:var:: mo_integrals_erf_map - - .. code:: text - - type(map_type) :: mo_integrals_erf_map - - File: :file:`map_integrals_erf.irp.f` - - MO integrals - - - - .. c:var:: mo_integrals_map .. code:: text @@ -591,20 +388,6 @@ Providers -.. c:var:: read_mo_integrals_erf - - .. code:: text - - logical :: read_mo_integrals_erf - logical :: write_mo_integrals_erf - - File: :file:`read_write.irp.f` - - Flag to read or write the |MO| erf integrals - - - - .. c:var:: write_mo_integrals .. code:: text @@ -619,20 +402,6 @@ Providers -.. c:var:: write_mo_integrals_erf - - .. code:: text - - logical :: read_mo_integrals_erf - logical :: write_mo_integrals_erf - - File: :file:`read_write.irp.f` - - Flag to read or write the |MO| erf integrals - - - - Subroutines / functions ----------------------- @@ -652,20 +421,6 @@ Subroutines / functions -.. c:function:: add_integrals_to_map_erf - - .. code:: text - - subroutine add_integrals_to_map_erf(mask_ijkl) - - File: :file:`mo_bi_integrals_erf.irp.f` - - Adds integrals to tha MO map according to some bitmask - - - - - .. c:function:: add_integrals_to_map_no_exit_34 .. code:: text @@ -694,20 +449,6 @@ Subroutines / functions -.. c:function:: clear_mo_erf_map - - .. code:: text - - subroutine clear_mo_erf_map - - File: :file:`mo_bi_integrals_erf.irp.f` - - Frees the memory of the MO map - - - - - .. c:function:: clear_mo_map .. code:: text @@ -750,20 +491,6 @@ Subroutines / functions -.. c:function:: get_mo_bielec_integral_erf - - .. code:: text - - double precision function get_mo_bielec_integral_erf(i,j,k,l,map) - - File: :file:`map_integrals_erf.irp.f` - - Returns one integral in the MO basis - - - - - .. c:function:: get_mo_bielec_integrals .. code:: text @@ -792,76 +519,6 @@ Subroutines / functions -.. c:function:: get_mo_bielec_integrals_erf - - .. code:: text - - subroutine get_mo_bielec_integrals_erf(j,k,l,sze,out_val,map) - - File: :file:`map_integrals_erf.irp.f` - - Returns multiple integrals in the MO basis, all i for j,k,l fixed. - - - - - -.. c:function:: get_mo_bielec_integrals_erf_coulomb_ii - - .. code:: text - - subroutine get_mo_bielec_integrals_erf_coulomb_ii(k,l,sze,out_val,map) - - File: :file:`map_integrals_erf.irp.f` - - Returns multiple integrals k(1)i(2) 1/r12 l(1)i(2) :: out_val(i1) for k,l fixed. - - - - - -.. c:function:: get_mo_bielec_integrals_erf_exch_ii - - .. code:: text - - subroutine get_mo_bielec_integrals_erf_exch_ii(k,l,sze,out_val,map) - - File: :file:`map_integrals_erf.irp.f` - - Returns multiple integrals k(1)i(2) 1/r12 i(1)l(2) :: out_val(i1) for k,l fixed. - - - - - -.. c:function:: get_mo_bielec_integrals_erf_i1j1 - - .. code:: text - - subroutine get_mo_bielec_integrals_erf_i1j1(k,l,sze,out_array,map) - - File: :file:`map_integrals_erf.irp.f` - - Returns multiple integrals in the MO basis, all i(1)j(1) erf(mu_erf * r12) /r12 k(2)l(2) i, j for k,l fixed. - - - - - -.. c:function:: get_mo_bielec_integrals_erf_ij - - .. code:: text - - subroutine get_mo_bielec_integrals_erf_ij(k,l,sze,out_array,map) - - File: :file:`map_integrals_erf.irp.f` - - Returns multiple integrals in the MO basis, all i(1)j(2) 1/r12 k(1)l(2) i, j for k,l fixed. - - - - - .. c:function:: get_mo_bielec_integrals_exch_ii .. code:: text @@ -876,6 +533,20 @@ Subroutines / functions +.. c:function:: get_mo_bielec_integrals_i1j1 + + .. code:: text + + subroutine get_mo_bielec_integrals_i1j1(k,l,sze,out_array,map) + + File: :file:`map_integrals.irp.f` + + Returns multiple integrals in the MO basis, all i(1)j(1) 1/r12 k(2)l(2) i, j for k,l fixed. + + + + + .. c:function:: get_mo_bielec_integrals_ij .. code:: text @@ -890,20 +561,6 @@ Subroutines / functions -.. c:function:: get_mo_erf_map_size - - .. code:: text - - integer*8 function get_mo_erf_map_size() - - File: :file:`map_integrals_erf.irp.f` - - Return the number of elements in the MO map - - - - - .. c:function:: get_mo_map_size .. code:: text @@ -932,20 +589,6 @@ Subroutines / functions -.. c:function:: load_mo_integrals_erf - - .. code:: text - - integer function load_mo_integrals_erf(filename) - - File: :file:`map_integrals_erf.irp.f` - - Read from disk the $ao integrals - - - - - .. c:function:: mo_bielec_integral .. code:: text @@ -960,34 +603,6 @@ Subroutines / functions -.. c:function:: mo_bielec_integral_erf - - .. code:: text - - double precision function mo_bielec_integral_erf(i,j,k,l) - - File: :file:`map_integrals_erf.irp.f` - - Returns one integral in the MO basis - - - - - -.. c:function:: mo_bielec_integrals_erf_index - - .. code:: text - - subroutine mo_bielec_integrals_erf_index(i,j,k,l,i1) - - File: :file:`mo_bi_integrals_erf.irp.f` - - Computes an unique index for i,j,k,l integrals - - - - - .. c:function:: mo_bielec_integrals_index .. code:: text @@ -999,45 +614,3 @@ Subroutines / functions Computes an unique index for i,j,k,l integrals - - - -.. c:function:: provide_all_mo_integrals_erf - - .. code:: text - - subroutine provide_all_mo_integrals_erf - - File: :file:`mo_bi_integrals_erf.irp.f` - - - - - - - -.. c:function:: save_erf_bi_elec_integrals_mo - - .. code:: text - - subroutine save_erf_bi_elec_integrals_mo - - File: :file:`routines_save_integrals_erf.irp.f` - - - - - - - -.. c:function:: save_erf_bielec_ints_mo_into_ints_mo - - .. code:: text - - subroutine save_erf_bielec_ints_mo_into_ints_mo - - File: :file:`routines_save_integrals_erf.irp.f` - - - - diff --git a/docs/source/modules/single_ref_method.rst b/docs/source/modules/single_ref_method.rst index 326997e2..27a266a7 100644 --- a/docs/source/modules/single_ref_method.rst +++ b/docs/source/modules/single_ref_method.rst @@ -12,74 +12,3 @@ Include this module for single reference methods. 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 - - diff --git a/docs/source/modules/slave.rst b/docs/source/modules/slave.rst index 7d3a8154..1dcf1c47 100644 --- a/docs/source/modules/slave.rst +++ b/docs/source/modules/slave.rst @@ -18,6 +18,20 @@ Subroutines / functions +.. c:function:: provide_everything + + .. code:: text + + subroutine provide_everything + + File: :file:`slave_cipsi.irp.f` + + + + + + + .. c:function:: qp_ao_ints .. code:: text @@ -32,6 +46,20 @@ Subroutines / functions +.. c:function:: run_wf + + .. code:: text + + subroutine run_wf + + File: :file:`slave_cipsi.irp.f` + + + + + + + .. c:function:: slave .. code:: text diff --git a/docs/source/modules/tools.rst b/docs/source/modules/tools.rst index a09f4c4a..e5eb0415 100644 --- a/docs/source/modules/tools.rst +++ b/docs/source/modules/tools.rst @@ -17,6 +17,20 @@ Subroutines / functions +.. c:function:: diagonalize_h + + .. code:: text + + subroutine diagonalize_h + + File: :file:`diagonalize_h.irp.f` + + program that extracts the N_states lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder + + + + + .. c:function:: fcidump .. code:: text @@ -59,6 +73,37 @@ Subroutines / functions +.. c:function:: print_wf + + .. code:: text + + subroutine print_wf + + File: :file:`print_wf.irp.f` + + print the wave function stored in the EZFIO folder in the intermediate normalization + it also prints a lot of information regarding the excitation operators from the reference determinant + and a first-order perturbative analysis of the wave function. + If the wave function strongly deviates from the first-order analysis, something funny is going on :) + + + + + +.. c:function:: routine + + .. code:: text + + subroutine routine + + File: :file:`write_integrals_erf.irp.f` + + + + + + + .. c:function:: save_natorb .. code:: text @@ -73,6 +118,22 @@ Subroutines / functions +.. c:function:: save_one_body_dm + + .. code:: text + + subroutine save_one_body_dm + + File: :file:`save_one_body_dm.irp.f` + + programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities. + Then, the global variable data_one_body_alpha_dm_mo and data_one_body_beta_dm_mo will automatically read the density in a further calculation. + This can be used to perform dampin on the density in RS-DFT calculation (see the density_for_dft module). + + + + + .. c:function:: save_ortho_mos .. code:: text diff --git a/docs/source/programmers_guide/index_providers.rst b/docs/source/programmers_guide/index_providers.rst index 73c1a631..446cc193 100644 --- a/docs/source/programmers_guide/index_providers.rst +++ b/docs/source/programmers_guide/index_providers.rst @@ -3,10 +3,8 @@ Index of Providers * :c:data:`abs_psi_coef_max` * :c:data:`abs_psi_coef_min` -* :c:data:`active_excitation_to_determinants_idx` -* :c:data:`active_excitation_to_determinants_val` -* :c:data:`active_hh_idx` -* :c:data:`active_pp_idx` +* :c:data:`alpha_knowles` +* :c:data:`angular_quadrature_points` * :c:data:`ao_bi_elec_integral_alpha` * :c:data:`ao_bi_elec_integral_beta` * :c:data:`ao_bielec_integral_erf_schwartz` @@ -24,6 +22,7 @@ Index of Providers * :c:data:`ao_coef_normalized` * :c:data:`ao_coef_normalized_ordered` * :c:data:`ao_coef_normalized_ordered_transp` +* :c:data:`ao_coef_normalized_ordered_transp_per_nucl` * :c:data:`ao_deriv2_x` * :c:data:`ao_deriv2_y` * :c:data:`ao_deriv2_z` @@ -36,6 +35,7 @@ Index of Providers * :c:data:`ao_expo` * :c:data:`ao_expo_ordered` * :c:data:`ao_expo_ordered_transp` +* :c:data:`ao_expo_ordered_transp_per_nucl` * :c:data:`ao_integrals_cache` * :c:data:`ao_integrals_cache_max` * :c:data:`ao_integrals_cache_min` @@ -70,7 +70,10 @@ Index of Providers * :c:data:`ao_overlap_x` * :c:data:`ao_overlap_y` * :c:data:`ao_overlap_z` +* :c:data:`ao_potential_alpha_xc` +* :c:data:`ao_potential_beta_xc` * :c:data:`ao_power` +* :c:data:`ao_power_ordered_transp_per_nucl` * :c:data:`ao_prim_num` * :c:data:`ao_prim_num_max` * :c:data:`ao_pseudo_integral` @@ -79,13 +82,41 @@ Index of Providers * :c:data:`ao_spread_x` * :c:data:`ao_spread_y` * :c:data:`ao_spread_z` +* :c:data:`aos_dsr_vc_alpha_pbe_w` +* :c:data:`aos_dsr_vc_beta_pbe_w` +* :c:data:`aos_dsr_vx_alpha_pbe_w` +* :c:data:`aos_dsr_vx_beta_pbe_w` +* :c:data:`aos_dvc_alpha_pbe_w` +* :c:data:`aos_dvc_beta_pbe_w` +* :c:data:`aos_dvx_alpha_pbe_w` +* :c:data:`aos_dvx_beta_pbe_w` +* :c:data:`aos_grad_in_r_array` +* :c:data:`aos_grad_in_r_array_transp` +* :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_vc_beta_lda_w` +* :c:data:`aos_sr_vc_beta_pbe_w` +* :c:data:`aos_sr_vx_alpha_lda_w` +* :c:data:`aos_sr_vx_alpha_pbe_w` +* :c:data:`aos_sr_vx_beta_lda_w` +* :c:data:`aos_sr_vx_beta_pbe_w` +* :c:data:`aos_vc_alpha_lda_w` +* :c:data:`aos_vc_alpha_pbe_w` +* :c:data:`aos_vc_beta_lda_w` +* :c:data:`aos_vc_beta_pbe_w` +* :c:data:`aos_vx_alpha_lda_w` +* :c:data:`aos_vx_alpha_pbe_w` +* :c:data:`aos_vx_beta_lda_w` +* :c:data:`aos_vx_beta_pbe_w` * :c:data:`apply_exc_to_psi` * :c:data:`barycentric_electronic_energy` * :c:data:`bi_elec_ref_bitmask_energy` * :c:data:`big_array_coulomb_integrals` -* :c:data:`big_array_coulomb_integrals_erf` * :c:data:`big_array_exchange_integrals` -* :c:data:`big_array_exchange_integrals_erf` * :c:data:`binom` * :c:data:`binom_int` * :c:data:`binom_int_transp` @@ -107,23 +138,23 @@ Index of Providers * :c:data:`ci_dressed_pt2_new_eigenvectors_s2` * :c:data:`ci_dressed_pt2_new_energy` * :c:data:`ci_eigenvectors` -* :c:data:`ci_eigenvectors_dressed` * :c:data:`ci_eigenvectors_s2` -* :c:data:`ci_eigenvectors_s2_dressed` * :c:data:`ci_electronic_dressed_pt2_new_energy` * :c:data:`ci_electronic_energy` -* :c:data:`ci_electronic_energy_dressed` * :c:data:`ci_energy` -* :c:data:`ci_energy_dressed` * :c:data:`closed_shell_ref_bitmask` * :c:data:`coef_hf_selector` * :c:data:`core_bitmask` * :c:data:`core_energy` +* :c:data:`core_energy_erf` * :c:data:`core_fock_operator` +* :c:data:`core_fock_operator_erf` * :c:data:`core_inact_act_bitmask_4` * :c:data:`core_inact_virt_bitmask` * :c:data:`corr_e_from_1h1p` * :c:data:`correlation_energy_ratio_max` +* :c:data:`correlation_functional` +* :c:data:`damping_for_rs_dft` * :c:data:`data_energy_proj` * :c:data:`data_energy_var` * :c:data:`data_one_body_alpha_dm_mo` @@ -133,18 +164,14 @@ Index of Providers * :c:data:`degree_max_generators` * :c:data:`degree_max_integration_lebedev` * :c:data:`delta_e_per_selector` -* :c:data:`delta_ij` * :c:data:`delta_ij_mrpt` -* :c:data:`delta_ij_tmp` +* :c:data:`density_for_dft` * :c:data:`det_alpha_norm` * :c:data:`det_beta_norm` * :c:data:`det_to_occ_pattern` -* :c:data:`dia_hla_` -* :c:data:`dia_sla_` +* :c:data:`dft_type` * :c:data:`diag_algorithm` * :c:data:`diagonal_h_matrix_on_psi_det` -* :c:data:`dij` -* :c:data:`dij_unique` * :c:data:`disk_access_ao_integrals` * :c:data:`disk_access_ao_integrals_erf` * :c:data:`disk_access_ao_one_integrals` @@ -160,21 +187,7 @@ Index of Providers * :c:data:`do_third_order_1h1p` * :c:data:`double_exc_bitmask` * :c:data:`double_index_selectors` -* :c:data:`dress_dot_f` -* :c:data:`dress_dot_n_0` -* :c:data:`dress_dot_t` -* :c:data:`dress_e` -* :c:data:`dress_e0_denominator` -* :c:data:`dress_m_m` -* :c:data:`dress_m_mi` -* :c:data:`dress_n_cp` -* :c:data:`dress_n_cp_max` -* :c:data:`dress_p` -* :c:data:`dress_r1` -* :c:data:`dress_r1_` -* :c:data:`dress_relative_error` -* :c:data:`dress_stoch_istate` -* :c:data:`dress_t` +* :c:data:`dr_radial_integral` * :c:data:`dressed_column_idx` * :c:data:`dressing_column_h` * :c:data:`dressing_column_s` @@ -182,6 +195,10 @@ Index of Providers * :c:data:`e_corr_double_only` * :c:data:`e_corr_per_selectors` * :c:data:`e_corr_second_order` +* :c:data:`e_correlation_dft` +* :c:data:`e_exchange_dft` +* :c:data:`effective_one_e_potential` +* :c:data:`effective_one_e_potential_without_kin` * :c:data:`eigenvalues_fock_matrix_ao` * :c:data:`eigenvectors_fock_matrix_ao` * :c:data:`eigenvectors_fock_matrix_mo` @@ -191,26 +208,43 @@ Index of Providers * :c:data:`elec_num_tab` * :c:data:`element_mass` * :c:data:`element_name` +* :c:data:`energy_c` +* :c:data:`energy_c_lda` +* :c:data:`energy_c_pbe` * :c:data:`energy_cas_dyall` * :c:data:`energy_cas_dyall_no_exchange` * :c:data:`energy_iterations` +* :c:data:`energy_sr_c_lda` +* :c:data:`energy_sr_c_pbe` +* :c:data:`energy_sr_x_lda` +* :c:data:`energy_sr_x_pbe` +* :c:data:`energy_x` +* :c:data:`energy_x_lda` +* :c:data:`energy_x_pbe` * :c:data:`exc_degree_per_selectors` -* :c:data:`excs_` +* :c:data:`exchange_functional` * :c:data:`expected_s2` +* :c:data:`extra_e_contrib_density` * :c:data:`extrapolate_fock_matrix` * :c:data:`extrapolated_energy` * :c:data:`ezfio_filename` * :c:data:`ezfio_work_dir` * :c:data:`fact_inv` * :c:data:`fill_h_apply_buffer_selection` +* :c:data:`final_grid_points` +* :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_ao` * :c:data:`fock_matrix_ao_alpha` * :c:data:`fock_matrix_ao_beta` +* :c:data:`fock_matrix_beta_no_xc_ao` * :c:data:`fock_matrix_diag_mo` +* :c:data:`fock_matrix_energy` * :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo_alpha` * :c:data:`fock_matrix_mo_beta` @@ -220,6 +254,7 @@ Index of Providers * :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:`fps_spf_matrix_ao` * :c:data:`fps_spf_matrix_mo` * :c:data:`full_ijkl_bitmask` @@ -234,25 +269,30 @@ Index of Providers * :c:data:`general_primitive_integral_erf` * :c:data:`generators_bitmask` * :c:data:`generators_bitmask_restart` +* :c:data:`gga_sr_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_beta_pbe_w` +* :c:data:`grad_aos_dsr_vx_alpha_pbe_w` +* :c:data:`grad_aos_dsr_vx_beta_pbe_w` +* :c:data:`grad_aos_dvc_alpha_pbe_w` +* :c:data:`grad_aos_dvc_beta_pbe_w` +* :c:data:`grad_aos_dvx_alpha_pbe_w` +* :c:data:`grad_aos_dvx_beta_pbe_w` +* :c:data:`grid_points_per_atom` +* :c:data:`grid_points_radial` * :c:data:`h0_type` * :c:data:`h_apply_buffer_allocated` * :c:data:`h_apply_buffer_lock` * :c:data:`h_matrix_all_dets` * :c:data:`h_matrix_cas` -* :c:data:`h_matrix_dressed` * :c:data:`h_matrix_ref` -* :c:data:`has_a_unique_parent` * :c:data:`hf_bitmask` -* :c:data:`hf_density_matrix_ao` -* :c:data:`hf_density_matrix_ao_alpha` -* :c:data:`hf_density_matrix_ao_beta` * :c:data:`hf_energy` -* :c:data:`hh_exists` -* :c:data:`hh_nex` -* :c:data:`hh_shortcut` -* :c:data:`hij_cache_` -* :c:data:`hij_mrcc` +* :c:data:`hf_exchange` +* :c:data:`hf_one_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` @@ -269,7 +309,6 @@ Index of Providers * :c:data:`i_x2_new` * :c:data:`i_x2_pol_mult` * :c:data:`i_x2_pol_mult_mono_elec` -* :c:data:`idx_buf` * :c:data:`idx_cas` * :c:data:`idx_non_cas` * :c:data:`idx_non_ref` @@ -278,29 +317,30 @@ Index of Providers * :c:data:`idx_ref` * :c:data:`inact_bitmask` * :c:data:`inact_virt_bitmask` +* :c:data:`index_final_points` +* :c:data:`index_final_points_reverse` * :c:data:`index_holes_bitmask` * :c:data:`index_particl_bitmask` * :c:data:`inertia_tensor` * :c:data:`inertia_tensor_eigenvalues` * :c:data:`inertia_tensor_eigenvectors` -* :c:data:`initialize_dress_e0_denominator` * :c:data:`initialize_pt2_e0_denominator` * :c:data:`insert_into_mo_integrals_erf_map` * :c:data:`insert_into_mo_integrals_map` +* :c:data:`int_erf_3_index` +* :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_norm_psi_ref` * :c:data:`inv_selectors_coef_hf` * :c:data:`inv_selectors_coef_hf_squared` * :c:data:`iradix_sort` * :c:data:`iradix_sort_big` -* :c:data:`is_active_exc` * :c:data:`kinetic_ref_bitmask_energy` +* :c:data:`ks_energy` * :c:data:`l3_weight` * :c:data:`l_to_charater` -* :c:data:`lambda_mrcc` -* :c:data:`lambda_mrcc_kept` -* :c:data:`lambda_mrcc_pt2` -* :c:data:`lambda_type` * :c:data:`level_shift` * :c:data:`list_act` * :c:data:`list_act_reverse` @@ -314,15 +354,10 @@ Index of Providers * :c:data:`list_inact_reverse` * :c:data:`list_virt` * :c:data:`list_virt_reverse` +* :c:data:`m_knowles` * :c:data:`max_degree_exc` * :c:data:`max_dim_diis` * :c:data:`max_exc_pert` -* :c:data:`mo_bielec_integral_erf_jj` -* :c:data:`mo_bielec_integral_erf_jj_anti` -* :c:data:`mo_bielec_integral_erf_jj_anti_from_ao` -* :c:data:`mo_bielec_integral_erf_jj_exchange` -* :c:data:`mo_bielec_integral_erf_jj_exchange_from_ao` -* :c:data:`mo_bielec_integral_erf_jj_from_ao` * :c:data:`mo_bielec_integral_jj` * :c:data:`mo_bielec_integral_jj_anti` * :c:data:`mo_bielec_integral_jj_anti_from_ao` @@ -336,6 +371,7 @@ Index of Providers * :c:data:`mo_bielec_integrals_in_map` * :c:data:`mo_class` * :c:data:`mo_coef` +* :c:data:`mo_coef_begin_iteration` * :c:data:`mo_coef_in_ao_ortho_basis` * :c:data:`mo_coef_transp` * :c:data:`mo_dipole_x` @@ -367,18 +403,24 @@ Index of Providers * :c:data:`mo_spread_y` * :c:data:`mo_spread_z` * :c:data:`mo_tot_num` +* :c:data:`mo_two_e_int_erf_jj` +* :c:data:`mo_two_e_int_erf_jj_anti` +* :c:data:`mo_two_e_int_erf_jj_anti_from_ao` +* :c:data:`mo_two_e_int_erf_jj_exchange` +* :c:data:`mo_two_e_int_erf_jj_exchange_from_ao` +* :c:data:`mo_two_e_int_erf_jj_from_ao` * :c:data:`mono_elec_ref_bitmask_energy` +* :c:data:`mos_grad_in_r_array` +* :c:data:`mos_in_r_array` +* :c:data:`mos_in_r_array_transp` +* :c:data:`mos_lapl_in_r_array` * :c:data:`mpi_bit_kind` * :c:data:`mpi_initialized` * :c:data:`mpi_master` * :c:data:`mpi_rank` * :c:data:`mpi_size` -* :c:data:`mrcc_ata_ind` -* :c:data:`mrcc_ata_val` -* :c:data:`mrcc_col_shortcut` -* :c:data:`mrcc_n_col` -* :c:data:`mrmode` * :c:data:`mu_erf` +* :c:data:`mu_erf_dft` * :c:data:`n_act_orb` * :c:data:`n_aos_max` * :c:data:`n_cas_bitmask` @@ -390,7 +432,6 @@ Index of Providers * :c:data:`n_det_alpha_unique` * :c:data:`n_det_beta_unique` * :c:data:`n_det_cas` -* :c:data:`n_det_delta_ij` * :c:data:`n_det_generators` * :c:data:`n_det_iterations` * :c:data:`n_det_max` @@ -401,21 +442,19 @@ Index of Providers * :c:data:`n_det_selectors` * :c:data:`n_double_exc_bitmasks` * :c:data:`n_double_selectors` -* :c:data:`n_ex_exists` -* :c:data:`n_exc_active` -* :c:data:`n_exc_active_sze` * :c:data:`n_generators_bitmask` * :c:data:`n_generators_bitmask_restart` -* :c:data:`n_hh_exists` * :c:data:`n_inact_orb` * :c:data:`n_inact_orb_allocate` * :c:data:`n_int` -* :c:data:`n_it_max_dressed_ci` * :c:data:`n_it_scf_max` * :c:data:`n_iter` * :c:data:`n_occ_pattern` +* :c:data:`n_points_final_grid` +* :c:data:`n_points_grid_per_atom` +* :c:data:`n_points_integration_angular` * :c:data:`n_points_integration_angular_lebedev` -* :c:data:`n_pp_exists` +* :c:data:`n_points_radial_grid` * :c:data:`n_pt_max_i_x` * :c:data:`n_pt_max_integrals` * :c:data:`n_single_exc_bitmasks` @@ -431,6 +470,7 @@ Index of Providers * :c:data:`nproc` * :c:data:`nthreads_davidson` * :c:data:`nucl_aos` +* :c:data:`nucl_aos_transposed` * :c:data:`nucl_charge` * :c:data:`nucl_charge_remove` * :c:data:`nucl_coord` @@ -454,31 +494,69 @@ Index of Providers * :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_at_r` * :c:data:`one_body_dm_ao_alpha` * :c:data:`one_body_dm_ao_beta` +* :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_at_r` * :c:data:`one_body_dm_dagger_mo_spin_index` * :c:data:`one_body_dm_mo` * :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_for_dft` * :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_for_dft` * :c:data:`one_body_dm_mo_diff` +* :c:data:`one_body_dm_mo_for_dft` * :c:data:`one_body_dm_mo_spin_index` +* :c:data:`one_body_grad_2_dm_alpha_at_r` +* :c:data:`one_body_grad_2_dm_beta_at_r` * :c:data:`one_body_single_double_dm_mo_alpha` * :c:data:`one_body_single_double_dm_mo_beta` * :c:data:`one_body_spin_density_ao` * :c:data:`one_body_spin_density_mo` * :c:data:`one_creat` * :c:data:`one_creat_virt` +* :c:data:`one_electron_energy` * :c:data:`only_expected_s2` * :c:data:`output_cpu_time_0` * :c:data:`output_wall_time_0` * :c:data:`overlap_gaussian_xyz` * :c:data:`particles_operators` -* :c:data:`perturbative_triples` -* :c:data:`phases_` * :c:data:`phi_angular_integration_lebedev` -* :c:data:`pp_exists` +* :c:data:`potential_c_alpha_ao` +* :c:data:`potential_c_alpha_ao_lda` +* :c:data:`potential_c_alpha_ao_pbe` +* :c:data:`potential_c_alpha_mo` +* :c:data:`potential_c_beta_ao` +* :c:data:`potential_c_beta_ao_lda` +* :c:data:`potential_c_beta_ao_pbe` +* :c:data:`potential_c_beta_mo` +* :c:data:`potential_sr_c_alpha_ao_lda` +* :c:data:`potential_sr_c_alpha_ao_pbe` +* :c:data:`potential_sr_c_beta_ao_lda` +* :c:data:`potential_sr_c_beta_ao_pbe` +* :c:data:`potential_sr_x_alpha_ao_lda` +* :c:data:`potential_sr_x_alpha_ao_pbe` +* :c:data:`potential_sr_x_beta_ao_lda` +* :c:data:`potential_sr_x_beta_ao_pbe` +* :c:data:`potential_x_alpha_ao` +* :c:data:`potential_x_alpha_ao_lda` +* :c:data:`potential_x_alpha_ao_pbe` +* :c:data:`potential_x_alpha_mo` +* :c:data:`potential_x_beta_ao` +* :c:data:`potential_x_beta_ao_lda` +* :c:data:`potential_x_beta_ao_pbe` +* :c:data:`potential_x_beta_mo` * :c:data:`pseudo_dz_k` * :c:data:`pseudo_dz_k_transp` * :c:data:`pseudo_dz_kl` @@ -539,11 +617,13 @@ Index of Providers * :c:data:`psi_det_sorted_gen` * :c:data:`psi_det_sorted_gen_order` * :c:data:`psi_det_sorted_order` +* :c:data:`psi_dft_energy_h_core` +* :c:data:`psi_dft_energy_kinetic` +* :c:data:`psi_dft_energy_nuclear_elec` * :c:data:`psi_energy` * :c:data:`psi_energy_bielec` * :c:data:`psi_energy_h_core` * :c:data:`psi_energy_with_nucl_rep` -* :c:data:`psi_from_sorted_gen` * :c:data:`psi_non_cas` * :c:data:`psi_non_cas_coef` * :c:data:`psi_non_cas_coef_sorted_bit` @@ -555,9 +635,7 @@ Index of Providers * :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` * :c:data:`psi_non_ref_sorted_bit` -* :c:data:`psi_non_ref_sorted_idx` * :c:data:`psi_occ_pattern` * :c:data:`psi_occ_pattern_hii` * :c:data:`psi_ref` @@ -570,11 +648,8 @@ Index of Providers * :c:data:`psi_ref_coef_restart` * :c:data:`psi_ref_coef_sorted_bit` * :c:data:`psi_ref_coef_transp` -* :c:data:`psi_ref_detsorted` -* :c:data:`psi_ref_detsorted_idx` * :c:data:`psi_ref_energy` * :c:data:`psi_ref_energy_diagonalized` -* :c:data:`psi_ref_lock` * :c:data:`psi_ref_restart` * :c:data:`psi_ref_sorted_bit` * :c:data:`psi_selectors` @@ -587,7 +662,6 @@ Index of Providers * :c:data:`pt2_f` * :c:data:`pt2_iterations` * :c:data:`pt2_j` -* :c:data:`pt2_j_` * :c:data:`pt2_max` * :c:data:`pt2_mindetinfirstteeth` * :c:data:`pt2_n_0` @@ -623,7 +697,7 @@ Index of Providers * :c:data:`reunion_of_cas_inact_bitmask` * :c:data:`reunion_of_core_inact_act_bitmask` * :c:data:`reunion_of_core_inact_bitmask` -* :c:data:`rho_mrcc` +* :c:data:`rs_ks_energy` * :c:data:`s2_eig` * :c:data:`s2_values` * :c:data:`s_half` @@ -633,6 +707,10 @@ Index of Providers * :c:data:`s_z` * :c:data:`s_z2_sz` * :c:data:`scf_algorithm` +* :c:data:`scf_density_matrix_ao` +* :c:data:`scf_density_matrix_ao_alpha` +* :c:data:`scf_density_matrix_ao_beta` +* :c:data:`scf_energy` * :c:data:`second_order_pt_new` * :c:data:`second_order_pt_new_1h` * :c:data:`second_order_pt_new_1h1p` @@ -646,7 +724,9 @@ Index of Providers * :c:data:`selection_criterion` * :c:data:`selection_criterion_factor` * :c:data:`selection_criterion_min` -* :c:data:`sij_cache_` +* :c:data:`shifting_constant` +* :c:data:`short_range_hartree` +* :c:data:`short_range_hartree_operator` * :c:data:`single_exc_bitmask` * :c:data:`singles_alpha_csc` * :c:data:`singles_alpha_csc_idx` @@ -659,32 +739,37 @@ Index of Providers * :c:data:`slater_bragg_radii_ua` * :c:data:`slater_bragg_type_inter_distance` * :c:data:`slater_bragg_type_inter_distance_ua` -* :c:data:`sorted_mini` * :c:data:`state_average_weight` * :c:data:`state_following` * :c:data:`target_energy` * :c:data:`theta_angular_integration_lebedev` * :c:data:`three_anhil` * :c:data:`three_creat` -* :c:data:`thresh_dressed_ci` * :c:data:`thresh_scf` * :c:data:`threshold_davidson` * :c:data:`threshold_diis` * :c:data:`threshold_diis_nonzero` * :c:data:`threshold_generators` * :c:data:`threshold_selectors` +* :c:data:`trace_potential_xc` +* :c:data:`trace_v_h` +* :c:data:`trace_v_hxc` +* :c:data:`trace_v_xc` * :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:`unpaired_alpha_electrons` * :c:data:`used_weight` * :c:data:`var_pt2_ratio` * :c:data:`virt_bitmask` * :c:data:`virt_bitmask_4` +* :c:data:`weight_functions_at_grid_points` * :c:data:`weight_occ_pattern` * :c:data:`weights_angular_integration_lebedev` +* :c:data:`weights_angular_points` * :c:data:`write_ao_integrals` * :c:data:`write_ao_integrals_erf` * :c:data:`write_ao_one_integrals` @@ -707,7 +792,9 @@ Index of Subroutines/Functions * :c:func:`a_coef` * :c:func:`a_operator` +* :c:func:`a_operator_bielec` * :c:func:`ac_operator` +* :c:func:`ac_operator_bielec` * :c:func:`add_integrals_to_map` * :c:func:`add_integrals_to_map_erf` * :c:func:`add_integrals_to_map_no_exit_34` @@ -716,8 +803,6 @@ Index of Subroutines/Functions * :c:func:`add_poly_multiply` * :c:func:`add_task_to_taskserver` * :c:func:`add_to_selection_buffer` -* :c:func:`alpha_callback` -* :c:func:`alpha_callback_mask` * :c:func:`ao_bielec_integral` * :c:func:`ao_bielec_integral_erf` * :c:func:`ao_bielec_integral_schwartz_accel` @@ -737,15 +822,14 @@ Index of Subroutines/Functions * :c:func:`ao_value` * :c:func:`apply_excitation` * :c:func:`apply_hole` -* :c:func:`apply_hole_local` * :c:func:`apply_holes` * :c:func:`apply_particle` -* :c:func:`apply_particle_local` * :c:func:`apply_particles` * :c:func:`apply_rotation` * :c:func:`approx_dble` * :c:func:`au0_h_au0` * :c:func:`b_coef` +* :c:func:`berf` * :c:func:`bielec_integrals_index` * :c:func:`bielec_integrals_index_reverse` * :c:func:`binom_func` @@ -759,6 +843,8 @@ Index of Subroutines/Functions * :c:func:`broadcast_chunks_integer` * :c:func:`broadcast_chunks_integer8` * :c:func:`build_fock_tmp` +* :c:func:`cell_function_becke` +* :c:func:`check_coherence_functional` * :c:func:`check_mem` * :c:func:`cis` * :c:func:`cisd` @@ -779,16 +865,13 @@ Index of Subroutines/Functions * :c:func:`copy_h_apply_buffer_to_wf` * :c:func:`copy_psi_bilinear_to_psi` * :c:func:`coulomb_value_no_check` -* :c:func:`count_d1` -* :c:func:`count_d2` -* :c:func:`count_pq` * :c:func:`create_guess` -* :c:func:`create_indexes` * :c:func:`create_microlist` * :c:func:`create_minilist` * :c:func:`create_minilist_find_previous` * :c:func:`create_selection_buffer` * :c:func:`create_wf_of_psi_bilinear_matrix` +* :c:func:`damping_scf` * :c:func:`davidson_collector` * :c:func:`davidson_converged` * :c:func:`davidson_diag_hjj_sjj` @@ -799,6 +882,7 @@ Index of Subroutines/Functions * :c:func:`davidson_slave_inproc` * :c:func:`davidson_slave_tcp` * :c:func:`davidson_slave_work` +* :c:func:`dberfda` * :c:func:`dble_fact` * :c:func:`dble_fact_even` * :c:func:`dble_fact_odd` @@ -806,10 +890,11 @@ Index of Subroutines/Functions * :c:func:`ddfact2` * :c:func:`debug_det` * :c:func:`debug_spindet` -* :c:func:`dec_exc` * :c:func:`decode_exc` * :c:func:`decode_exc_spin` * :c:func:`delete_selection_buffer` +* :c:func:`density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r` +* :c:func:`derivative_knowles_function` * :c:func:`det_inf` * :c:func:`det_search_key` * :c:func:`detcmp` @@ -817,28 +902,34 @@ Index of Subroutines/Functions * :c:func:`diag_h_mat_elem` * :c:func:`diag_h_mat_elem_au0_h_au0` * :c:func:`diag_h_mat_elem_fock` +* :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_wee_mat_elem` * :c:func:`diagonalize_ci` -* :c:func:`diagonalize_ci_dressed` +* :c:func:`diagonalize_h` * :c:func:`disconnect_from_taskserver` * :c:func:`disconnect_from_taskserver_state` +* :c:func:`dm_dft_alpha_beta_and_all_aos_at_r` +* :c:func:`dm_dft_alpha_beta_at_r` * :c:func:`do_mono_excitation` -* :c:func:`dress_collector` -* :c:func:`dress_find_sample` -* :c:func:`dress_slave` -* :c:func:`dress_slave_inproc` -* :c:func:`dress_slave_tcp` -* :c:func:`dress_with_alpha_buffer` -* :c:func:`dress_with_alpha_buffer_neu` -* :c:func:`dress_zmq` +* :c:func:`dpol` +* :c:func:`dpold` +* :c:func:`dpoldd` * :c:func:`dset_order` * :c:func:`dset_order_big` * :c:func:`dsort` * :c:func:`dump_ao_integrals` * :c:func:`dump_ao_integrals_erf` * :c:func:`dump_mo_integrals` +* :c:func:`ec_lda` +* :c:func:`ec_lda_sr` +* :c:func:`ec_only_lda_sr` +* :c:func:`ec_pbe_only` +* :c:func:`ec_pbe_sr` +* :c:func:`ecorrlr` +* :c:func:`ecpw` * :c:func:`end_parallel_job` * :c:func:`end_zmq_pair_socket` * :c:func:`end_zmq_pull_socket` @@ -848,14 +939,17 @@ Index of Subroutines/Functions * :c:func:`erf0` * :c:func:`eri` * :c:func:`eri_erf` +* :c:func:`ex_lda` +* :c:func:`ex_lda_sr` +* :c:func:`ex_pbe_sr` +* :c:func:`ex_pbe_sr_only` +* :c:func:`example_becke_numerical_grid` * :c:func:`example_bitmask` * :c:func:`example_determinants` * :c:func:`example_determinants_psi_det` -* :c:func:`exc_inf` -* :c:func:`exccmp` -* :c:func:`exceq` * :c:func:`extract_ref` * :c:func:`extrapolate_data` +* :c:func:`f_function_becke` * :c:func:`f_integral` * :c:func:`fact` * :c:func:`fci` @@ -867,9 +961,10 @@ Index of Subroutines/Functions * :c:func:`filter_not_connected` * :c:func:`find_connections_previous` * :c:func:`find_rotation` -* :c:func:`find_triples_and_quadruples` -* :c:func:`find_triples_and_quadruples_micro` * :c:func:`four_idx_transform` +* :c:func:`g0d` +* :c:func:`g0dd` +* :c:func:`g0f` * :c:func:`gammln` * :c:func:`gammp` * :c:func:`gauleg` @@ -877,8 +972,6 @@ Index of Subroutines/Functions * :c:func:`gaussian_product_x` * :c:func:`gcf` * :c:func:`generate_all_alpha_beta_det_products` -* :c:func:`generate_singles_and_doubles` -* :c:func:`generator_start` * :c:func:`get_all_spin_doubles` * :c:func:`get_all_spin_doubles_1` * :c:func:`get_all_spin_doubles_2` @@ -910,8 +1003,6 @@ Index of Subroutines/Functions * :c:func:`get_d2` * :c:func:`get_delta_e_dyall` * :c:func:`get_delta_e_dyall_general_mp` -* :c:func:`get_dij` -* :c:func:`get_dij_index` * :c:func:`get_double_excitation` * :c:func:`get_double_excitation_spin` * :c:func:`get_excitation` @@ -942,6 +1033,7 @@ Index of Subroutines/Functions * :c:func:`get_mo_bielec_integrals_erf_i1j1` * :c:func:`get_mo_bielec_integrals_erf_ij` * :c:func:`get_mo_bielec_integrals_exch_ii` +* :c:func:`get_mo_bielec_integrals_i1j1` * :c:func:`get_mo_bielec_integrals_ij` * :c:func:`get_mo_erf_map_size` * :c:func:`get_mo_map_size` @@ -971,7 +1063,10 @@ Index of Subroutines/Functions * :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_at_r` * :c:func:`give_all_aos_at_r` +* :c:func:`give_all_aos_at_r_old` * :c:func:`give_all_erf_kl_ao` * :c:func:`give_all_mos_and_grad_and_lapl_at_r` * :c:func:`give_all_mos_and_grad_at_r` @@ -988,6 +1083,8 @@ Index of Subroutines/Functions * :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:`grad_rho_ab_to_grad_rho_oc` * :c:func:`gser` * :c:func:`h_apply_cis` * :c:func:`h_apply_cis_diexc` @@ -999,21 +1096,6 @@ Index of Subroutines/Functions * :c:func:`h_apply_cisd_diexcorg` * :c:func:`h_apply_cisd_diexcp` * :c:func:`h_apply_cisd_monoexc` -* :c:func:`h_apply_mrcc` -* :c:func:`h_apply_mrcc_diexc` -* :c:func:`h_apply_mrcc_diexcorg` -* :c:func:`h_apply_mrcc_diexcp` -* :c:func:`h_apply_mrcc_monoexc` -* :c:func:`h_apply_mrcc_pt2` -* :c:func:`h_apply_mrcc_pt2_diexc` -* :c:func:`h_apply_mrcc_pt2_diexcorg` -* :c:func:`h_apply_mrcc_pt2_diexcp` -* :c:func:`h_apply_mrcc_pt2_monoexc` -* :c:func:`h_apply_mrcepa_pt2` -* :c:func:`h_apply_mrcepa_pt2_diexc` -* :c:func:`h_apply_mrcepa_pt2_diexcorg` -* :c:func:`h_apply_mrcepa_pt2_diexcp` -* :c:func:`h_apply_mrcepa_pt2_monoexc` * :c:func:`h_apply_mrpt` * :c:func:`h_apply_mrpt_1h` * :c:func:`h_apply_mrpt_1h1p` @@ -1094,19 +1176,24 @@ Index of Subroutines/Functions * :c:func:`i8set_order_big` * :c:func:`i8sort` * :c:func:`i_h_j` +* :c:func:`i_h_j_bielec` * :c:func:`i_h_j_double_alpha_beta` * :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_monoelec` +* :c:func:`i_h_j_monoelec` * :c:func:`i_h_j_s2` * :c:func:`i_h_j_verbose` * :c:func:`i_h_psi` * :c:func:`i_h_psi_minilist` * :c:func:`i_h_psi_pert_new_minilist` * :c:func:`i_s2_psi_minilist` +* :c:func:`i_wee_j_mono` * :c:func:`i_x1_pol_mult` * :c:func:`initialize_bitmask_to_restart_ones` +* :c:func:`initialize_mo_coef_begin_iteration` * :c:func:`insert_into_ao_integrals_erf_map` * :c:func:`insert_into_ao_integrals_map` * :c:func:`insertion_dsort` @@ -1132,7 +1219,6 @@ Index of Subroutines/Functions * :c:func:`is_a_two_holes_two_particles` * :c:func:`is_connected_to` * :c:func:`is_connected_to_by_mono` -* :c:func:`is_generable` * :c:func:`is_generable_cassd` * :c:func:`is_i_in_virtual` * :c:func:`is_in_psi_ref` @@ -1143,6 +1229,7 @@ Index of Subroutines/Functions * :c:func:`iset_order` * :c:func:`iset_order_big` * :c:func:`isort` +* :c:func:`knowles_function` * :c:func:`lapack_diag` * :c:func:`lapack_diagd` * :c:func:`list_to_bitstring` @@ -1172,9 +1259,8 @@ Index of Subroutines/Functions * :c:func:`modify_bitmasks_for_hole_in_out` * :c:func:`modify_bitmasks_for_particl` * :c:func:`molden` +* :c:func:`mono_excitation_wee` * :c:func:`mpi_print` -* :c:func:`mrcc` -* :c:func:`mrcc_dress` * :c:func:`mrpt_dress` * :c:func:`multiply_poly` * :c:func:`n_pt_sup` @@ -1227,6 +1313,7 @@ Index of Subroutines/Functions * :c:func:`perturb_buffer_moller_plesset` * :c:func:`perturb_buffer_moller_plesset_general` * :c:func:`perturb_buffer_qdpt` +* :c:func:`primitive_value` * :c:func:`print_det` * :c:func:`print_extrapolated_energy` * :c:func:`print_generators_bitmasks_holes` @@ -1236,7 +1323,7 @@ Index of Subroutines/Functions * :c:func:`print_memory_usage` * :c:func:`print_spindet` * :c:func:`print_summary` -* :c:func:`provide_all` +* :c:func:`print_wf` * :c:func:`provide_all_mo_integrals_erf` * :c:func:`provide_everything` * :c:func:`pt2` @@ -1253,16 +1340,17 @@ Index of Subroutines/Functions * :c:func:`pt2_moller_plesset_general` * :c:func:`pt2_qdpt` * :c:func:`pt2_slave_inproc` -* :c:func:`pull_dress_results` * :c:func:`pull_pt2` * :c:func:`pull_pt2_results` * :c:func:`pull_selection_results` -* :c:func:`push_dress_results` * :c:func:`push_integrals` * :c:func:`push_pt2` * :c:func:`push_pt2_results` * :c:func:`push_selection_results` * :c:func:`qp_ao_ints` +* :c:func:`qrpa` +* :c:func:`qrpad` +* :c:func:`qrpadd` * :c:func:`quick_dsort` * :c:func:`quick_i2sort` * :c:func:`quick_i8sort` @@ -1272,10 +1360,13 @@ Index of Subroutines/Functions * :c:func:`recentered_poly2` * :c:func:`remove_duplicates_in_psi_det` * :c:func:`remove_small_contributions` +* :c:func:`reorder_active_orb` * :c:func:`repeat_all_e_corr` * :c:func:`reset_zmq_addresses` * :c:func:`resident_memory` * :c:func:`resize_h_apply_buffer` +* :c:func:`rho_ab_to_rho_oc` +* :c:func:`rho_oc_to_rho_ab` * :c:func:`rint` * :c:func:`rint1` * :c:func:`rint_large_n` @@ -1286,12 +1377,8 @@ Index of Subroutines/Functions * :c:func:`routine` * :c:func:`routine_example_psi_det` * :c:func:`run` -* :c:func:`run_dress_slave` -* :c:func:`run_dressing` -* :c:func:`run_pt2` * :c:func:`run_pt2_slave` * :c:func:`run_selection_slave` -* :c:func:`run_w` * :c:func:`run_wf` * :c:func:`s2_u_0` * :c:func:`s2_u_0_nstates` @@ -1314,8 +1401,6 @@ Index of Subroutines/Functions * :c:func:`save_wavefunction_truncated` * :c:func:`save_wavefunction_unsorted` * :c:func:`scf` -* :c:func:`searchdet` -* :c:func:`searchexc` * :c:func:`select_connected` * :c:func:`select_singles_and_doubles` * :c:func:`selection_collector` @@ -1327,15 +1412,12 @@ Index of Subroutines/Functions * :c:func:`set_natural_mos` * :c:func:`set_order` * :c:func:`set_order_big` -* :c:func:`shifted_bk_slave` * :c:func:`slave` * :c:func:`sort` -* :c:func:`sort_det` * :c:func:`sort_dets_ab` * :c:func:`sort_dets_ab_v` * :c:func:`sort_dets_ba_v` * :c:func:`sort_dets_by_det_search_key` -* :c:func:`sort_exc` * :c:func:`sort_selection_buffer` * :c:func:`sorted_dnumber` * :c:func:`sorted_i2number` @@ -1345,9 +1427,10 @@ Index of Subroutines/Functions * :c:func:`spin_det_search_key` * :c:func:`splash_pq` * :c:func:`spot_isinwf` +* :c:func:`srs_ks_cf` +* :c:func:`step_function_becke` * :c:func:`svd` * :c:func:`switch_qp_run_to_master` -* :c:func:`tamise_exc` * :c:func:`tamiser` * :c:func:`task_done_to_taskserver` * :c:func:`tasks_done_to_taskserver` @@ -1360,11 +1443,14 @@ Index of Subroutines/Functions * :c:func:`u_0_s2_u_0` * :c:func:`u_dot_u` * :c:func:`u_dot_v` -* :c:func:`unsortedsearchdet` * :c:func:`v_e_n` +* :c:func:`v_grad_rho_oc_to_v_grad_rho_ab` * :c:func:`v_phi` * :c:func:`v_r` +* :c:func:`v_rho_ab_to_v_rho_oc` +* :c:func:`v_rho_oc_to_v_rho_ab` * :c:func:`v_theta` +* :c:func:`vcorrlr` * :c:func:`wait_for_next_state` * :c:func:`wait_for_state` * :c:func:`wait_for_states` @@ -1387,7 +1473,6 @@ Index of Subroutines/Functions * :c:func:`zmq_delete_tasks` * :c:func:`zmq_delete_tasks_async_recv` * :c:func:`zmq_delete_tasks_async_send` -* :c:func:`zmq_dress` * :c:func:`zmq_get8_dvector` * :c:func:`zmq_get8_ivector` * :c:func:`zmq_get_dmatrix` diff --git a/docs/source/users_guide/plugins.rst b/docs/source/users_guide/plugins.rst index a078a567..c1ad33c4 100644 --- a/docs/source/users_guide/plugins.rst +++ b/docs/source/users_guide/plugins.rst @@ -1,5 +1,6 @@ -External plugins ----------------- +============================= +Working with external plugins +============================= .. TODO diff --git a/docs/source/users_guide/qp_plugins.rst b/docs/source/users_guide/qp_plugins.rst new file mode 100644 index 00000000..871a0e0a --- /dev/null +++ b/docs/source/users_guide/qp_plugins.rst @@ -0,0 +1,62 @@ +.. _qp_plugins: + +========== +qp_plugins +========== + +This command deals with all external plugings of |qp|. Plugin repositories can +be downloaded, and the plugins in these repositories can be +installed/uninstalled of created. + +Usage +----- + +.. code:: bash + + qp_plugins list [ -i | -u | -q ] + qp_plugins download + qp_plugins install ... + qp_plugins uninstall + qp_plugins create -n [-r ] [...] + +.. option:: list + + List all the available plugins. + +.. option:: list -i + + List all the *installed* plugins. + +.. option:: list -u + + List all the *uninstalled* plugins. + +.. option:: list -q + + List all the downloaded repositories. + +.. option:: download + + Download an external repository. The URL points to a tar.gz file or a + git repository, for example: + + * http://example.com/site/example.tar.gz + * git@gitlab.com:user/example_repository + +.. option:: install + + Install the plugin ``plugin_name``. + +.. option:: uninstall + + Uninstall the plugin ``plugin_name``. + +.. option:: create -n + + Create a new plugin named ``plugin_name`` in local repository. + +.. option:: create -n -r + + Create a new plugin named ``plugin_name`` in the specified repository. + + diff --git a/docs/source/users_guide/qp_test.rst b/docs/source/users_guide/qp_test.rst new file mode 100644 index 00000000..524af6ef --- /dev/null +++ b/docs/source/users_guide/qp_test.rst @@ -0,0 +1,30 @@ +.. _qp_test: + +======= +qp_test +======= + +This command runs the consistency test of |qp|. The tests are run with the |bats| shell testing environment. + +Usage +----- + +.. code:: bash + + qp_test [FLAGS] + Flags : + [-a] Run all the tests + [-v] Verbose mode: shows the output of the runs + + +.. option:: -a + + Runs all the tests. By default, run only the tests of the current + directory, and the directories below. + +.. option:: -v + + Verbose mode. Print the output of the running executions of |qp|. + + +