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

#include <multiplicativeMultigrid.hh>

Detailed Description

template<class Domain, class Range, class SparseIndex>
class Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >

Direct solver for float matrix. The matrix is copied into a double matrix. The same is done for applied vectors.

Definition at line 392 of file multiplicativeMultigrid.hh.

Inheritance diagram for Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >:

Public Types

using FloatDomain = Domain
 
using FloatRange = Range
 
using FloatMatrix = NumaBCRSMatrix< Dune::FieldMatrix< float, rangeBlockSize, domainBlockSize >, SparseIndex >
 
using DoubleMatrix = NumaBCRSMatrix< Dune::FieldMatrix< double, rangeBlockSize, domainBlockSize >, SparseIndex >
 
using DoubleDomain = typename MatrixTraits< DoubleMatrix >::NaturalDomain
 
using DoubleRange = typename MatrixTraits< DoubleMatrix >::NaturalRange
 

Public Member Functions

 DirectPreconditionerFloatWrapper (FloatMatrix const &matA, DirectType directType)
 
virtual void pre (FloatDomain &, FloatRange &)
 
virtual void apply (FloatDomain &x, FloatRange const &b)
 
virtual void post (FloatDomain &)
 

Static Public Attributes

static constexpr int domainBlockSize = Domain::block_type::dimension
 
static constexpr int rangeBlockSize = Range::block_type::dimension
 

Member Typedef Documentation

◆ DoubleDomain

template<class Domain , class Range , class SparseIndex >
using Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::DoubleDomain = typename MatrixTraits<DoubleMatrix>::NaturalDomain

Definition at line 401 of file multiplicativeMultigrid.hh.

◆ DoubleMatrix

template<class Domain , class Range , class SparseIndex >
using Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::DoubleMatrix = NumaBCRSMatrix<Dune::FieldMatrix<double,rangeBlockSize,domainBlockSize>,SparseIndex>

Definition at line 400 of file multiplicativeMultigrid.hh.

◆ DoubleRange

template<class Domain , class Range , class SparseIndex >
using Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::DoubleRange = typename MatrixTraits<DoubleMatrix>::NaturalRange

Definition at line 402 of file multiplicativeMultigrid.hh.

◆ FloatDomain

template<class Domain , class Range , class SparseIndex >
using Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::FloatDomain = Domain

Definition at line 395 of file multiplicativeMultigrid.hh.

◆ FloatMatrix

template<class Domain , class Range , class SparseIndex >
using Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::FloatMatrix = NumaBCRSMatrix<Dune::FieldMatrix<float,rangeBlockSize,domainBlockSize>,SparseIndex>

Definition at line 399 of file multiplicativeMultigrid.hh.

◆ FloatRange

template<class Domain , class Range , class SparseIndex >
using Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::FloatRange = Range

Definition at line 396 of file multiplicativeMultigrid.hh.

Constructor & Destructor Documentation

◆ DirectPreconditionerFloatWrapper()

template<class Domain , class Range , class SparseIndex >
Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::DirectPreconditionerFloatWrapper ( FloatMatrix const &  matA,
DirectType  directType 
)
inline

Definition at line 404 of file multiplicativeMultigrid.hh.

Member Function Documentation

◆ apply()

template<class Domain , class Range , class SparseIndex >
virtual void Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::apply ( FloatDomain x,
FloatRange const &  b 
)
inlinevirtual

Definition at line 408 of file multiplicativeMultigrid.hh.

◆ post()

template<class Domain , class Range , class SparseIndex >
virtual void Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::post ( FloatDomain )
inlinevirtual

Definition at line 423 of file multiplicativeMultigrid.hh.

◆ pre()

template<class Domain , class Range , class SparseIndex >
virtual void Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::pre ( FloatDomain ,
FloatRange  
)
inlinevirtual

Definition at line 406 of file multiplicativeMultigrid.hh.

Member Data Documentation

◆ domainBlockSize

template<class Domain , class Range , class SparseIndex >
constexpr int Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::domainBlockSize = Domain::block_type::dimension
staticconstexpr

Definition at line 397 of file multiplicativeMultigrid.hh.

◆ rangeBlockSize

template<class Domain , class Range , class SparseIndex >
constexpr int Kaskade::DirectPreconditionerFloatWrapper< Domain, Range, SparseIndex >::rangeBlockSize = Range::block_type::dimension
staticconstexpr

Definition at line 398 of file multiplicativeMultigrid.hh.


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