ESYS13  Revision_
Defines | Functions
AMG.c File Reference
#include "Paso.h"
#include "Preconditioner.h"
#include "Options.h"
#include "PasoUtil.h"
#include "UMFPACK.h"
#include "MKL.h"
#include <stdio.h>

Defines

#define SHOW_TIMING   FALSE
#define MY_DEBUG   0
#define MY_DEBUG1   1

Functions

void Paso_Preconditioner_AMG_free (Paso_Preconditioner_AMG *in)
index_t Paso_Preconditioner_AMG_getMaxLevel (const Paso_Preconditioner_AMG *in)
double Paso_Preconditioner_AMG_getCoarseLevelSparsity (const Paso_Preconditioner_AMG *in)
dim_t Paso_Preconditioner_AMG_getNumCoarseUnknwons (const Paso_Preconditioner_AMG *in)
Paso_Preconditioner_AMGPaso_Preconditioner_AMG_alloc (Paso_SystemMatrix *A_p, dim_t level, Paso_Options *options)
void Paso_Preconditioner_AMG_solve (Paso_SystemMatrix *A, Paso_Preconditioner_AMG *amg, double *x, double *b)
void Paso_Preconditioner_AMG_setStrongConnections (Paso_SystemMatrix *A, dim_t *degree_S, index_t *offset_S, index_t *S, const double theta, const double tau)
void Paso_Preconditioner_AMG_setStrongConnections_Block (Paso_SystemMatrix *A, dim_t *degree_S, index_t *offset_S, index_t *S, const double theta, const double tau)
void Paso_Preconditioner_AMG_transposeStrongConnections (const dim_t n, const dim_t *degree_S, const index_t *offset_S, const index_t *S, const dim_t nT, dim_t *degree_ST, index_t *offset_ST, index_t *ST)
int compareindex (const void *a, const void *b)
void Paso_Preconditioner_AMG_CIJPCoarsening (const dim_t n, const dim_t my_n, index_t *split_marker, const dim_t *degree_S, const index_t *offset_S, const index_t *S, const dim_t *degree_ST, const index_t *offset_ST, const index_t *ST, Paso_Connector *col_connector, Paso_Distribution *col_dist)

Define Documentation

#define MY_DEBUG   0
#define MY_DEBUG1   1
#define SHOW_TIMING   FALSE

Function Documentation

int compareindex ( const void *  a,
const void *  b 
)

References Paso_Preconditioner_AMG::A_C, Paso_Preconditioner_AMG::AMG_C, Paso_Preconditioner_AMG::b_C, Paso_Options::coarsening_selection_time, Paso_Options::coarsening_threshold, Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrix::col_coupler, Paso_SystemMatrix::col_distribution, Esys_MPIInfo::comm, Paso_Coupler::connector, Paso_Options::diagonal_dominance_threshold, Esys_checkPtr(), Esys_noError(), Esys_timer(), FALSE, Paso_Options::interpolation_method, Paso_Pattern::len, Paso_Preconditioner_AMG::level, Paso_Options::level_max, Paso_SystemMatrix::mainBlock, MAX, MEMALLOC, Paso_Preconditioner_AMG::merged_solver, Paso_Options::min_coarse_matrix_size, Paso_Options::min_coarse_sparsity, Paso_SystemMatrix::mpi_info, MPI_INT, Paso_SparseMatrix::numCols, Paso_SparseMatrix::numRows, Paso_Preconditioner_AMG::P, PASO_AMG_IN_F, PASO_JACOBI, Paso_MergedSolver_alloc(), Paso_Preconditioner_AMG_alloc(), Paso_Preconditioner_AMG_buildInterpolationOperator(), Paso_Preconditioner_AMG_CIJPCoarsening(), Paso_Preconditioner_AMG_free(), Paso_Preconditioner_AMG_getProlongation(), Paso_Preconditioner_AMG_getRestriction(), Paso_Preconditioner_AMG_setStrongConnections(), Paso_Preconditioner_AMG_setStrongConnections_Block(), Paso_Preconditioner_AMG_transposeStrongConnections(), Paso_Preconditioner_Smoother_alloc(), Paso_SystemMatrix_copyColCoupleBlock(), Paso_SystemMatrix_copyRemoteCoupleBlock(), Paso_SystemMatrix_getGlobalNumRows(), Paso_SystemMatrix_getSparsity(), Paso_Util_cumsum_maskedFalse(), Paso_Util_cumsum_maskedTrue(), Paso_SparseMatrix::pattern, Paso_Preconditioner_AMG::post_sweeps, Paso_Options::post_sweeps, Paso_Preconditioner_AMG::pre_sweeps, Paso_Options::pre_sweeps, Paso_Preconditioner_AMG::R, Paso_Preconditioner_AMG::r, Paso_SystemMatrix::row_block_size, Paso_SystemMatrix::row_coupleBlock, S, SHOW_TIMING, Esys_MPIInfo::size, Paso_Preconditioner_AMG::Smoother, Paso_Options::smoother, TMPMEMALLOC, TMPMEMFREE, Paso_Options::verbose, and Paso_Preconditioner_AMG::x_C.

Referenced by Paso_Preconditioner_AMG_alloc(), and Paso_Preconditioner_AMG_Root_alloc().

void Paso_Preconditioner_AMG_CIJPCoarsening ( const dim_t  n,
const dim_t  my_n,
index_t split_marker,
const dim_t degree_S,
const index_t offset_S,
const index_t S,
const dim_t degree_ST,
const index_t offset_ST,
const index_t ST,
Paso_Connector col_connector,
Paso_Distribution col_dist 
)
void Paso_Preconditioner_AMG_setStrongConnections ( Paso_SystemMatrix A,
dim_t degree_S,
index_t offset_S,
index_t S,
const double  theta,
const double  tau 
)
void Paso_Preconditioner_AMG_setStrongConnections_Block ( Paso_SystemMatrix A,
dim_t degree_S,
index_t offset_S,
index_t S,
const double  theta,
const double  tau 
)
void Paso_Preconditioner_AMG_solve ( Paso_SystemMatrix A,
Paso_Preconditioner_AMG amg,
double *  x,
double *  b 
)
void Paso_Preconditioner_AMG_transposeStrongConnections ( const dim_t  n,
const dim_t degree_S,
const index_t offset_S,
const index_t S,
const dim_t  nT,
dim_t degree_ST,
index_t offset_ST,
index_t ST 
)