(git:6a2e663)
mp2_ri_grad_util Module Reference

Routines for calculating RI-MP2 gradients. More...

Functions/Subroutines

subroutine, public complete_gamma (mp2_env, B_ia_Q, dimen_RI, homo, virtual, para_env, para_env_sub, ngroup, my_group_L_size, my_group_L_start, my_group_L_end, my_B_size, my_B_virtual_start, gd_array, gd_B_virtual, kspin)
 complete the calculation of the Gamma matrices More...
 
subroutine, public array2fm (mat2D, fm_struct, my_start_row, my_end_row, my_start_col, my_end_col, gd_row, gd_col, group_grid_2_mepos, ngroup_row, ngroup_col, fm_mat, integ_group_size, color_group, do_release_mat)
 redistribute local part of array to fm More...
 
subroutine, public fm2array (mat2D, my_rows, my_start_row, my_end_row, my_cols, my_start_col, my_end_col, group_grid_2_mepos, mepos_2_grid_group, ngroup_row, ngroup_col, fm_mat)
 redistribute fm to local part of array More...
 
subroutine, public create_dbcsr_gamma (Gamma_2D, homo, virtual, dimen_ia, para_env_sub, my_ia_start, my_ia_end, my_group_L_size, gd_ia, dbcsr_Gamma, mo_coeff_o)
 redistribute 2D representation of 3d tensor to a set of dbcsr matrices More...
 
subroutine, public prepare_redistribution (para_env, para_env_sub, ngroup, group_grid_2_mepos, mepos_2_grid_group, pos_info)
 prepare array for redistribution More...
 

Detailed Description

Routines for calculating RI-MP2 gradients.

History
10.2013 created [Mauro Del Ben]

Function/Subroutine Documentation

◆ complete_gamma()

subroutine, public mp2_ri_grad_util::complete_gamma ( type(mp2_type)  mp2_env,
real(kind=dp), dimension(:, :, :), intent(inout), allocatable  B_ia_Q,
integer, intent(in)  dimen_RI,
integer, intent(in)  homo,
integer, intent(in)  virtual,
type(mp_para_env_type), intent(in), pointer  para_env,
type(mp_para_env_type), intent(in), pointer  para_env_sub,
integer, intent(in)  ngroup,
integer, intent(in)  my_group_L_size,
integer, intent(in)  my_group_L_start,
integer, intent(in)  my_group_L_end,
integer, intent(in)  my_B_size,
integer, intent(in)  my_B_virtual_start,
type(group_dist_d1_type), intent(in)  gd_array,
type(group_dist_d1_type), intent(in)  gd_B_virtual,
integer, intent(in)  kspin 
)

complete the calculation of the Gamma matrices

Parameters
mp2_env...
B_ia_Q...
dimen_RI...
homo...
virtual...
para_env...
para_env_sub...
ngroup...
my_group_L_size...
my_group_L_start...
my_group_L_end...
my_B_size...
my_B_virtual_start...
gd_array...
gd_B_virtual...
kspin...
Author
Mauro Del Ben

Definition at line 81 of file mp2_ri_grad_util.F.

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

◆ array2fm()

subroutine, public mp2_ri_grad_util::array2fm ( real(kind=dp), dimension(:, :), intent(inout), allocatable  mat2D,
type(cp_fm_struct_type), pointer  fm_struct,
integer, intent(in)  my_start_row,
integer, intent(in)  my_end_row,
integer, intent(in)  my_start_col,
integer, intent(in)  my_end_col,
type(group_dist_d1_type), intent(in)  gd_row,
type(group_dist_d1_type), intent(in)  gd_col,
integer, dimension(:, :), intent(in), allocatable  group_grid_2_mepos,
integer, intent(in)  ngroup_row,
integer, intent(in)  ngroup_col,
type(cp_fm_type), intent(out)  fm_mat,
integer, intent(in), optional  integ_group_size,
integer, intent(in), optional  color_group,
logical, intent(in), optional  do_release_mat 
)

redistribute local part of array to fm

Parameters
mat2D...
fm_struct...
my_start_row...
my_end_row...
my_start_col...
my_end_col...
gd_row...
gd_col...
group_grid_2_mepos...
ngroup_row...
ngroup_col...
fm_mat...
integ_group_size...
color_group...
do_release_matwhether to release the array (default: yes)

Definition at line 490 of file mp2_ri_grad_util.F.

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

◆ fm2array()

subroutine, public mp2_ri_grad_util::fm2array ( real(kind=dp), dimension(:, :), intent(out), allocatable  mat2D,
integer, intent(in)  my_rows,
integer, intent(in)  my_start_row,
integer, intent(in)  my_end_row,
integer, intent(in)  my_cols,
integer, intent(in)  my_start_col,
integer, intent(in)  my_end_col,
integer, dimension(:, :), intent(in), allocatable  group_grid_2_mepos,
integer, dimension(:, :), intent(in), allocatable  mepos_2_grid_group,
integer, intent(in)  ngroup_row,
integer, intent(in)  ngroup_col,
type(cp_fm_type), intent(inout)  fm_mat 
)

redistribute fm to local part of array

Parameters
mat2D...
my_rows...
my_start_row...
my_end_row...
my_cols...
my_start_col...
my_end_col...
group_grid_2_mepos...
mepos_2_grid_group...
ngroup_row...
ngroup_col...
fm_mat...

Definition at line 897 of file mp2_ri_grad_util.F.

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

◆ create_dbcsr_gamma()

subroutine, public mp2_ri_grad_util::create_dbcsr_gamma ( real(kind=dp), dimension(:, :), allocatable  Gamma_2D,
integer, intent(in)  homo,
integer, intent(in)  virtual,
integer, intent(in)  dimen_ia,
type(mp_para_env_type), intent(in), pointer  para_env_sub,
integer, intent(in)  my_ia_start,
integer, intent(in)  my_ia_end,
integer, intent(in)  my_group_L_size,
type(group_dist_d1_type), intent(in)  gd_ia,
type(dbcsr_p_type), dimension(:), intent(inout)  dbcsr_Gamma,
type(dbcsr_type), intent(inout)  mo_coeff_o 
)

redistribute 2D representation of 3d tensor to a set of dbcsr matrices

Parameters
Gamma_2D...
homo...
virtual...
dimen_ia...
para_env_sub...
my_ia_start...
my_ia_end...
my_group_L_size...
gd_ia...
dbcsr_Gamma...
mo_coeff_o...

Definition at line 1251 of file mp2_ri_grad_util.F.

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

◆ prepare_redistribution()

subroutine, public mp2_ri_grad_util::prepare_redistribution ( type(mp_para_env_type), intent(in)  para_env,
type(mp_para_env_type), intent(in)  para_env_sub,
integer, intent(in)  ngroup,
integer, dimension(:, :), intent(out), allocatable  group_grid_2_mepos,
integer, dimension(:, :), intent(out), allocatable  mepos_2_grid_group,
integer, dimension(:), intent(out), optional, allocatable  pos_info 
)

prepare array for redistribution

Parameters
para_env...
para_env_sub...
ngroup...
group_grid_2_mepos...
mepos_2_grid_group...
pos_info...

Definition at line 1587 of file mp2_ri_grad_util.F.

Here is the caller graph for this function: