(git:6a2e663)
rpa_im_time Module Reference

Routines for low-scaling RPA/GW with imaginary time. More...

Functions/Subroutines

subroutine, public compute_mat_p_omega (mat_P_omega, fm_scaled_dm_occ_tau, fm_scaled_dm_virt_tau, fm_mo_coeff_occ, fm_mo_coeff_virt, fm_mo_coeff_occ_scaled, fm_mo_coeff_virt_scaled, mat_P_global, matrix_s, ispin, t_3c_M, t_3c_O, t_3c_O_compressed, t_3c_O_ind, starts_array_mc, ends_array_mc, starts_array_mc_block, ends_array_mc_block, weights_cos_tf_t_to_w, tj, tau_tj, e_fermi, eps_filter, alpha, eps_filter_im_time, Eigenval, nmo, num_integ_points, cut_memory, unit_nr, mp2_env, para_env, qs_env, do_kpoints_from_Gamma, index_to_cell_3c, cell_to_index_3c, has_mat_P_blocks, do_ri_sos_laplace_mp2, dbcsr_time, dbcsr_nflop)
 ... More...
 
subroutine, public zero_mat_p_omega (mat_P_omega)
 ... More...
 
subroutine, public compute_mat_dm_global (fm_scaled_dm_occ_tau, fm_scaled_dm_virt_tau, tau_tj, num_integ_points, nmo, fm_mo_coeff_occ, fm_mo_coeff_virt, fm_mo_coeff_occ_scaled, fm_mo_coeff_virt_scaled, mat_dm_occ_global, mat_dm_virt_global, matrix_s, ispin, Eigenval, e_fermi, eps_filter, memory_info, unit_nr, jquad, do_kpoints_cubic_RPA, do_kpoints_from_Gamma, qs_env, num_cells_dm, index_to_cell_dm, para_env)
 ... More...
 
subroutine, public compute_transl_dm (mat_dm_global, qs_env, ispin, num_integ_points, jquad, e_fermi, tau, eps_filter, num_cells_dm, index_to_cell_dm, remove_occ, remove_virt, first_jquad)
 ... More...
 
subroutine, public compute_periodic_dm (mat_dm_global, qs_env, ispin, num_integ_points, jquad, e_fermi, tau, remove_occ, remove_virt, alloc_dm)
 ... More...
 
subroutine, public init_cell_index_rpa (cell_grid, cell_to_index, index_to_cell, cell)
 ... More...
 

Detailed Description

Routines for low-scaling RPA/GW with imaginary time.

History
10.2015 created [Jan Wilhelm]

Function/Subroutine Documentation

◆ compute_mat_p_omega()

subroutine, public rpa_im_time::compute_mat_p_omega ( type(dbcsr_p_type), dimension(:, :), intent(in)  mat_P_omega,
type(cp_fm_type), intent(in)  fm_scaled_dm_occ_tau,
type(cp_fm_type), intent(in)  fm_scaled_dm_virt_tau,
type(cp_fm_type), intent(in)  fm_mo_coeff_occ,
type(cp_fm_type), intent(in)  fm_mo_coeff_virt,
type(cp_fm_type), intent(in)  fm_mo_coeff_occ_scaled,
type(cp_fm_type), intent(in)  fm_mo_coeff_virt_scaled,
type(dbcsr_p_type), intent(inout)  mat_P_global,
type(dbcsr_p_type), dimension(:), pointer  matrix_s,
integer, intent(in)  ispin,
type(dbt_type), intent(inout)  t_3c_M,
type(dbt_type), dimension(:, :), intent(inout)  t_3c_O,
type(hfx_compression_type), dimension(:, :, :), intent(inout)  t_3c_O_compressed,
type(block_ind_type), dimension(:, :, :), intent(inout)  t_3c_O_ind,
integer, dimension(:), intent(in)  starts_array_mc,
integer, dimension(:), intent(in)  ends_array_mc,
integer, dimension(:), intent(in)  starts_array_mc_block,
integer, dimension(:), intent(in)  ends_array_mc_block,
real(kind=dp), dimension(:, :), intent(in), allocatable  weights_cos_tf_t_to_w,
real(kind=dp), dimension(:), intent(in), allocatable  tj,
real(kind=dp), dimension(0:num_integ_points), intent(in)  tau_tj,
real(kind=dp), intent(in)  e_fermi,
real(kind=dp), intent(in)  eps_filter,
real(kind=dp), intent(in)  alpha,
real(kind=dp), intent(in)  eps_filter_im_time,
real(kind=dp), dimension(:), intent(in)  Eigenval,
integer, intent(in)  nmo,
integer, intent(in)  num_integ_points,
integer, intent(in)  cut_memory,
integer, intent(in)  unit_nr,
type(mp2_type)  mp2_env,
type(mp_para_env_type), intent(in)  para_env,
type(qs_environment_type), pointer  qs_env,
logical, intent(in)  do_kpoints_from_Gamma,
integer, dimension(:, :), intent(in), allocatable  index_to_cell_3c,
integer, dimension(:, :, :), intent(in), allocatable  cell_to_index_3c,
logical, dimension(:, :, :, :, :), intent(inout)  has_mat_P_blocks,
logical, intent(in)  do_ri_sos_laplace_mp2,
real(dp), intent(inout)  dbcsr_time,
integer(int_8), intent(inout)  dbcsr_nflop 
)

...

