ESYS13  Revision_
Defines | Functions
Solver.h File Reference
#include "SystemMatrix.h"
#include "performance.h"
#include "Functions.h"

Go to the source code of this file.

Defines

#define PASO_TRACE
#define SOLVER_NO_ERROR   0
#define SOLVER_MAXITER_REACHED   1
#define SOLVER_INPUT_ERROR   -1
#define SOLVER_MEMORY_ERROR   -9
#define SOLVER_BREAKDOWN   -10
#define SOLVER_NEGATIVE_NORM_ERROR   -11
#define SOLVER_DIVERGENCE   -12
#define TOLERANCE_FOR_SCALARS   (double)(0.)

Functions

PASO_DLL_API void Paso_Solver (Paso_SystemMatrix *, double *, double *, Paso_Options *, Paso_Performance *pp)
PASO_DLL_API void Paso_Solver_free (Paso_SystemMatrix *)
err_t Paso_Solver_BiCGStab (Paso_SystemMatrix *A, double *B, double *X, dim_t *iter, double *tolerance, Paso_Performance *pp)
err_t Paso_Solver_PCG (Paso_SystemMatrix *A, double *B, double *X, dim_t *iter, double *tolerance, Paso_Performance *pp)
err_t Paso_Solver_TFQMR (Paso_SystemMatrix *A, double *B, double *X, dim_t *iter, double *tolerance, Paso_Performance *pp)
err_t Paso_Solver_MINRES (Paso_SystemMatrix *A, double *B, double *X, dim_t *iter, double *tolerance, Paso_Performance *pp)
err_t Paso_Solver_GMRES (Paso_SystemMatrix *A, double *r, double *x, dim_t *num_iter, double *tolerance, dim_t length_of_recursion, dim_t restart, Paso_Performance *pp)
err_t Paso_Solver_GMRES2 (Paso_Function *F, const double *f0, const double *x0, double *x, dim_t *iter, double *tolerance, Paso_Performance *pp)
err_t Paso_Solver_NewtonGMRES (Paso_Function *F, double *x, Paso_Options *options, Paso_Performance *pp)
Paso_FunctionPaso_Function_LinearSystem_alloc (Paso_SystemMatrix *A, double *b, Paso_Options *options)
err_t Paso_Function_LinearSystem_call (Paso_Function *F, double *value, const double *arg, Paso_Performance *pp)
void Paso_Function_LinearSystem_free (Paso_Function *F)
err_t Paso_Function_LinearSystem_setInitialGuess (Paso_SystemMatrix *A, double *x, Paso_Performance *pp)

Define Documentation

#define PASO_TRACE
#define SOLVER_BREAKDOWN   -10
#define SOLVER_DIVERGENCE   -12
#define SOLVER_INPUT_ERROR   -1
#define SOLVER_MAXITER_REACHED   1
#define SOLVER_MEMORY_ERROR   -9
#define SOLVER_NEGATIVE_NORM_ERROR   -11
#define SOLVER_NO_ERROR   0
#define TOLERANCE_FOR_SCALARS   (double)(0.)

Function Documentation

err_t Paso_Function_LinearSystem_call ( Paso_Function F,
double *  value,
const double *  arg,
Paso_Performance pp 
)
PASO_DLL_API void Paso_Solver ( Paso_SystemMatrix ,
double *  ,
double *  ,
Paso_Options ,
Paso_Performance pp 
)

References ABS, blocktimer_increment(), blocktimer_time(), Paso_SystemMatrix::col_block_size, Esys_MPIInfo::comm, Paso_Options::converged, DBLE, DIVERGED, EPSILON, Esys_checkPtr(), Esys_noError(), Esys_resetError(), Esys_setError(), Esys_timer(), FALSE, IS_NAN, Paso_Options::iter_max, MATRIX_FORMAT_CSC, MATRIX_FORMAT_OFFSET1, MAX, MEMFREE, Paso_Options::method, MIN, MPI_DOUBLE, Paso_SystemMatrix::mpi_info, Paso_Options::net_time, NO_ERROR, Paso_Options::num_inner_iter, Paso_Options::num_iter, Paso_Options::num_level, PASO_BICGSTAB, Paso_Function_LinearSystem_alloc(), Paso_Function_LinearSystem_free(), PASO_GMRES, PASO_MINRES, PASO_NONLINEAR_GMRES, Paso_Options_getSolver(), PASO_PASO, PASO_PCG, PASO_PRES20, Paso_Solver_BiCGStab(), Paso_Solver_GMRES(), Paso_Solver_MINRES(), Paso_Solver_NewtonGMRES(), Paso_Solver_PCG(), Paso_Solver_TFQMR(), Paso_SystemMatrix_applyBalance(), Paso_SystemMatrix_applyBalanceInPlace(), Paso_SystemMatrix_balance(), Paso_SystemMatrix_getGlobalNumCols(), Paso_SystemMatrix_getGlobalNumRows(), Paso_SystemMatrix_getTotalNumCols(), Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(), Paso_SystemMatrix_setPreconditioner(), Paso_SystemMatrix_solvePreconditioner(), PASO_TFQMR, PERFORMANCE_ALL, PERFORMANCE_PRECONDITIONER_INIT, Performance_startMonitor(), Performance_stopMonitor(), Paso_Options::residual_norm, Paso_Options::restart, Paso_SystemMatrix::row_block_size, Paso_Options::set_up_time, SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_NEGATIVE_NORM_ERROR, SOLVER_NO_ERROR, Paso_Options::symmetric, SYSTEM_ERROR, Paso_Options::time, TMPMEMALLOC, Paso_Options::tolerance, TRUE, Paso_Options::truncation, Paso_SystemMatrix::type, TYPE_ERROR, VALUE_ERROR, Paso_Options::verbose, and ZERO_DIVISION_ERROR.

Referenced by Paso_solve().

err_t Paso_Solver_BiCGStab ( Paso_SystemMatrix A,
double *  B,
double *  X,
dim_t iter,
double *  tolerance,
Paso_Performance pp 
)
err_t Paso_Solver_GMRES ( Paso_SystemMatrix A,
double *  r,
double *  x,
dim_t num_iter,
double *  tolerance,
dim_t  length_of_recursion,
dim_t  restart,
Paso_Performance pp 
)
err_t Paso_Solver_GMRES2 ( Paso_Function F,
const double *  f0,
const double *  x0,
double *  x,
dim_t iter,
double *  tolerance,
Paso_Performance pp 
)
err_t Paso_Solver_MINRES ( Paso_SystemMatrix A,
double *  B,
double *  X,
dim_t iter,
double *  tolerance,
Paso_Performance pp 
)
err_t Paso_Solver_NewtonGMRES ( Paso_Function F,
double *  x,
Paso_Options options,
Paso_Performance pp 
)
err_t Paso_Solver_PCG ( Paso_SystemMatrix A,
double *  B,
double *  X,
dim_t iter,
double *  tolerance,
Paso_Performance pp 
)
err_t Paso_Solver_TFQMR ( Paso_SystemMatrix A,
double *  B,
double *  X,
dim_t iter,
double *  tolerance,
Paso_Performance pp 
)