dune-fem  2.4.1-rc
Classes | Functions | Variables
OEMSolver Namespace Reference

Classes

class  FakeConditioner
 
struct  Mult
 mult method when given pre conditioning matrix More...
 
struct  Mult< Matrix, Matrix, false >
 mult method when no pre conditioning matrix More...
 
class  OEMTmpMem
 
class  PreconditionerImpl
 
class  PreconditionInterface
 Interface class for use of Preconditioners with the OEM solvers. More...
 
class  SolverInterfaceImpl
 

Functions

template<class MatrixImp , class VectorType >
void mult (const MatrixImp &m, const VectorType *x, VectorType *ret)
 
template<bool usePC, class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair< int, double > bicgstab_algo (const CommunicatorType &comm, unsigned int N, const MATRIX &A, const PC_MATRIX &C, const double *rhs, double *x, double eps, int maxIter, bool detailed)
 
template<class CommunicatorType , class MATRIX >
std::pair< int, double > bicgstab (const CommunicatorType &comm, unsigned int N, const MATRIX &A, const double *b, double *x, double eps, int maxIter, bool verbose)
 
template<class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair< int, double > bicgstab (const CommunicatorType &comm, unsigned int N, const MATRIX &A, const PC_MATRIX &C, const double *b, double *x, double eps, int maxIter, bool verbose)
 
template<bool usePC, class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair< int, double > cghs_algo (const CommunicatorType &comm, unsigned int N, const MATRIX &A, const PC_MATRIX &C, const double *b, double *x, double eps, int maxIter, bool detailed)
 
template<class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair< int, double > cghs (const CommunicatorType &comm, unsigned int N, const MATRIX &A, const PC_MATRIX &C, const double *b, double *x, double eps, int maxIter, bool detailed)
 
template<class CommunicatorType , class MATRIX >
std::pair< int, double > cghs (const CommunicatorType &comm, unsigned int N, const MATRIX &A, const double *b, double *x, double eps, int maxIter, bool detailed)
 
template<bool usePC, class CommunicatorType , class Matrix , class PC_Matrix >
std::pair< int, double > gmres_algo (const CommunicatorType &comm, int m, int n, const Matrix &A, const PC_Matrix &C, const double *b, double *x, double eps, int maxIter, bool detailed)
 
template<class CommunicatorType , class Matrix >
std::pair< int, double > gmres (const CommunicatorType &comm, int m, int n, const Matrix &A, const double *b, double *x, double eps, int maxIter, bool verbose)
 
template<class CommunicatorType , class Matrix , class PC_Matrix >
std::pair< int, double > gmres (const CommunicatorType &comm, int m, int n, const Matrix &A, const PC_Matrix &C, const double *b, double *x, double eps, int maxIter, bool verbose)
 
template<class MATRIX >
int bicgsq (unsigned N, const MATRIX &A, const double *b, double *x, double eps, int maxIter)
 
template<class MATRIX >
int bicgsq (unsigned N, const MATRIX &A, const double *b, double *x, double eps, int maxIter, bool detailed)
 
template<class MATRIX , class PC_MATRIX >
int bicgsq (unsigned N, const MATRIX &A, const PC_MATRIX &C, const double *b, double *x, double eps, int maxIter)
 
template<class MATRIX , class PC_MATRIX >
int bicgsq (unsigned N, const MATRIX &A, const PC_MATRIX &C, const double *b, double *x, double eps, int maxIter, bool detailed)
 

Variables

static OEMTmpMem bicgMem
 
static OEMTmpMem cghsMem
 
static OEMTmpMem gmresMem
 

Function Documentation

template<class MATRIX >
int OEMSolver::bicgsq ( unsigned  N,
const MATRIX &  A,
const double *  b,
double *  x,
double  eps,
int  maxIter 
)
inline
template<class MATRIX >
int OEMSolver::bicgsq ( unsigned  N,
const MATRIX &  A,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  detailed 
)
inline
template<class MATRIX , class PC_MATRIX >
int OEMSolver::bicgsq ( unsigned  N,
const MATRIX &  A,
const PC_MATRIX &  C,
const double *  b,
double *  x,
double  eps,
int  maxIter 
)
inline
template<class MATRIX , class PC_MATRIX >
int OEMSolver::bicgsq ( unsigned  N,
const MATRIX &  A,
const PC_MATRIX &  C,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  detailed 
)
inline
template<class CommunicatorType , class MATRIX >
std::pair<int,double> OEMSolver::bicgstab ( const CommunicatorType &  comm,
unsigned int  N,
const MATRIX &  A,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  verbose 
)
inline
template<class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair<int,double> OEMSolver::bicgstab ( const CommunicatorType &  comm,
unsigned int  N,
const MATRIX &  A,
const PC_MATRIX &  C,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  verbose 
)
inline
template<bool usePC, class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair<int,double> OEMSolver::bicgstab_algo ( const CommunicatorType &  comm,
unsigned int  N,
const MATRIX &  A,
const PC_MATRIX &  C,
const double *  rhs,
double *  x,
double  eps,
int  maxIter,
bool  detailed 
)
inline
template<class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair< int , double > OEMSolver::cghs ( const CommunicatorType &  comm,
unsigned int  N,
const MATRIX &  A,
const PC_MATRIX &  C,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  detailed 
)
inline
template<class CommunicatorType , class MATRIX >
std::pair< int , double > OEMSolver::cghs ( const CommunicatorType &  comm,
unsigned int  N,
const MATRIX &  A,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  detailed 
)
inline
template<bool usePC, class CommunicatorType , class MATRIX , class PC_MATRIX >
std::pair< int , double > OEMSolver::cghs_algo ( const CommunicatorType &  comm,
unsigned int  N,
const MATRIX &  A,
const PC_MATRIX &  C,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  detailed 
)
inline
template<class CommunicatorType , class Matrix >
std::pair<int,double> OEMSolver::gmres ( const CommunicatorType &  comm,
int  m,
int  n,
const Matrix &  A,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  verbose 
)
inline
template<class CommunicatorType , class Matrix , class PC_Matrix >
std::pair<int,double> OEMSolver::gmres ( const CommunicatorType &  comm,
int  m,
int  n,
const Matrix &  A,
const PC_Matrix &  C,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  verbose 
)
inline

References mult().

template<bool usePC, class CommunicatorType , class Matrix , class PC_Matrix >
std::pair<int,double> OEMSolver::gmres_algo ( const CommunicatorType &  comm,
int  m,
int  n,
const Matrix &  A,
const PC_Matrix &  C,
const double *  b,
double *  x,
double  eps,
int  maxIter,
bool  detailed 
)
inline
template<class MatrixImp , class VectorType >
void OEMSolver::mult ( const MatrixImp &  m,
const VectorType *  x,
VectorType *  ret 
)

this method is called from all solvers and is only a wrapper this method is mainly from SparseRowMatrix

Referenced by gmres(), OEMSolver::Mult< Matrix, Matrix, false >::mult_pc(), and Dune::Fem::SparseRowMatrix< T >::operator()().

Variable Documentation

OEMTmpMem OEMSolver::bicgMem
static
OEMTmpMem OEMSolver::cghsMem
static
OEMTmpMem OEMSolver::gmresMem
static