![]() |
FrontISTR
5.9.0
Large-scale structural analysis program with finit element method
|
Smoothed Aggregation AMG preconditioner : prolongation. More...
Functions/Subroutines | |
| subroutine, public | hecmw_saamg_tentative (bfine, n, m, nb, aggr, naggr, phat, bcoarse) |
| Build P-hat (n x naggr*m block-CSR) and B_coarse (naggr*m x m) from B_fine. More... | |
| subroutine, public | hecmw_saamg_smooth_prolongator (A, D, omega, phat, p) |
| Smoothed prolongator P = P-hat - omega * D^{-1} (A P-hat), via SpGEMM. Computes A*P-hat once as a sparse product (instead of one full A-matvec per coarse column, which is O(ncoarse * nnz_A)), applies the block-diagonal D^{-1} row-wise, then forms the sparse difference by summing triplets. More... | |
Smoothed Aggregation AMG preconditioner : prolongation.
Two operations:
Coarse layout: aggregate k becomes coarse node k with m dofs; coarse dof (k-1)*m + c. Excluded nodes (aggr=0) get an all-zero P-hat row.
| subroutine, public hecmw_precond_saamg_prolongation::hecmw_saamg_smooth_prolongator | ( | type(hecmwst_saamg_bcsr), intent(in) | A, |
| type(hecmwst_saamg_blockdiag), intent(in) | D, | ||
| real(kind=kreal), intent(in) | omega, | ||
| type(hecmwst_saamg_bcsr), intent(in) | phat, | ||
| type(hecmwst_saamg_bcsr), intent(out) | p | ||
| ) |
Smoothed prolongator P = P-hat - omega * D^{-1} (A P-hat), via SpGEMM. Computes A*P-hat once as a sparse product (instead of one full A-matvec per coarse column, which is O(ncoarse * nnz_A)), applies the block-diagonal D^{-1} row-wise, then forms the sparse difference by summing triplets.
Definition at line 146 of file hecmw_precond_SAAMG_prolongation.F90.
| subroutine, public hecmw_precond_saamg_prolongation::hecmw_saamg_tentative | ( | real(kind=kreal), dimension(n, m), intent(in) | bfine, |
| integer(kind=kint), intent(in) | n, | ||
| integer(kind=kint), intent(in) | m, | ||
| integer(kind=kint), intent(in) | nb, | ||
| integer(kind=kint), dimension(:), intent(in) | aggr, | ||
| integer(kind=kint), intent(in) | naggr, | ||
| type(hecmwst_saamg_bcsr), intent(out) | phat, | ||
| real(kind=kreal), dimension(:,:), intent(out), allocatable | bcoarse | ||
| ) |
Build P-hat (n x naggr*m block-CSR) and B_coarse (naggr*m x m) from B_fine.
Definition at line 32 of file hecmw_precond_SAAMG_prolongation.F90.