|
ESYS13
Revision_
|
#include "Paso.h"#include "Preconditioner.h"#include "Options.h"#include "PasoUtil.h"#include "UMFPACK.h"#include "MKL.h"| #define SHOW_TIMING FALSE |
Referenced by Paso_Preconditioner_LocalAMG_alloc(), and Paso_Preconditioner_LocalAMG_solve().
| #define SMALL_PANEL TRUE |
Referenced by Paso_Preconditioner_LocalAMG_RungeStuebenSearch().
| #define USE_TRANSPOSE TRUE |
Referenced by Paso_Preconditioner_LocalAMG_alloc().
| Paso_Preconditioner_LocalAMG* Paso_Preconditioner_LocalAMG_alloc | ( | Paso_SparseMatrix * | A_p, |
| dim_t | level, | ||
| Paso_Options * | options | ||
| ) |
References Paso_Preconditioner_LocalAMG::A_C, Paso_Preconditioner_LocalAMG::AMG_C, Paso_Preconditioner_LocalAMG::b_C, Paso_Options::coarse_matrix_refinements, Paso_Options::coarsening_selection_time, Paso_Options::coarsening_threshold, Paso_Options::diagonal_dominance_threshold, Esys_checkPtr(), Esys_noError(), Esys_timer(), Paso_Options::interpolation_method, Paso_Pattern::len, Paso_Preconditioner_LocalAMG::level, Paso_Options::level_max, MATRIX_FORMAT_BLK1, MATRIX_FORMAT_CSC, MATRIX_FORMAT_OFFSET1, MAX, MEMALLOC, Paso_Options::min_coarse_matrix_size, Paso_Options::min_coarse_sparsity, Paso_SparseMatrix::numRows, Paso_Preconditioner_LocalAMG::P, PASO_AMG_IN_F, PASO_CLASSIC_INTERPOLATION_WITH_FF_COUPLING, PASO_JACOBI, PASO_MKL, Paso_Preconditioner_LocalAMG_alloc(), Paso_Preconditioner_LocalAMG_enforceFFConnectivity(), Paso_Preconditioner_LocalAMG_free(), Paso_Preconditioner_LocalAMG_getProlongation(), Paso_Preconditioner_LocalAMG_RungeStuebenSearch(), Paso_Preconditioner_LocalAMG_setStrongConnections(), Paso_Preconditioner_LocalAMG_setStrongConnections_Block(), Paso_Preconditioner_LocalSmoother_alloc(), PASO_SMOOTHER, Paso_SparseMatrix_free(), Paso_SparseMatrix_getSparsity(), Paso_SparseMatrix_getTotalNumRows(), Paso_SparseMatrix_getTranspose(), Paso_SparseMatrix_MatrixMatrix(), Paso_SparseMatrix_MatrixMatrixTranspose(), Paso_SparseMatrix_unroll(), PASO_UMFPACK, Paso_Util_cumsum_maskedFalse(), Paso_Util_cumsum_maskedTrue(), Paso_SparseMatrix::pattern, Paso_Options::post_sweeps, Paso_Preconditioner_LocalAMG::post_sweeps, Paso_Options::pre_sweeps, Paso_Preconditioner_LocalAMG::pre_sweeps, Paso_Pattern::ptr, Paso_Preconditioner_LocalAMG::R, Paso_Preconditioner_LocalAMG::r, Paso_Preconditioner_LocalAMG::refinements, Paso_Options::reordering, Paso_Preconditioner_LocalAMG::reordering, Paso_SparseMatrix::row_block_size, S, SHOW_TIMING, Paso_Options::smoother, Paso_Preconditioner_LocalAMG::Smoother, Paso_SparseMatrix::solver_p, Paso_SparseMatrix::solver_package, TMPMEMALLOC, TMPMEMFREE, USE_TRANSPOSE, Paso_Options::usePanel, Paso_Options::verbose, and Paso_Preconditioner_LocalAMG::x_C.
Referenced by Paso_Preconditioner_AMG_Root_alloc(), and Paso_Preconditioner_LocalAMG_alloc().
| void Paso_Preconditioner_LocalAMG_enforceFFConnectivity | ( | const dim_t | n, |
| const index_t * | offset_S, | ||
| const dim_t * | degree_S, | ||
| const index_t * | S, | ||
| index_t * | split_marker | ||
| ) |
References PASO_AMG_IN_C, PASO_AMG_IN_F, and Paso_comparIndex().
Referenced by Paso_Preconditioner_LocalAMG_alloc().
References Paso_Preconditioner_LocalAMG::A_C, Paso_Preconditioner_LocalAMG::AMG_C, Paso_Preconditioner_LocalAMG::b_C, MEMFREE, Paso_Preconditioner_LocalAMG::P, Paso_Preconditioner_LocalAMG_free(), Paso_Preconditioner_LocalSmoother_free(), Paso_SparseMatrix_free(), Paso_Preconditioner_LocalAMG::R, Paso_Preconditioner_LocalAMG::r, Paso_Preconditioner_LocalAMG::Smoother, and Paso_Preconditioner_LocalAMG::x_C.
Referenced by Paso_Preconditioner_AMG_Root_free(), Paso_Preconditioner_LocalAMG_alloc(), and Paso_Preconditioner_LocalAMG_free().
| double Paso_Preconditioner_LocalAMG_getCoarseLevelSparsity | ( | const Paso_Preconditioner_LocalAMG * | in | ) |
| void Paso_Preconditioner_LocalAMG_RungeStuebenSearch | ( | const dim_t | n, |
| const index_t * | offset_S, | ||
| const dim_t * | degree_S, | ||
| const index_t * | S, | ||
| index_t * | split_marker, | ||
| const bool_t | usePanel | ||
| ) |
References Esys_checkPtr(), Esys_noError(), FALSE, PASO_AMG_IN_C, PASO_AMG_IN_F, PASO_AMG_UNDECIDED, Paso_Util_arg_max(), SMALL_PANEL, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by Paso_Preconditioner_LocalAMG_alloc().
| void Paso_Preconditioner_LocalAMG_setStrongConnections | ( | Paso_SparseMatrix * | A, |
| dim_t * | degree_S, | ||
| index_t * | S, | ||
| const double | theta, | ||
| const double | tau | ||
| ) |
References ABS, Paso_Pattern::index, MAX, Paso_SparseMatrix::numRows, Paso_SparseMatrix::pattern, Paso_Pattern::ptr, and Paso_SparseMatrix::val.
Referenced by Paso_Preconditioner_LocalAMG_alloc().
| void Paso_Preconditioner_LocalAMG_setStrongConnections_Block | ( | Paso_SparseMatrix * | A, |
| dim_t * | degree_S, | ||
| index_t * | S, | ||
| const double | theta, | ||
| const double | tau | ||
| ) |
| void Paso_Preconditioner_LocalAMG_solve | ( | Paso_SparseMatrix * | A, |
| Paso_Preconditioner_LocalAMG * | amg, | ||
| double * | x, | ||
| double * | b | ||
| ) |
References Paso_Preconditioner_LocalAMG::A_C, Paso_Preconditioner_LocalAMG::AMG_C, Paso_Preconditioner_LocalAMG::b_C, Esys_timer(), FALSE, Paso_Preconditioner_LocalAMG::level, Paso_SparseMatrix::numRows, Paso_Preconditioner_LocalAMG::P, Paso_Copy(), PASO_MKL, Paso_MKL(), Paso_Preconditioner_LocalAMG_solve(), Paso_Preconditioner_LocalSmoother_solve(), PASO_SMOOTHER, Paso_SparseMatrix_MatrixVector_CSR_OFFSET0(), Paso_SparseMatrix_MatrixVector_CSR_OFFSET0_DIAG(), PASO_UMFPACK, Paso_UMFPACK(), Paso_Preconditioner_LocalAMG::post_sweeps, Paso_Preconditioner_LocalAMG::pre_sweeps, Paso_Preconditioner_LocalAMG::R, Paso_Preconditioner_LocalAMG::r, Paso_Preconditioner_LocalAMG::refinements, Paso_Preconditioner_LocalAMG::reordering, Paso_SparseMatrix::row_block_size, SHOW_TIMING, Paso_Preconditioner_LocalAMG::Smoother, Paso_SparseMatrix::solver_p, Paso_SparseMatrix::solver_package, TRUE, and Paso_Preconditioner_LocalAMG::x_C.
Referenced by Paso_Preconditioner_AMG_Root_solve(), and Paso_Preconditioner_LocalAMG_solve().
1.7.6.1