![]() |
(git:d3d49ac)
|
GW using RI-RS Approximation for molecules. More...
Functions/Subroutines | |
| subroutine, public | gw_calc_large_cell_gamma_ri_rs (qs_env, bs_env) |
| GW calculation using RI-RS formalism for molecules. | |
| subroutine, public | contract_a_b_a (transa_left, transa_right, matrix_a, matrix_b, matrix_out, eps_filter) |
| Generalized routine to compute OUT = A * B * A^T OR OUT = A^T * B * A using DBCSR. | |
| subroutine, public | hadamard_product_inplace (matrix_a, matrix_b, fac) |
| In-place Hadamard A <- fac * (A ◦ B). Value mutation only (no block insert/delete), so iterating A while writing through the block pointer is safe. | |
| subroutine, public | setup_square_topology (matrix_template, dim_type, square_dist, blk_sizes, mapped_dist) |
| DBCSR Topology Generation. | |
| subroutine, public | release_dbcsr_topology_and_matrices (dist, mapped_dist, m1, m2, m3, m4) |
| DBCSR matrices deallocation. | |
GW using RI-RS Approximation for molecules.
| subroutine, public gw_large_cell_gamma_ri_rs::gw_calc_large_cell_gamma_ri_rs | ( | type(qs_environment_type), pointer | qs_env, |
| type(post_scf_bandstructure_type), pointer | bs_env | ||
| ) |
GW calculation using RI-RS formalism for molecules.
| qs_env | ... |
| bs_env | ... |
Definition at line 106 of file gw_large_cell_gamma_ri_rs.F.
| subroutine, public gw_large_cell_gamma_ri_rs::contract_a_b_a | ( | character(len=1), intent(in) | transa_left, |
| character(len=1), intent(in) | transa_right, | ||
| type(dbcsr_type), intent(inout) | matrix_a, | ||
| type(dbcsr_type), intent(inout) | matrix_b, | ||
| type(dbcsr_type), intent(inout) | matrix_out, | ||
| real(kind=dp), intent(in) | eps_filter | ||
| ) |
Generalized routine to compute OUT = A * B * A^T OR OUT = A^T * B * A using DBCSR.
| transA_left | ... |
| transA_right | ... |
| matrix_A | ... |
| matrix_B | ... |
| matrix_out | ... |
| eps_filter | ... |
Definition at line 1284 of file gw_large_cell_gamma_ri_rs.F.
| subroutine, public gw_large_cell_gamma_ri_rs::hadamard_product_inplace | ( | type(dbcsr_type), intent(inout) | matrix_a, |
| type(dbcsr_type), intent(inout) | matrix_b, | ||
| real(kind=dp), intent(in) | fac | ||
| ) |
In-place Hadamard A <- fac * (A ◦ B). Value mutation only (no block insert/delete), so iterating A while writing through the block pointer is safe.
| matrix_A | in/out factor (overwritten by the product) |
| matrix_B | second factor (looked up; blocks absent in B zero the A block) |
| fac | (Scaling factor applied to the product) |
Definition at line 1372 of file gw_large_cell_gamma_ri_rs.F.
| subroutine, public gw_large_cell_gamma_ri_rs::setup_square_topology | ( | type(dbcsr_type), intent(in) | matrix_template, |
| character(len=*), intent(in) | dim_type, | ||
| type(dbcsr_distribution_type), intent(out) | square_dist, | ||
| integer, dimension(:), intent(out), pointer | blk_sizes, | ||
| integer, dimension(:), intent(out), pointer | mapped_dist | ||
| ) |
DBCSR Topology Generation.
| matrix_template | ... |
| dim_type | ... |
| square_dist | ... |
| blk_sizes | ... |
| mapped_dist | ... |
Definition at line 2023 of file gw_large_cell_gamma_ri_rs.F.
| subroutine, public gw_large_cell_gamma_ri_rs::release_dbcsr_topology_and_matrices | ( | type(dbcsr_distribution_type), intent(inout), optional | dist, |
| integer, dimension(:), intent(inout), optional, pointer | mapped_dist, | ||
| type(dbcsr_type), intent(inout), optional | m1, | ||
| type(dbcsr_type), intent(inout), optional | m2, | ||
| type(dbcsr_type), intent(inout), optional | m3, | ||
| type(dbcsr_type), intent(inout), optional | m4 | ||
| ) |
DBCSR matrices deallocation.
| dist | ... |
| mapped_dist | ... |
| m1 | ... |
| m2 | ... |
| m3 | ... |
| m4 | ... |
Definition at line 2080 of file gw_large_cell_gamma_ri_rs.F.