Parameters
mat_P_omega...
fm_scaled_dm_occ_tau...
fm_scaled_dm_virt_tau...
fm_mo_coeff_occ...
fm_mo_coeff_virt...
fm_mo_coeff_occ_scaled...
fm_mo_coeff_virt_scaled...
mat_P_global...
matrix_s...
ispin...
t_3c_M...
t_3c_O...
t_3c_O_compressed...
t_3c_O_ind...
starts_array_mc...
ends_array_mc...
starts_array_mc_block...
ends_array_mc_block...
weights_cos_tf_t_to_w...
tj...
tau_tj...
e_fermi...
eps_filter...
alpha...
eps_filter_im_time...
Eigenval...
nmo...
num_integ_points...
cut_memory...
unit_nr...
mp2_env...
para_env...
qs_env...
do_kpoints_from_Gamma...
index_to_cell_3c...
cell_to_index_3c...
has_mat_P_blocks...
do_ri_sos_laplace_mp2...
dbcsr_time...
dbcsr_nflop...

Definition at line 121 of file rpa_im_time.F.

Here is the call graph for this function:

◆ zero_mat_p_omega()

subroutine, public rpa_im_time::zero_mat_p_omega ( type(dbcsr_p_type), dimension(:, :), intent(in)  mat_P_omega)

...

Parameters
mat_P_omega...

Definition at line 615 of file rpa_im_time.F.

◆ compute_mat_dm_global()

subroutine, public rpa_im_time::compute_mat_dm_global ( type(cp_fm_type), intent(in)  fm_scaled_dm_occ_tau,
type(cp_fm_type), intent(in)  fm_scaled_dm_virt_tau,
real(kind=dp), dimension(0:num_integ_points), intent(in)  tau_tj,
integer, intent(in)  num_integ_points,
integer, intent(in)  nmo,
type(cp_fm_type), intent(in)  fm_mo_coeff_occ,
type(cp_fm_type), intent(in)  fm_mo_coeff_virt,
type(cp_fm_type), intent(in)  fm_mo_coeff_occ_scaled,
type(cp_fm_type), intent(in)  fm_mo_coeff_virt_scaled,
type(dbcsr_p_type), dimension(:, :), pointer  mat_dm_occ_global,
type(dbcsr_p_type), dimension(:, :), pointer  mat_dm_virt_global,
type(dbcsr_p_type), dimension(:), intent(in)  matrix_s,
integer, intent(in)  ispin,
real(kind=dp), dimension(:), intent(in)  Eigenval,
real(kind=dp), intent(in)  e_fermi,
real(kind=dp), intent(in)  eps_filter,
logical, intent(in)  memory_info,
integer, intent(in)  unit_nr,
integer, intent(in)  jquad,
logical, intent(in)  do_kpoints_cubic_RPA,
logical, intent(in)  do_kpoints_from_Gamma,
type(qs_environment_type), pointer  qs_env,
integer, intent(out)  num_cells_dm,
integer, dimension(:, :), pointer  index_to_cell_dm,
type(mp_para_env_type), intent(in)  para_env 
)

...

Parameters
fm_scaled_dm_occ_tau...
fm_scaled_dm_virt_tau...
tau_tj...
num_integ_points...
nmo...
fm_mo_coeff_occ...
fm_mo_coeff_virt...
fm_mo_coeff_occ_scaled...
fm_mo_coeff_virt_scaled...
mat_dm_occ_global...
mat_dm_virt_global...
matrix_s...
ispin...
Eigenval...
e_fermi...
eps_filter...
memory_info...
unit_nr...
jquad...
do_kpoints_cubic_RPA...
do_kpoints_from_Gamma...
qs_env...
num_cells_dm...
index_to_cell_dm...
para_env...

Definition at line 658 of file rpa_im_time.F.

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

◆ compute_transl_dm()

subroutine, public rpa_im_time::compute_transl_dm ( type(dbcsr_p_type), dimension(:, :), pointer  mat_dm_global,
type(qs_environment_type), pointer  qs_env,
integer, intent(in)  ispin,
integer, intent(in)  num_integ_points,
integer, intent(in)  jquad,
real(kind=dp), intent(in)  e_fermi,
real(kind=dp), intent(in)  tau,
real(kind=dp), intent(in)  eps_filter,
integer, intent(out)  num_cells_dm,
integer, dimension(:, :), pointer  index_to_cell_dm,
logical, intent(in)  remove_occ,
logical, intent(in)  remove_virt,
integer, intent(in)  first_jquad 
)

...

Parameters
mat_dm_global...
qs_env...
ispin...
num_integ_points...
jquad...
e_fermi...
tau...
eps_filter...
num_cells_dm...
index_to_cell_dm...
remove_occ...
remove_virt...
first_jquad...

Definition at line 1010 of file rpa_im_time.F.

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

◆ compute_periodic_dm()

subroutine, public rpa_im_time::compute_periodic_dm ( type(dbcsr_p_type), dimension(:, :), pointer  mat_dm_global,
type(qs_environment_type), pointer  qs_env,
integer, intent(in)  ispin,
integer, intent(in)  num_integ_points,
integer, intent(in)  jquad,
real(kind=dp), intent(in)  e_fermi,
real(kind=dp), intent(in)  tau,
logical, intent(in)  remove_occ,
logical, intent(in)  remove_virt,
logical, intent(in)  alloc_dm 
)

...

Parameters
mat_dm_global...
qs_env...
ispin...
num_integ_points...
jquad...
e_fermi...
tau...
remove_occ...
remove_virt...
alloc_dm...

Definition at line 1132 of file rpa_im_time.F.

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

◆ init_cell_index_rpa()

subroutine, public rpa_im_time::init_cell_index_rpa ( integer, dimension(3), intent(in)  cell_grid,
integer, dimension(:, :, :), pointer  cell_to_index,
integer, dimension(:, :), pointer  index_to_cell,
type(cell_type), intent(in), pointer  cell 
)

...

Parameters
cell_grid...
cell_to_index...
index_to_cell...
cell...

Definition at line 1422 of file rpa_im_time.F.

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