KASKADE 7 development version
Public Types | Public Member Functions | Static Public Attributes | List of all members
Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt > Class Template Reference

#include <jacobiSolver.hh>

Detailed Description

template<class Scalar, class Domain, class Range, class SparseIndexInt = int>
class Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >

Jacobi iteration working on block matrices and vectors.

Template Parameters
nComponentsnumber of components in each block entry (i.e. number of components of ansatz functions)

Definition at line 109 of file jacobiSolver.hh.

Inheritance diagram for Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >:

Public Types

typedef Dune::FieldMatrix< Scalar, 1, 1 > MatrixBlock
 
typedef Dune::FieldVector< Scalar, 1 > VectorBlock
 

Public Member Functions

 JacobiSolverForTriplets (MatrixAsTriplet< Scalar, SparseIndexInt > const &A_, size_t maxSteps_=100, double relaxation_=1.0)
 
template<class Assembler , int row, int rend, int col, int cend>
 JacobiSolverForTriplets (AssembledGalerkinOperator< Assembler, row, rend, col, cend > const &A_, size_t maxSteps_=100, double relaxation_=1.0)
 
template<class Assembler , int row, int rend, int col, int cend>
 JacobiSolverForTriplets (TransposedOperator< AssembledGalerkinOperator< Assembler, row, rend, col, cend > > const &A_, size_t maxSteps_=100, double relaxation_=1.0)
 
virtual ~JacobiSolverForTriplets ()
 
void pre (Domain &, Range &)
 
void post (Domain &)
 
void apply (Domain &solution, Range const &rhs)
 

Static Public Attributes

static int const category = Dune::SolverCategory::sequential
 

Member Typedef Documentation

◆ MatrixBlock

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
typedef Dune::FieldMatrix<Scalar,1,1> Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::MatrixBlock

Definition at line 112 of file jacobiSolver.hh.

◆ VectorBlock

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
typedef Dune::FieldVector<Scalar,1> Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::VectorBlock

Definition at line 113 of file jacobiSolver.hh.

Constructor & Destructor Documentation

◆ JacobiSolverForTriplets() [1/3]

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::JacobiSolverForTriplets ( MatrixAsTriplet< Scalar, SparseIndexInt > const &  A_,
size_t  maxSteps_ = 100,
double  relaxation_ = 1.0 
)
inlineexplicit

Definition at line 116 of file jacobiSolver.hh.

◆ JacobiSolverForTriplets() [2/3]

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
template<class Assembler , int row, int rend, int col, int cend>
Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::JacobiSolverForTriplets ( AssembledGalerkinOperator< Assembler, row, rend, col, cend > const &  A_,
size_t  maxSteps_ = 100,
double  relaxation_ = 1.0 
)
inlineexplicit

Definition at line 123 of file jacobiSolver.hh.

◆ JacobiSolverForTriplets() [3/3]

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
template<class Assembler , int row, int rend, int col, int cend>
Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::JacobiSolverForTriplets ( TransposedOperator< AssembledGalerkinOperator< Assembler, row, rend, col, cend > > const &  A_,
size_t  maxSteps_ = 100,
double  relaxation_ = 1.0 
)
inlineexplicit

Definition at line 128 of file jacobiSolver.hh.

◆ ~JacobiSolverForTriplets()

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
virtual Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::~JacobiSolverForTriplets ( )
inlinevirtual

Definition at line 132 of file jacobiSolver.hh.

Member Function Documentation

◆ apply()

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
void Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::apply ( Domain &  solution,
Range const &  rhs 
)
inline

Definition at line 137 of file jacobiSolver.hh.

◆ post()

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
void Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::post ( Domain &  )
inline

Definition at line 135 of file jacobiSolver.hh.

◆ pre()

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
void Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::pre ( Domain &  ,
Range &   
)
inline

Definition at line 134 of file jacobiSolver.hh.

Member Data Documentation

◆ category

template<class Scalar , class Domain , class Range , class SparseIndexInt = int>
int const Kaskade::JacobiSolverForTriplets< Scalar, Domain, Range, SparseIndexInt >::category = Dune::SolverCategory::sequential
static

Definition at line 115 of file jacobiSolver.hh.


The documentation for this class was generated from the following file: