Documentation for module mp2_eri

Interface to direct methods for electron repulsion integrals for MP2.

source: mp2_eri.F
Loading...

public Types:

mp2_eri_force
...

public Subroutines/Functions:

high-level integration routine for 2c integrals over CP2K basis sets. Contiguous column-wise distribution and parallelization over pairs of sets.
high-level integration routine for 3c integrals (ab|c) over CP2K basis sets. For each local function of c, (ab|c) is written to a DBCSR matrix mat_ab.
...
...

public Types:

TYPE :: mp2_eri_force

...


REAL(dp),
DIMENSION(:,:), ALLOCATABLE :: forces ...

SUBROUTINEmp2_eri_2c_integrate(param, para_env, qs_env, basis_type_a, basis_type_b, hab, first_b, last_b, eri_method, pab, force_a, force_b, hdab, hadb, reflection_z_a, reflection_z_b, do_reflection_a, do_reflection_b)

high-level integration routine for 2c integrals over CP2K basis sets. Contiguous column-wise distribution and parallelization over pairs of sets.

Arguments:
INTENT(inout)
:: param ...
INTENT(in),
POINTER
:: para_env mpi environment for local columns
INTENT(in),
POINTER
:: qs_env ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: basis_type_a ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: basis_type_b ...
REAL(dp),
INTENT(inout)
:: hab(:,:) columns of ERI matrix
INTEGER,
INTENT(in)
:: first_b first column of hab
INTEGER,
INTENT(in)
:: last_b last column of hab
INTEGER,
INTENT(in),
OPTIONAL
:: eri_method ...
REAL(dp),
INTENT(in),
OPTIONAL
:: pab(:,:) ...
INTENT(out),
ALLOCATABLE, OPTIONAL
:: force_a(:) ...
INTENT(out),
ALLOCATABLE, OPTIONAL
:: force_b(:) ...
REAL(dp),
INTENT(inout),
OPTIONAL
:: hdab(:,:,:) ...
REAL(dp),
INTENT(inout),
OPTIONAL
:: hadb(:,:,:) ...
REAL(dp),
INTENT(in),
OPTIONAL
:: reflection_z_a ...
REAL(dp),
INTENT(in),
OPTIONAL
:: reflection_z_b ...
LOGICAL,
INTENT(in),
OPTIONAL
:: do_reflection_a ...
LOGICAL,
INTENT(in),
OPTIONAL
:: do_reflection_b ...

SUBROUTINEmp2_eri_3c_integrate(param, para_env, qs_env, first_c, last_c, mat_ab, basis_type_a, basis_type_b, basis_type_c, sab_nl, transp, eri_method, pabc, force_a, force_b, force_c, mat_dabc, mat_adbc, mat_abdc)

high-level integration routine for 3c integrals (ab|c) over CP2K basis sets. For each local function of c, (ab|c) is written to a DBCSR matrix mat_ab.

Arguments:
INTENT(inout)
:: param ...
INTENT(in),
POINTER
:: para_env ...
INTENT(in),
POINTER
:: qs_env ...
INTEGER,
INTENT(in)
:: first_c start index of local range of c
INTEGER,
INTENT(in)
:: last_c end index of local range of c
INTENT(inout)
:: mat_ab(last_c-first_c+1) DBCSR matrices for each c
CHARACTER(*),
INTENT(in)
:: basis_type_a ...
CHARACTER(*),
INTENT(in)
:: basis_type_b ...
CHARACTER(*),
INTENT(in)
:: basis_type_c ...
POINTER
:: sab_nl(:) neighbor list for a, b
LOGICAL,
INTENT(in),
OPTIONAL
:: transp return (c|ab) instead of (ab|c)
INTEGER,
INTENT(in),
OPTIONAL
:: eri_method ...
INTENT(inout),
OPTIONAL
:: pabc(last_c-first_c+1) ...
INTENT(out),
ALLOCATABLE, OPTIONAL
:: force_a(:) ...
INTENT(out),
ALLOCATABLE, OPTIONAL
:: force_b(:) ...
INTENT(out),
ALLOCATABLE, OPTIONAL
:: force_c(:) ...
INTENT(inout),
OPTIONAL
:: mat_dabc(3,last_c-first_c+1) ...
INTENT(inout),
OPTIONAL
:: mat_adbc(3,last_c-first_c+1) ...
INTENT(inout),
OPTIONAL
:: mat_abdc(3,last_c-first_c+1) ...

SUBROUTINEmp2_eri_allocate_forces(force, natom_of_kind)

...

Arguments:
INTENT(out),
ALLOCATABLE
:: force(:) ...
INTEGER,
INTENT(in)
:: natom_of_kind(:) ...

SUBROUTINEmp2_eri_deallocate_forces(force)

...

Arguments:
INTENT(inout),
ALLOCATABLE
:: force(:) ...