(git:691081d)
Loading...
Searching...
No Matches
rpa_im_time Module Reference

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

Functions/Subroutines

subroutine, public create_propagator_matrix_set (propagator, ntime, matrix_template, index_to_cell)
 Creates the sector-, time-, and cell-resolved propagator matrix set.
subroutine, public compute_mat_p_omega (mat_p_omega, cfm_mo_coeff, homo, 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, grid, e_fermi, eps_filter, alpha, eps_filter_im_time, eigenval, nmo, 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)
 ...
subroutine, public zero_mat_p_omega (mat_p_omega)
 ...
subroutine, public compute_mat_dm_global (grid, nmo, cfm_mo_coeff, homo, propagator, 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)
 ...
subroutine, public compute_gamma_propagator (propagator, jquad, cfm_mo_coeff, homo, eigenval, nmo, eps_filter, e_fermi, tau, para_env)
 Builds the Gamma-point occupied and virtual propagators.
subroutine, public compute_transl_dm (propagator, qs_env, ispin, num_integ_points, jquad, e_fermi, tau, eps_filter, num_cells_dm, index_to_cell_dm, sector)
 ...
subroutine, public compute_periodic_dm (propagator, qs_env, ispin, num_integ_points, jquad, e_fermi, tau, sector)
 ...
subroutine, public init_cell_index_rpa (cell_grid, cell_to_index, index_to_cell, cell)
 ...

Variables

integer, parameter, public propagator_sector_occupied = 1
integer, parameter, public propagator_sector_virtual = 2
integer, parameter, public propagator_number_of_sectors = 2

Detailed Description

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

History
10.2015 created [Jan Wilhelm]

Function/Subroutine Documentation

◆ create_propagator_matrix_set()

subroutine, public rpa_im_time::create_propagator_matrix_set ( type(dbcsr_p_type), dimension(:, :, :), pointer propagator,
integer, intent(in) ntime,
type(dbcsr_type), intent(in) matrix_template,
integer, dimension(:, :), intent(in) index_to_cell )

Creates the sector-, time-, and cell-resolved propagator matrix set.

Parameters
propagatorpropagator matrix set to create
ntimenumber of time or frequency points
matrix_templateDBCSR matrix template for every matrix
index_to_cellcell coordinates for the third matrix-set index

Definition at line 96 of file rpa_im_time.F.

Here is the caller graph for this function:

◆ 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_cfm_type), intent(in) cfm_mo_coeff,
integer, intent(in) homo,
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,
type(time_frequency_grid_type), intent(in) grid,
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) 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...
cfm_mo_coeff...
homo...
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...
grid...
e_fermi...
eps_filter...
alpha...
eps_filter_im_time...
Eigenval...
nmo...
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 160 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 653 of file rpa_im_time.F.

Here is the call graph for this function:

◆ compute_mat_dm_global()

subroutine, public rpa_im_time::compute_mat_dm_global ( type(time_frequency_grid_type), intent(in) grid,
integer, intent(in) nmo,
type(cp_cfm_type), intent(in) cfm_mo_coeff,
integer, intent(in) homo,
type(dbcsr_p_type), dimension(:, :, :), intent(inout), pointer propagator,
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
grid...
nmo...
cfm_mo_coeff...
homo...
propagator...
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 690 of file rpa_im_time.F.

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

◆ compute_gamma_propagator()

subroutine, public rpa_im_time::compute_gamma_propagator ( type(dbcsr_p_type), dimension(:, :, :), intent(inout), pointer propagator,
integer, intent(in) jquad,
type(cp_cfm_type), intent(in) cfm_mo_coeff,
integer, intent(in) homo,
real(kind=dp), dimension(:), intent(in) eigenval,
integer, intent(in) nmo,
real(kind=dp), intent(in) eps_filter,
real(kind=dp), intent(in) e_fermi,
real(kind=dp), intent(in) tau,
type(mp_para_env_type), intent(in) para_env )

Builds the Gamma-point occupied and virtual propagators.

Parameters
propagatorsector/time/cell propagator matrix set
jquadtime-point index
cfm_mo_coeffcomplete MO coefficient matrix
homonumber of occupied orbitals
Eigenvalorbital energies
nmonumber of orbitals
eps_filterDBCSR filtering threshold
e_fermiFermi energy
tauimaginary time
para_envparallel environment

Definition at line 794 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(:, :, :), intent(inout), pointer propagator,
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,
integer, intent(in) sector )

...

Parameters
propagator...
qs_env...
ispin...
num_integ_points...
jquad...
e_fermi...
tau...
eps_filter...
num_cells_dm...
index_to_cell_dm...
sector...

Definition at line 988 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(:, :, :), intent(inout), pointer propagator,
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,
integer, intent(in) sector )

...

Parameters
propagator...
qs_env...
ispin...
num_integ_points...
jquad...
e_fermi...
tau...
sector...

Definition at line 1092 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 1377 of file rpa_im_time.F.

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

Variable Documentation

◆ propagator_sector_occupied

integer, parameter, public rpa_im_time::propagator_sector_occupied = 1

Definition at line 74 of file rpa_im_time.F.

◆ propagator_sector_virtual

integer, parameter, public rpa_im_time::propagator_sector_virtual = 2

Definition at line 75 of file rpa_im_time.F.

◆ propagator_number_of_sectors

integer, parameter, public rpa_im_time::propagator_number_of_sectors = 2

Definition at line 76 of file rpa_im_time.F.