(git:6344619)
Loading...
Searching...
No Matches
ri_rs_matrices.F File Reference

Go to the source code of this file.

Modules

module  ri_rs_matrices
 DBCSR collocation, layouts and panel contractions for real-space resolution of the identity.

Functions/Subroutines

subroutine, public ri_rs_matrices::atomic_basis_at_grid_point (ri_rs, basis_set_ao, matrix_template, para_env, eps_filter, msg_elem_limit, unit_nr, periodic_images)
 Builds the grid-by-AO collocation matrix with bounded dense evaluation panels. The molecular path uses atom-aligned row blocks and minimum-image AO values. The Gamma path uses uniform row blocks and sums neighbouring periodic images.
subroutine, public ri_rs_matrices::setup_square_topology (matrix_template, dim_type, square_dist, blk_sizes, mapped_dist)
 Creates a square topology from a selected row or column layout.
subroutine, public ri_rs_matrices::release_dbcsr_topology_and_matrices (dist, mapped_dist, m1, m2, m3, m4)
 Releases RI-RS topology mappings and temporary DBCSR matrices.
subroutine, public ri_rs_matrices::reserve_blocks_within_radius (matrix, centers, radius)
 Reserves grid blocks with block-centre distances within a fixed radius.
subroutine, public ri_rs_matrices::print_matrix_occupation (matrix, label, para_env, unit_nr, msg_elem_limit, suffix)
 Prints the percentage of non-zero elements in a distributed RI-RS matrix.
subroutine, public ri_rs_matrices::mask_grid_blocks_near_panel (centroids, blk0, blk1, cutoff, used)
 Marks the grid blocks whose centroid lies within cutoff of the bounding box of the panel [blk0, blk1]'s chunk centroids.
subroutine, public ri_rs_matrices::panel_template_elems (r_blk_sizes, centroids, used, blk0, blk1, cutoff, nze_tmpl)
 Exact allocated-element count of the geo template of panel [blk0, blk1]: the very same per-block-pair centroid test as build_geo_template_panel, so this is the true DBCSR data size of A_pan/B_pan (DBCSR stores whole blocks).
subroutine, public ri_rs_matrices::panel_mem_estimate_gb (nze_tmpl, pan_rows, width, n_grid_total, n_ri, n_ao, n_procs, mem_gb)
 Per-rank peak memory (GB) of one panel step of the neighborhood-restricted contractions: up to three grid x grid panels (two A operands and the shared B operand) plus the grid x RI intermediates (tmp2 and the accumulation operand) and the grid x AO intermediate (tmpA), whose column support is the panel's geometric neighborhood fraction f_near = width/n_grid. Used by planning and memory reporting.
subroutine, public ri_rs_matrices::contract_grid_panels (l_a, m_a, l_b, m_b, l_out, mat_out, scale, eps, para_env, pan_first, pan_last, lb_eq_la, lout_eq_la, zero_out, centroids, cutoff, grid_occupation)
 Projects two operators onto grid panels, takes their Hadamard product, and back-projects it: out += scale * L_out^T (A_grid ∘ B_grid) L_out, where A_grid = L_A M_A L_A^T and B_grid = L_B M_B L_B^T. Each L has shape (grid, basis), and its M has shape (basis, basis). The three L matrices must share the ordered grid rows, row blocking and process grid. Only panel x grid slabs are formed; contributions are accumulated over all panels. The sequence of EPS_FILTER screening and floating-point reductions may differ from a full-grid evaluation.
subroutine, public ri_rs_matrices::build_ri_rs_bare_aux_interaction (qs_env, metric_inverse, trunc_coulomb, auto_ri, mat_z_lp, matrix_v_aux)
 Build the unfiltered auxiliary interaction M^-1 V^tr M^-1 in the Z-column layout. AUTO_RI uses its already transformed Coulomb matrix in the optimized auxiliary basis. Filtering and cache lifetime are owned by the caller.
subroutine, public ri_rs_matrices::resolve_grid_panels (ri_rs, para_env, msg_elem_limit, pan_first, pan_last, cutoff)
 Resolve and cache grid-panel boundaries for RI-RS streaming contractions.