![]() |
(git:b77b4be)
|
Routines to calculate 2c- and 3c-integrals for RI with GPW. More...
Functions/Subroutines | |
subroutine, public | mp2_eri_3c_integrate_gpw (psi_l, rho_g, atomic_kind_set, qs_kind_set, cell, dft_control, particle_set, pw_env_sub, external_vector, poisson_env, rho_r, pot_g, potential_parameter, mat_munu, qs_env, task_list_sub) |
... | |
subroutine, public | mp2_eri_2c_integrate_gpw (qs_env, para_env_sub, my_group_l_start, my_group_l_end, natom, potential_parameter, sab_orb_sub, l_local_col, kind_of) |
Integrates the potential of an RI function. | |
subroutine, public | integrate_potential_forces_2c (rho_r, lll, rho_g, atomic_kind_set, qs_kind_set, particle_set, cell, pw_env_sub, poisson_env, pot_g, potential_parameter, use_virial, rho_g_copy, dvg, kind_of, atom_of_kind, g_pq_local, force, h_stress, para_env_sub, dft_control, psi_l, factor) |
Integrates the potential of a RI function obtaining the forces and stress tensor. | |
subroutine, public | integrate_potential_forces_3c_1c (mat_munu, rho_r, matrix_p_munu, qs_env, pw_env_sub, task_list_sub) |
Takes the precomputed potential of an RI wave-function and determines matrix element and gradients with product of Gaussians. | |
subroutine, public | integrate_potential_forces_3c_2c (matrix_p_munu, rho_r, rho_g, task_list_sub, pw_env_sub, potential_parameter, ks_env, poisson_env, pot_g, use_virial, rho_g_copy, dvg, h_stress, para_env_sub, kind_of, atom_of_kind, qs_kind_set, particle_set, cell, lll, force, dft_control) |
Integrates potential of two Gaussians to a potential. | |
subroutine, public | virial_gpw_potential (rho_g_copy, pot_g, rho_g, dvg, h_stress, potential_parameter, para_env_sub) |
Calculates stress tensor contribution from the operator. | |
subroutine, public | prepare_gpw (qs_env, dft_control, e_cutoff_old, cutoff_old, relative_cutoff_old, para_env_sub, pw_env_sub, auxbas_pw_pool, poisson_env, task_list_sub, rho_r, rho_g, pot_g, psi_l, sab_orb_sub) |
Prepares GPW calculation for RI-MP2/RI-RPA. | |
subroutine, public | cleanup_gpw (qs_env, e_cutoff_old, cutoff_old, relative_cutoff_old, para_env_sub, pw_env_sub, task_list_sub, auxbas_pw_pool, rho_r, rho_g, pot_g, psi_l) |
Cleanup GPW integration for RI-MP2/RI-RPA. | |
subroutine, public | calc_potential_gpw (pot_r, rho_g, poisson_env, pot_g, potential_parameter, dvg, no_transfer) |
Calculates potential from a given density in g-space. | |
Routines to calculate 2c- and 3c-integrals for RI with GPW.
subroutine, public mp2_eri_gpw::mp2_eri_3c_integrate_gpw | ( | type(pw_r3d_rs_type), intent(inout) | psi_l, |
type(pw_c1d_gs_type), intent(inout) | rho_g, | ||
type(atomic_kind_type), dimension(:), intent(in), pointer | atomic_kind_set, | ||
type(qs_kind_type), dimension(:), intent(in), pointer | qs_kind_set, | ||
type(cell_type), intent(in), pointer | cell, | ||
type(dft_control_type), intent(in), pointer | dft_control, | ||
type(particle_type), dimension(:), intent(in), pointer | particle_set, | ||
type(pw_env_type), intent(in), pointer | pw_env_sub, | ||
real(kind=dp), dimension(:), intent(in) | external_vector, | ||
type(pw_poisson_type), intent(in), pointer | poisson_env, | ||
type(pw_r3d_rs_type), intent(inout) | rho_r, | ||
type(pw_c1d_gs_type), intent(inout) | pot_g, | ||
type(libint_potential_type), intent(in) | potential_parameter, | ||
type(dbcsr_p_type), intent(inout) | mat_munu, | ||
type(qs_environment_type), intent(in), pointer | qs_env, | ||
type(task_list_type), intent(in), pointer | task_list_sub | ||
) |
...
psi_L | ... |
rho_g | ... |
atomic_kind_set | ... |
qs_kind_set | ... |
cell | ... |
dft_control | ... |
particle_set | ... |
pw_env_sub | ... |
external_vector | ... |
poisson_env | ... |
rho_r | ... |
pot_g | ... |
potential_parameter | ... |
mat_munu | ... |
qs_env | ... |
task_list_sub | ... |
Definition at line 105 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::mp2_eri_2c_integrate_gpw | ( | type(qs_environment_type), intent(in), pointer | qs_env, |
type(mp_para_env_type), intent(in), pointer | para_env_sub, | ||
integer, intent(in) | my_group_l_start, | ||
integer, intent(in) | my_group_l_end, | ||
integer, intent(in) | natom, | ||
type(libint_potential_type), intent(in) | potential_parameter, | ||
type(neighbor_list_set_p_type), dimension(:), intent(in), pointer | sab_orb_sub, | ||
real(kind=dp), dimension(:, :), intent(out) | l_local_col, | ||
integer, dimension(:), intent(in) | kind_of | ||
) |
Integrates the potential of an RI function.
qs_env | ... |
para_env_sub | ... |
my_group_L_start | ... |
my_group_L_end | ... |
natom | ... |
potential_parameter | ... |
sab_orb_sub | ... |
L_local_col | ... |
kind_of | ... |
Definition at line 165 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::integrate_potential_forces_2c | ( | type(pw_r3d_rs_type), intent(inout) | rho_r, |
integer, intent(in) | lll, | ||
type(pw_c1d_gs_type), intent(inout) | rho_g, | ||
type(atomic_kind_type), dimension(:), intent(in), pointer | atomic_kind_set, | ||
type(qs_kind_type), dimension(:), intent(in), pointer | qs_kind_set, | ||
type(particle_type), dimension(:), intent(in), pointer | particle_set, | ||
type(cell_type), intent(in), pointer | cell, | ||
type(pw_env_type), intent(in), pointer | pw_env_sub, | ||
type(pw_poisson_type), intent(in), pointer | poisson_env, | ||
type(pw_c1d_gs_type), intent(inout) | pot_g, | ||
type(libint_potential_type), intent(in) | potential_parameter, | ||
logical, intent(in) | use_virial, | ||
type(pw_c1d_gs_type), intent(inout) | rho_g_copy, | ||
type(pw_c1d_gs_type), dimension(3), intent(inout) | dvg, | ||
integer, dimension(:), intent(in) | kind_of, | ||
integer, dimension(:), intent(in) | atom_of_kind, | ||
real(kind=dp), dimension(:), intent(in) | g_pq_local, | ||
type(qs_force_type), dimension(:), intent(in), pointer | force, | ||
real(kind=dp), dimension(3, 3), intent(inout) | h_stress, | ||
type(mp_para_env_type), intent(in) | para_env_sub, | ||
type(dft_control_type), intent(in), pointer | dft_control, | ||
type(pw_r3d_rs_type), intent(inout) | psi_l, | ||
real(kind=dp), intent(in) | factor | ||
) |
Integrates the potential of a RI function obtaining the forces and stress tensor.
rho_r | ... |
LLL | ... |
rho_g | ... |
atomic_kind_set | ... |
qs_kind_set | ... |
particle_set | ... |
cell | ... |
pw_env_sub | ... |
poisson_env | ... |
pot_g | ... |
potential_parameter | ... |
use_virial | ... |
rho_g_copy | ... |
dvg | ... |
kind_of | ... |
atom_of_kind | ... |
G_PQ_local | ... |
force | ... |
h_stress | ... |
para_env_sub | ... |
dft_control | ... |
psi_L | ... |
factor | ... |
Definition at line 374 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::integrate_potential_forces_3c_1c | ( | type(dbcsr_p_type), intent(inout) | mat_munu, |
type(pw_r3d_rs_type), intent(in) | rho_r, | ||
type(dbcsr_p_type), intent(in) | matrix_p_munu, | ||
type(qs_environment_type), intent(in), pointer | qs_env, | ||
type(pw_env_type), intent(in), pointer | pw_env_sub, | ||
type(task_list_type), intent(inout), pointer | task_list_sub | ||
) |
Takes the precomputed potential of an RI wave-function and determines matrix element and gradients with product of Gaussians.
mat_munu | ... |
rho_r | ... |
matrix_P_munu | ... |
qs_env | ... |
pw_env_sub | ... |
task_list_sub | ... |
Definition at line 465 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::integrate_potential_forces_3c_2c | ( | type(dbcsr_p_type), intent(in) | matrix_p_munu, |
type(pw_r3d_rs_type), intent(inout) | rho_r, | ||
type(pw_c1d_gs_type), intent(inout) | rho_g, | ||
type(task_list_type), intent(in), pointer | task_list_sub, | ||
type(pw_env_type), intent(in), pointer | pw_env_sub, | ||
type(libint_potential_type), intent(in) | potential_parameter, | ||
type(qs_ks_env_type), intent(in), pointer | ks_env, | ||
type(pw_poisson_type), intent(in), pointer | poisson_env, | ||
type(pw_c1d_gs_type), intent(inout) | pot_g, | ||
logical, intent(in) | use_virial, | ||
type(pw_c1d_gs_type), intent(inout) | rho_g_copy, | ||
type(pw_c1d_gs_type), dimension(3), intent(in) | dvg, | ||
real(kind=dp), dimension(3, 3), intent(inout) | h_stress, | ||
type(mp_para_env_type), intent(in) | para_env_sub, | ||
integer, dimension(:), intent(in) | kind_of, | ||
integer, dimension(:), intent(in) | atom_of_kind, | ||
type(qs_kind_type), dimension(:), intent(in), pointer | qs_kind_set, | ||
type(particle_type), dimension(:), intent(in), pointer | particle_set, | ||
type(cell_type), intent(in), pointer | cell, | ||
integer, intent(in) | lll, | ||
type(qs_force_type), dimension(:), intent(in), pointer | force, | ||
type(dft_control_type), intent(in), pointer | dft_control | ||
) |
Integrates potential of two Gaussians to a potential.
matrix_P_munu | ... |
rho_r | ... |
rho_g | ... |
task_list_sub | ... |
pw_env_sub | ... |
potential_parameter | ... |
ks_env | ... |
poisson_env | ... |
pot_g | ... |
use_virial | ... |
rho_g_copy | ... |
dvg | ... |
h_stress | ... |
para_env_sub | ... |
kind_of | ... |
atom_of_kind | ... |
qs_kind_set | ... |
particle_set | ... |
cell | ... |
LLL | ... |
force | ... |
dft_control | ... |
Definition at line 517 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::virial_gpw_potential | ( | type(pw_c1d_gs_type), intent(in) | rho_g_copy, |
type(pw_c1d_gs_type), intent(in) | pot_g, | ||
type(pw_c1d_gs_type), intent(inout) | rho_g, | ||
type(pw_c1d_gs_type), dimension(3), intent(in) | dvg, | ||
real(kind=dp), dimension(3, 3), intent(inout) | h_stress, | ||
type(libint_potential_type), intent(in) | potential_parameter, | ||
type(mp_para_env_type), intent(in) | para_env_sub | ||
) |
Calculates stress tensor contribution from the operator.
rho_g_copy | ... |
pot_g | ... |
rho_g | ... |
dvg | ... |
h_stress | ... |
potential_parameter | ... |
para_env_sub | ... |
Definition at line 715 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::prepare_gpw | ( | type(qs_environment_type), intent(in), pointer | qs_env, |
type(dft_control_type), intent(in), pointer | dft_control, | ||
real(kind=dp), dimension(:), intent(out), allocatable | e_cutoff_old, | ||
real(kind=dp), intent(out) | cutoff_old, | ||
real(kind=dp), intent(out) | relative_cutoff_old, | ||
type(mp_para_env_type), intent(in), pointer | para_env_sub, | ||
type(pw_env_type), pointer | pw_env_sub, | ||
type(pw_pool_type), intent(in), pointer | auxbas_pw_pool, | ||
type(pw_poisson_type), intent(in), pointer | poisson_env, | ||
type(task_list_type), pointer | task_list_sub, | ||
type(pw_r3d_rs_type), intent(out) | rho_r, | ||
type(pw_c1d_gs_type), intent(out) | rho_g, | ||
type(pw_c1d_gs_type), intent(out) | pot_g, | ||
type(pw_r3d_rs_type), intent(out) | psi_l, | ||
type(neighbor_list_set_p_type), dimension(:), intent(in), pointer | sab_orb_sub | ||
) |
Prepares GPW calculation for RI-MP2/RI-RPA.
qs_env | ... |
dft_control | ... |
e_cutoff_old | ... |
cutoff_old | ... |
relative_cutoff_old | ... |
para_env_sub | ... |
pw_env_sub | ... |
auxbas_pw_pool | ... |
poisson_env | ... |
task_list_sub | ... |
rho_r | ... |
rho_g | ... |
pot_g | ... |
psi_L | ... |
sab_orb_sub | ... |
Definition at line 960 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::cleanup_gpw | ( | type(qs_environment_type), intent(in), pointer | qs_env, |
real(kind=dp), dimension(:), intent(in), allocatable | e_cutoff_old, | ||
real(kind=dp), intent(in) | cutoff_old, | ||
real(kind=dp), intent(in) | relative_cutoff_old, | ||
type(mp_para_env_type), intent(in) | para_env_sub, | ||
type(pw_env_type), pointer | pw_env_sub, | ||
type(task_list_type), pointer | task_list_sub, | ||
type(pw_pool_type), intent(in), pointer | auxbas_pw_pool, | ||
type(pw_r3d_rs_type), intent(inout) | rho_r, | ||
type(pw_c1d_gs_type), intent(inout) | rho_g, | ||
type(pw_c1d_gs_type), intent(inout) | pot_g, | ||
type(pw_r3d_rs_type), intent(inout) | psi_l | ||
) |
Cleanup GPW integration for RI-MP2/RI-RPA.
qs_env | ... |
e_cutoff_old | ... |
cutoff_old | ... |
relative_cutoff_old | ... |
para_env_sub | ... |
pw_env_sub | ... |
task_list_sub | ... |
auxbas_pw_pool | ... |
rho_r | ... |
rho_g | ... |
pot_g | ... |
psi_L | ... |
Definition at line 1053 of file mp2_eri_gpw.F.
subroutine, public mp2_eri_gpw::calc_potential_gpw | ( | type(pw_r3d_rs_type), intent(inout) | pot_r, |
type(pw_c1d_gs_type), intent(in) | rho_g, | ||
type(pw_poisson_type), intent(in), pointer | poisson_env, | ||
type(pw_c1d_gs_type), intent(inout) | pot_g, | ||
type(libint_potential_type), intent(in), optional | potential_parameter, | ||
type(pw_c1d_gs_type), dimension(3), intent(inout), optional | dvg, | ||
logical, intent(in), optional | no_transfer | ||
) |
Calculates potential from a given density in g-space.
pot_r | on output: potential in r space |
rho_g | on input: rho in g space |
poisson_env | ... |
pot_g | on output: potential in g space |
potential_parameter | Potential parameters, if not provided, assume Coulomb potential |
dvg | in output: first derivatives of the corresponding Coulomb potential |
no_transfer | whether NOT to transform potential from g-space to r-space (default: do it) |
Definition at line 1104 of file mp2_eri_gpw.F.