(git:6a2e663)
libint_2c_3c Module Reference

2- and 3-center electron repulsion integral routines based on libint2 Currently available operators: Coulomb, Truncated Coulomb, Short Range (erfc), Overlap More...

Functions/Subroutines

subroutine, public eri_3center (int_abc, la_min, la_max, npgfa, zeta, rpgfa, ra, lb_min, lb_max, npgfb, zetb, rpgfb, rb, lc_min, lc_max, npgfc, zetc, rpgfc, rc, dab, dac, dbc, lib, potential_parameter, int_abc_ext)
 Computes the 3-center electron repulsion integrals (ab|c) for a given set of cartesian gaussian orbitals. More...
 
subroutine, public eri_3center_derivs (der_abc_1, der_abc_2, la_min, la_max, npgfa, zeta, rpgfa, ra, lb_min, lb_max, npgfb, zetb, rpgfb, rb, lc_min, lc_max, npgfc, zetc, rpgfc, rc, dab, dac, dbc, lib, potential_parameter, der_abc_1_ext, der_abc_2_ext)
 Computes the derivatives of the 3-center electron repulsion integrals (ab|c) for a given set of cartesian gaussian orbitals. Returns x,y,z derivatives for 1st and 2nd center. More...
 
subroutine, public eri_2center (int_ab, la_min, la_max, npgfa, zeta, rpgfa, ra, lb_min, lb_max, npgfb, zetb, rpgfb, rb, dab, lib, potential_parameter)
 Computes the 2-center electron repulsion integrals (a|b) for a given set of cartesian gaussian orbitals. More...
 
pure logical function, public compare_potential_types (potential1, potential2)
 Helper function to compare libint_potential_types. More...
 
subroutine, public eri_2center_derivs (der_ab, la_min, la_max, npgfa, zeta, rpgfa, ra, lb_min, lb_max, npgfb, zetb, rpgfb, rb, dab, lib, potential_parameter)
 Computes the 2-center derivatives of the electron repulsion integrals (a|b) for a given set of cartesian gaussian orbitals. Returns the derivatives wrt to the first center. More...
 

Variables

real(kind=dp), parameter, public cutoff_screen_factor = 1.0001_dp
 

Detailed Description

2- and 3-center electron repulsion integral routines based on libint2 Currently available operators: Coulomb, Truncated Coulomb, Short Range (erfc), Overlap

Author
A. Bussy (05.2019)

Function/Subroutine Documentation

◆ eri_3center()

subroutine, public libint_2c_3c::eri_3center ( real(dp), dimension(:, :, :), intent(inout)  int_abc,
integer, intent(in)  la_min,
integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(dp), dimension(:), intent(in)  zeta,
real(dp), dimension(:), intent(in)  rpgfa,
real(dp), dimension(3), intent(in)  ra,
integer, intent(in)  lb_min,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(dp), dimension(:), intent(in)  zetb,
real(dp), dimension(:), intent(in)  rpgfb,
real(dp), dimension(3), intent(in)  rb,
integer, intent(in)  lc_min,
integer, intent(in)  lc_max,
integer, intent(in)  npgfc,
real(dp), dimension(:), intent(in)  zetc,
real(dp), dimension(:), intent(in)  rpgfc,
real(dp), dimension(3), intent(in)  rc,
real(kind=dp), intent(in)  dab,
real(kind=dp), intent(in)  dac,
real(kind=dp), intent(in)  dbc,
type(cp_libint_t), intent(inout)  lib,
type(libint_potential_type), intent(in)  potential_parameter,
real(dp), intent(inout), optional  int_abc_ext 
)

Computes the 3-center electron repulsion integrals (ab|c) for a given set of cartesian gaussian orbitals.

Parameters
int_abcthe integrals as array of cartesian orbitals (allocated before hand)
la_min...
la_max...
npgfa...
zeta...
rpgfa...
ra...
lb_min...
lb_max...
npgfb...
zetb...
rpgfb...
rb...
lc_min...
lc_max...
npgfc...
zetc...
rpgfc...
rc...
dab...
dac...
dbc...
libthe libint_t object for evaluation (assume that it is initialized outside)
potential_parameterthe info about the potential
int_abc_extthe extremal value of int_abc, i.e., MAXVAL(ABS(int_abc))
Note
Prior to calling this routine, the cp_libint_t type passed as argument must be initialized, the libint library must be static initialized, and in case of truncated Coulomb operator, the latter must be initialized too

Definition at line 109 of file libint_2c_3c.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eri_3center_derivs()

subroutine, public libint_2c_3c::eri_3center_derivs ( real(dp), dimension(:, :, :, :), intent(inout)  der_abc_1,
real(dp), dimension(:, :, :, :), intent(inout)  der_abc_2,
integer, intent(in)  la_min,
integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(dp), dimension(:), intent(in)  zeta,
real(dp), dimension(:), intent(in)  rpgfa,
real(dp), dimension(3), intent(in)  ra,
integer, intent(in)  lb_min,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(dp), dimension(:), intent(in)  zetb,
real(dp), dimension(:), intent(in)  rpgfb,
real(dp), dimension(3), intent(in)  rb,
integer, intent(in)  lc_min,
integer, intent(in)  lc_max,
integer, intent(in)  npgfc,
real(dp), dimension(:), intent(in)  zetc,
real(dp), dimension(:), intent(in)  rpgfc,
real(dp), dimension(3), intent(in)  rc,
real(kind=dp), intent(in)  dab,
real(kind=dp), intent(in)  dac,
real(kind=dp), intent(in)  dbc,
type(cp_libint_t), intent(inout)  lib,
type(libint_potential_type), intent(in)  potential_parameter,
real(dp), dimension(3), intent(out), optional  der_abc_1_ext,
real(dp), dimension(3), intent(out), optional  der_abc_2_ext 
)

