|
| subroutine | nonlocal_overlap_matrix_oct_m::overlap_matrix_detect (this, nmat, projector_matrices, projector_to_atom, epot, space, self_overlap) |
| | Detect distinct-atom projector overlap and group the projector matrices into the connected components (clusters) of the overlap graph. Sets use_global_coupling and fills clusters when at least one cluster spans more than one matrix or a sphere overlaps its own periodic images; otherwise the per-atom (block-diagonal) inverse is exact and nothing is grouped. More...
|
| |
| recursive integer function | nonlocal_overlap_matrix_oct_m::uf_find (parent, ii) |
| | Union-find "find" with path compression (roots of the projector-overlap graph). More...
|
| |
| subroutine | nonlocal_overlap_matrix_oct_m::uf_union (parent, ii, jj) |
| | Union-find "union" of two projector matrices into one cluster. More...
|
| |
| subroutine | nonlocal_overlap_matrix_oct_m::overlap_matrix_build (this, projector_matrices, projector_phases, mesh, kstart, kend) |
| | Assemble the exact inverse-overlap coupling -T for each overlap cluster. More...
|
| |
| subroutine | fill_phased_ket (im, ik, zg) |
| |
| subroutine | accumulate_gram (pmI, pmJ, zgI, zgJ, mmat, oa, ob) |
| |
| subroutine | nonlocal_overlap_matrix_oct_m::overlap_matrix_end (this) |
| | Release the exact inverse-overlap cluster data. More...
|
| |
| subroutine | nonlocal_overlap_matrix_oct_m::doverlap_matrix_apply (this, projector_matrices, proj, nst_linear, ik) |
| | Apply the exact inverse-overlap coupling p` = -T p (mix = -T stored per cluster), dense within each overlap cluster, to the already domain-reduced projection vector, in place. Replaces the per-matrix block-diagonal coupling; the caller`s subsequent scatter reads the coupled slices. proj is the projection vector (nst_linear, full_projection_size); its per-matrix slice starts at thisproj_offset(im). More...
|
| |
| subroutine | nonlocal_overlap_matrix_oct_m::zoverlap_matrix_apply (this, projector_matrices, proj, nst_linear, ik) |
| | Apply the exact inverse-overlap coupling p` = -T p (mix = -T stored per cluster), dense within each overlap cluster, to the already domain-reduced projection vector, in place. Replaces the per-matrix block-diagonal coupling; the caller`s subsequent scatter reads the coupled slices. proj is the projection vector (nst_linear, full_projection_size); its per-matrix slice starts at thisproj_offset(im). More...
|
| |