(git:f2099e5)
Loading...
Searching...
No Matches
gw_ri_rs_non_periodic Module Reference

GW using RI-RS Approximation for molecules. More...

Functions/Subroutines

subroutine, public gw_calc_ri_rs_non_periodic (qs_env, bs_env)
 GW calculation using RI-RS formalism for molecules.
subroutine, public atomic_basis_at_grid_point (bs_env, ri_rs_grid_points, mat_phi_mu_l)
 Evaluates the AO basis on the RI-RS grid and stores it as the sparse DBCSR matrix ϕ_μl = ϕ_μ(r_l) (rows = grid points in atom-aligned blocks of at most max_elements_per_block points, columns = one block per atom's full AO set). Grid points outside the reach of an atom's most diffuse Gaussian (or the CUTOFF_RADIUS_RL_AO) are skipped, and only blocks with at least one element > eps_filter are stored. This locality is the source of ALL grid-dimension sparsity used downstream. Also caches the atom centers and the per-chunk centroids needed by the optional CUTOFF_RADIUS_G_W / CUTOFF_RADIUS_RL_W operator truncations.
subroutine, public reserve_blocks_within_radius (matrix, centers, radius)
 Pre-seeds a square blocked DBCSR matrix with zero blocks only for block pairs whose centers lie within radius, for use with copy_fm_to_dbcsr(keep_sparsity=T) or dbcsr_multiply(retain_sparsity=T). Consumers: the CUTOFF_RADIUS_G_W operator truncation (atom-blocked, centers = atom_centers) and the RT-BSE CUTOFF_RADIUS_W0 truncation of the grid-basis W^0 (grid-blocked, centers = chunk_centroids).

Detailed Description

GW using RI-RS Approximation for molecules.

History
04.2026 created [Ritaj Tyagi]

Function/Subroutine Documentation

◆ gw_calc_ri_rs_non_periodic()

subroutine, public gw_ri_rs_non_periodic::gw_calc_ri_rs_non_periodic ( type(qs_environment_type), pointer qs_env,
type(post_scf_bandstructure_type), pointer bs_env )

GW calculation using RI-RS formalism for molecules.

Parameters
qs_env...
bs_envBand-structure environment containing GW parameters.

Definition at line 98 of file gw_ri_rs_non_periodic.F.

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

◆ atomic_basis_at_grid_point()

subroutine, public gw_ri_rs_non_periodic::atomic_basis_at_grid_point ( type(post_scf_bandstructure_type), pointer bs_env,
real(kind=dp), dimension(:, :), intent(inout), allocatable ri_rs_grid_points,
type(dbcsr_type), intent(out) mat_phi_mu_l )

Evaluates the AO basis on the RI-RS grid and stores it as the sparse DBCSR matrix ϕ_μl = ϕ_μ(r_l) (rows = grid points in atom-aligned blocks of at most max_elements_per_block points, columns = one block per atom's full AO set). Grid points outside the reach of an atom's most diffuse Gaussian (or the CUTOFF_RADIUS_RL_AO) are skipped, and only blocks with at least one element > eps_filter are stored. This locality is the source of ALL grid-dimension sparsity used downstream. Also caches the atom centers and the per-chunk centroids needed by the optional CUTOFF_RADIUS_G_W / CUTOFF_RADIUS_RL_W operator truncations.

Parameters
bs_env...
ri_rs_grid_points...
mat_phi_mu_l...

Definition at line 491 of file gw_ri_rs_non_periodic.F.

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

◆ reserve_blocks_within_radius()

subroutine, public gw_ri_rs_non_periodic::reserve_blocks_within_radius ( type(dbcsr_type), intent(inout) matrix,
real(kind=dp), dimension(:, :), intent(in) centers,
real(kind=dp), intent(in) radius )

Pre-seeds a square blocked DBCSR matrix with zero blocks only for block pairs whose centers lie within radius, for use with copy_fm_to_dbcsr(keep_sparsity=T) or dbcsr_multiply(retain_sparsity=T). Consumers: the CUTOFF_RADIUS_G_W operator truncation (atom-blocked, centers = atom_centers) and the RT-BSE CUTOFF_RADIUS_W0 truncation of the grid-basis W^0 (grid-blocked, centers = chunk_centroids).

Parameters
matrix...
centersblock positions, one column per block row/column of matrix
radiustruncation radius, same units as centers (bohr)

Definition at line 1595 of file gw_ri_rs_non_periodic.F.

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