dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Functions
Dune::Fem::LinearSolver Namespace Reference

Classes

struct  ToleranceCriteria
 

Functions

template<class DiscreteFunction , class FieldType >
void scalarProductVecs (const DiscreteFunction &r_df, const DiscreteFunction &s_df, const DiscreteFunction &r_star_df, FieldType *global_dot)
 
template<class Operator , class Precoditioner , class DiscreteFunction >
int bicgstab (Operator &op, Precoditioner *preconditioner, std::vector< DiscreteFunction > &tempMem, DiscreteFunction &x, const DiscreteFunction &b, const double tolerance, const int maxIterations, const int toleranceCriteria, std::ostream *os=nullptr)
 
template<class Operator , class Precoditioner , class DiscreteFunction >
int cg (Operator &op, Precoditioner *preconditioner, std::vector< DiscreteFunction > &tempMem, DiscreteFunction &x, const DiscreteFunction &b, const double epsilon, const int maxIterations, const int toleranceCriteria, std::ostream *os=nullptr)
 
template<class FieldType >
FieldType scalarProduct (const int dim, const FieldType *x, const FieldType *y)
 return x * y
 
template<class Communication , class FieldType , class DiscreteFunction >
void gemv (const Communication &comm, const int m, std::vector< DiscreteFunction > &v, const DiscreteFunction &vjp, FieldType *y)
 
template<class FieldType >
void rotate (const int dim, FieldType *x, FieldType *y, const FieldType c, const FieldType s)
 dblas_rotate with inc = 1
 
template<class Operator , class Preconditioner , class DiscreteFunction >
int gmres (Operator &op, Preconditioner *preconditioner, std::vector< DiscreteFunction > &v, DiscreteFunction &u, const DiscreteFunction &b, const int m, const double tolerance, const int maxIterations, const int toleranceCriteria, std::ostream *os=nullptr)
 

Function Documentation

◆ bicgstab()

template<class Operator , class Precoditioner , class DiscreteFunction >
int Dune::Fem::LinearSolver::bicgstab ( Operator op,
Precoditioner *  preconditioner,
std::vector< DiscreteFunction > &  tempMem,
DiscreteFunction &  x,
const DiscreteFunction &  b,
const double  tolerance,
const int  maxIterations,
const int  toleranceCriteria,
std::ostream *  os = nullptr 
)
inline

◆ cg()

template<class Operator , class Precoditioner , class DiscreteFunction >
int Dune::Fem::LinearSolver::cg ( Operator op,
Precoditioner *  preconditioner,
std::vector< DiscreteFunction > &  tempMem,
DiscreteFunction &  x,
const DiscreteFunction &  b,
const double  epsilon,
const int  maxIterations,
const int  toleranceCriteria,
std::ostream *  os = nullptr 
)
inline

◆ gemv()

template<class Communication , class FieldType , class DiscreteFunction >
void Dune::Fem::LinearSolver::gemv ( const Communication &  comm,
const int  m,
std::vector< DiscreteFunction > &  v,
const DiscreteFunction &  vjp,
FieldType *  y 
)

◆ gmres()

template<class Operator , class Preconditioner , class DiscreteFunction >
int Dune::Fem::LinearSolver::gmres ( Operator op,
Preconditioner *  preconditioner,
std::vector< DiscreteFunction > &  v,
DiscreteFunction &  u,
const DiscreteFunction &  b,
const int  m,
const double  tolerance,
const int  maxIterations,
const int  toleranceCriteria,
std::ostream *  os = nullptr 
)
inline

◆ rotate()

template<class FieldType >
void Dune::Fem::LinearSolver::rotate ( const int  dim,
FieldType *  x,
FieldType *  y,
const FieldType  c,
const FieldType  s 
)

dblas_rotate with inc = 1

◆ scalarProduct()

template<class FieldType >
FieldType Dune::Fem::LinearSolver::scalarProduct ( const int  dim,
const FieldType *  x,
const FieldType *  y 
)

return x * y

◆ scalarProductVecs()

template<class DiscreteFunction , class FieldType >
void Dune::Fem::LinearSolver::scalarProductVecs ( const DiscreteFunction &  r_df,
const DiscreteFunction &  s_df,
const DiscreteFunction &  r_star_df,
FieldType *  global_dot 
)