dune-fem  2.4.1-rc
Classes | Namespaces | Macros | Functions | Variables
oemsolver/oemsolver.hh File Reference
#include <limits>
#include <utility>
#include <dune/fem/io/parameter.hh>
#include <dune/fem/operator/common/operator.hh>
#include "preconditioning.hh"
#include <dune/fem/solver/pardg.hh>
#include "cblas.h"
#include "bicgstab.h"
#include "cghs.h"
#include "gmres.h"
#include "bicgsq.h"

Go to the source code of this file.

Classes

class  Dune::Fem::OEMMatrix
 interface for matrices to be used with OEM sovlers More...
 
class  OEMSolver::SolverInterfaceImpl< OperatorImp >
 
class  OEMSolver::PreconditionerImpl< PreconditionerImp >
 
struct  OEMSolver::Mult< Matrix, PC_Matrix, bool >
 mult method when given pre conditioning matrix More...
 
struct  OEMSolver::Mult< Matrix, Matrix, false >
 mult method when no pre conditioning matrix More...
 
class  OEMSolver::OEMTmpMem
 
class  OEMSolver::FakeConditioner
 
class  Dune::Fem::OEMCGOp< DiscreteFunctionType, OpType >
 OEM-CG scheme after Hestenes and Stiefel. More...
 
class  Dune::Fem::OEMBICGSTABOp< DiscreteFunctionType, OpType >
 BiCG-stab solver. More...
 
class  Dune::Fem::OEMBICGSQOp< DiscreteFunctionType, OpType >
 BiCG-SQ method. More...
 
class  Dune::Fem::OEMGMRESOp< DiscreteFunctionType, Op >
 GMRES solver. More...
 

Namespaces

 Dune
 
 Dune::Fem
 
 OEMSolver
 

Macros

#define USE_MEMPROVIDER
 

Functions

template<class MatrixImp , class VectorType >
void OEMSolver::mult (const MatrixImp &m, const VectorType *x, VectorType *ret)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
template<class MATRIX >
int OEMSolver::bicgsq (unsigned N, const MATRIX &A, const double *b, double *x, double eps, int maxIter)
 
template<class MATRIX >
int OEMSolver::bicgsq (unsigned N, const MATRIX &A, const double *b, double *x, double eps, int maxIter, bool detailed)
 
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)
 
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)
 

Variables

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

Macro Definition Documentation

#define USE_MEMPROVIDER