![]() |
FrontISTR
5.9.0
Large-scale structural analysis program with finit element method
|
Smoothed Aggregation AMG preconditioner : coarsest-level solver. More...
Functions/Subroutines | |
| subroutine, public | hecmw_saamg_coarse_setup (Ac, symmetric, cs) |
| Densify Ac and factor it: symmetric -> LDL^T (dsytrf), else -> LU (dgetrf, for a non-symmetric coarse operator). bcsr_to_dense yields the full matrix, so LU is correct for non-symmetric A (dsytrf would use only the lower triangle). More... | |
| subroutine, public | hecmw_saamg_coarse_solve (cs, b, x) |
| Solve Ac x = b using the stored LDL^T factors. More... | |
| subroutine, public | hecmw_saamg_coarse_free (cs) |
Smoothed Aggregation AMG preconditioner : coarsest-level solver.
Abstract coarsest-solver interface (setup_structure / setup_values / solve); the first backend is a redundant dense symmetric LDL^T factorization (LAPACK dsytrf/dsytrs). dsytrf (not dpotrf) is used so the same backend handles the symmetric-indefinite coarse matrices of the future u-p extension. In the MPI phase the coarse matrix will be Allgather'd and factored redundantly on every rank; here (sequential) the level matrix is simply densified in place.
| subroutine, public hecmw_precond_saamg_coarse::hecmw_saamg_coarse_free | ( | type(hecmwst_saamg_coarse), intent(inout) | cs | ) |
Definition at line 134 of file hecmw_precond_SAAMG_coarse.F90.
| subroutine, public hecmw_precond_saamg_coarse::hecmw_saamg_coarse_setup | ( | type(hecmwst_saamg_bcsr), intent(in) | Ac, |
| logical, intent(in) | symmetric, | ||
| type(hecmwst_saamg_coarse), intent(out) | cs | ||
| ) |
Densify Ac and factor it: symmetric -> LDL^T (dsytrf), else -> LU (dgetrf, for a non-symmetric coarse operator). bcsr_to_dense yields the full matrix, so LU is correct for non-symmetric A (dsytrf would use only the lower triangle).
Definition at line 41 of file hecmw_precond_SAAMG_coarse.F90.
| subroutine, public hecmw_precond_saamg_coarse::hecmw_saamg_coarse_solve | ( | type(hecmwst_saamg_coarse), intent(in) | cs, |
| real(kind=kreal), dimension(:), intent(in) | b, | ||
| real(kind=kreal), dimension(:), intent(out) | x | ||
| ) |
Solve Ac x = b using the stored LDL^T factors.
Definition at line 110 of file hecmw_precond_SAAMG_coarse.F90.