Computes the derivatives of the 3-center electron repulsion integrals (ab|c) for a given set of cartesian gaussian orbitals. Returns x,y,z derivatives for 1st and 2nd center.

Parameters
der_abc_1the derivatives for the 1st center (allocated before hand)
der_abc_2the derivatives for the 2nd center (allocated before hand)
la_min...
la_max...
npgfa...
zeta...
rpgfa...
ra...
lb_min...
lb_max...
npgfb...
zetb...
rpgfb...
rb...
lc_min...
lc_max...
npgfc...
zetc...
rpgfc...
rc...
dab...
dac...
dbc...
libthe libint_t object for evaluation (assume that it is initialized outside)
potential_parameterthe info about the potential
der_abc_1_extthe extremal value of der_abc_1, i.e., MAXVAL(ABS(der_abc_1))
der_abc_2_ext...
Note
Prior to calling this routine, the cp_libint_t type passed as argument must be initialized, the libint library must be static initialized, and in case of truncated Coulomb operator, the latter must be initialized too. Note that the derivative wrt to the third center can be obtained via translational invariance

Definition at line 437 of file libint_2c_3c.F.

Here is the call graph for this function:

◆ eri_2center()

subroutine, public libint_2c_3c::eri_2center ( real(dp), dimension(:, :), intent(inout)  int_ab,
integer, intent(in)  la_min,
integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(dp), dimension(:), intent(in)  zeta,
real(dp), dimension(:), intent(in)  rpgfa,
real(dp), dimension(3), intent(in)  ra,
integer, intent(in)  lb_min,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(dp), dimension(:), intent(in)  zetb,
real(dp), dimension(:), intent(in)  rpgfb,
real(dp), dimension(3), intent(in)  rb,
real(dp), intent(in)  dab,
type(cp_libint_t), intent(inout)  lib,
type(libint_potential_type), intent(in)  potential_parameter 
)

Computes the 2-center electron repulsion integrals (a|b) for a given set of cartesian gaussian orbitals.

Parameters
int_abthe integrals as array of cartesian orbitals (allocated before hand)
la_min...
la_max...
npgfa...
zeta...
rpgfa...
ra...
lb_min...
lb_max...
npgfb...
zetb...
rpgfb...
rb...
dab...
libthe libint_t object for evaluation (assume that it is initialized outside)
potential_parameterthe info about the potential
Note
Prior to calling this routine, the cp_libint_t type passed as argument must be initialized, the libint library must be static initialized, and in case of truncated Coulomb operator, the latter must be initialized too

Definition at line 792 of file libint_2c_3c.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare_potential_types()

pure logical function, public libint_2c_3c::compare_potential_types ( type(libint_potential_type), intent(in)  potential1,
type(libint_potential_type), intent(in)  potential2 
)

Helper function to compare libint_potential_types.

Parameters
potential1first potential
potential2second potential
Returns
Boolean whether both potentials are equal

Definition at line 962 of file libint_2c_3c.F.

Here is the caller graph for this function:

◆ eri_2center_derivs()

subroutine, public libint_2c_3c::eri_2center_derivs ( real(dp), dimension(:, :, :), intent(inout)  der_ab,
integer, intent(in)  la_min,
integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(dp), dimension(:), intent(in)  zeta,
real(dp), dimension(:), intent(in)  rpgfa,
real(dp), dimension(3), intent(in)  ra,
integer, intent(in)  lb_min,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(dp), dimension(:), intent(in)  zetb,
real(dp), dimension(:), intent(in)  rpgfb,
real(dp), dimension(3), intent(in)  rb,
real(dp), intent(in)  dab,
type(cp_libint_t), intent(inout)  lib,
type(libint_potential_type), intent(in)  potential_parameter 
)

Computes the 2-center derivatives of the electron repulsion integrals (a|b) for a given set of cartesian gaussian orbitals. Returns the derivatives wrt to the first center.

Parameters
der_abthe derivatives as array of cartesian orbitals (allocated before hand)
la_min...
la_max...
npgfa...
zeta...
rpgfa...
ra...
lb_min...
lb_max...
npgfb...
zetb...
rpgfb...
rb...
dab...
libthe libint_t object for evaluation (assume that it is initialized outside)
potential_parameterthe info about the potential
Note
Prior to calling this routine, the cp_libint_t type passed as argument must be initialized, the libint library must be static initialized, and in case of truncated Coulomb operator, the latter must be initialized too

Definition at line 1002 of file libint_2c_3c.F.

Here is the call graph for this function:

Variable Documentation

◆ cutoff_screen_factor

real(kind=dp), parameter, public libint_2c_3c::cutoff_screen_factor = 1.0001_dp

Definition at line 48 of file libint_2c_3c.F.