Solver.h
Go to the documentation of this file.
/*****************************************************************************
*
* Copyright (c) 2003-2017 by The University of Queensland
* http://www.uq.edu.au
*
* Primary Business: Queensland, Australia
* Licensed under the Apache License, version 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Development until 2012 by Earth Systems Science Computational Center (ESSCC)
* Development 2012-2013 by School of Earth Sciences
* Development from 2014 by Centre for Geoscience Computing (GeoComp)
*
*****************************************************************************/
#ifndef __PASO_SOLVER_H__
#define __PASO_SOLVER_H__
#include "Paso.h"
#include "Functions.h"
#include "performance.h"
#include "SystemMatrix.h"
namespace paso {
#define TOLERANCE_FOR_SCALARS (double)(0.)
void solve_free(SystemMatrix* A);
SolverResult Solver(SystemMatrix_ptr, double*, double*, Options*, Performance*);
void Solver_free(SystemMatrix*);
SolverResult Solver_BiCGStab(SystemMatrix_ptr A, double* B, double* X,
dim_t* iter, double* tolerance, Performance* pp);
SolverResult Solver_PCG(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
double* tolerance, Performance* pp);
SolverResult Solver_TFQMR(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
double* tolerance, Performance* pp);
SolverResult Solver_MINRES(SystemMatrix_ptr A, double* B, double* X,
dim_t* iter, double* tolerance, Performance* pp);
SolverResult Solver_GMRES(SystemMatrix_ptr A, double* r, double* x,
dim_t* num_iter, double* tolerance,
dim_t length_of_recursion, dim_t restart,
Performance* pp);
SolverResult Solver_GMRES2(Function* F, const double* f0, const double* x0,
double* x, dim_t* iter, double* tolerance,
Performance* pp);
SolverResult Solver_NewtonGMRES(Function* F, double* x, Options* options,
Performance* pp);
} // namespace paso
#endif // __PASO_SOLVER_H__
Functions.h
Paso.h
paso::Solver_TFQMR
SolverResult Solver_TFQMR(SystemMatrix_ptr A, double *B, double *X, dim_t *iter, double *tolerance, Performance *pp)
Definition: TFQMR.cpp:62
SystemMatrix.h
performance.h
paso::Solver_free
void Solver_free(SystemMatrix *A)
Definition: Solver.cpp:40
paso::Solver_NewtonGMRES
SolverResult Solver_NewtonGMRES(Function *F, double *x, Options *options, Performance *pp)
Definition: NewtonGMRES.cpp:43
paso::SystemMatrix_ptr
boost::shared_ptr< SystemMatrix > SystemMatrix_ptr
Definition: SystemMatrix.h:40
paso
Definition: AMG.cpp:45
paso::Solver_GMRES
SolverResult Solver_GMRES(SystemMatrix_ptr A, double *r, double *x, dim_t *iter, double *tolerance, dim_t Length_of_recursion, dim_t restart, Performance *pp)
Definition: GMRES.cpp:68
paso::Solver_PCG
SolverResult Solver_PCG(SystemMatrix_ptr A, double *r, double *x, dim_t *iter, double *tolerance, Performance *pp)
Definition: PCG.cpp:62
paso::solve_free
void solve_free(SystemMatrix *in)
Definition: solve.cpp:128
paso::SolverResult
SolverResult
Definition: Paso.h:42
paso::Solver_BiCGStab
SolverResult Solver_BiCGStab(SystemMatrix_ptr A, double *r, double *x, dim_t *iter, double *tolerance, Performance *pp)
Definition: BiCGStab.cpp:77
paso::Solver_MINRES
SolverResult Solver_MINRES(SystemMatrix_ptr A, double *R, double *X, dim_t *iter, double *tolerance, Performance *pp)
Definition: MINRES.cpp:59
paso::Solver
SolverResult Solver(SystemMatrix_ptr A, double *x, double *b, Options *options, Performance *pp)
calls the iterative solver
Definition: Solver.cpp:46
paso::Solver_GMRES2
SolverResult Solver_GMRES2(Function *F, const double *f0, const double *x0, double *dx, dim_t *iter, double *tolerance, Performance *pp)
Definition: GMRES2.cpp:24
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:64