KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM > Class Template Reference

Approximation of the schur complement. More...

#include <blockDiagonalSchurPreconditioner.hh>

Detailed Description

template<class Scalar_, class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
class Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >

Approximation of the schur complement.

Parameters
BlockKtype: IstlInterfaceDetail::BlockInfo, information on the block containing the stiffness matrix
BlockMtype: IstlInterfaceDetail::BlockInfo, information on the block containing the mass matrix

Definition at line 275 of file blockDiagonalSchurPreconditioner.hh.

Public Types

typedef Scalar_ Scalar
 
typedef MatrixAsTriplet< ScalarMatrix
 

Public Member Functions

template<class Assembler >
 ApproximateSchurComplement2 (Assembler const &assembler, Scalar, bool symmetricK_=false, bool symmetricM_=false)
 
template<class Assembler >
void updateMatrices (Assembler const &assembler)
 
template<class Domain , class Range >
void solve (Domain &x, Range const &y, size_t nIter) const
 
MatrixAsTriplet< Scalar > const & massMatrix () const
 
MatrixAsTriplet< Scalar > const & stiffnessMatrix () const
 

Member Typedef Documentation

◆ Matrix

template<class Scalar_ , class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
typedef MatrixAsTriplet<Scalar> Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::Matrix

Definition at line 279 of file blockDiagonalSchurPreconditioner.hh.

◆ Scalar

template<class Scalar_ , class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
typedef Scalar_ Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::Scalar

Definition at line 278 of file blockDiagonalSchurPreconditioner.hh.

Constructor & Destructor Documentation

◆ ApproximateSchurComplement2()

template<class Scalar_ , class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
template<class Assembler >
Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::ApproximateSchurComplement2 ( Assembler const &  assembler,
Scalar  ,
bool  symmetricK_ = false,
bool  symmetricM_ = false 
)
inline
Parameters
alphaTikhonov regularization parameter
symmetricK_true if stiffness matrix is symmetric, else false
symmetricM_true if mass matrix is symmetric, else false

Definition at line 287 of file blockDiagonalSchurPreconditioner.hh.

Member Function Documentation

◆ massMatrix()

template<class Scalar_ , class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
MatrixAsTriplet< Scalar > const & Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::massMatrix ( ) const
inline

Definition at line 322 of file blockDiagonalSchurPreconditioner.hh.

◆ solve()

template<class Scalar_ , class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
template<class Domain , class Range >
void Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::solve ( Domain &  x,
Range const &  y,
size_t  nIter 
) const
inline

Definition at line 307 of file blockDiagonalSchurPreconditioner.hh.

◆ stiffnessMatrix()

template<class Scalar_ , class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
MatrixAsTriplet< Scalar > const & Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::stiffnessMatrix ( ) const
inline

Definition at line 327 of file blockDiagonalSchurPreconditioner.hh.

◆ updateMatrices()

template<class Scalar_ , class BlockK = IstlInterfaceDetail::BlockInfo<2,3,0,1>, class BlockM = IstlInterfaceDetail::BlockInfo<0,1,0,1>>
template<class Assembler >
void Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::updateMatrices ( Assembler const &  assembler)
inline
Parameters
alphaTikhonov regularization parameter

Definition at line 297 of file blockDiagonalSchurPreconditioner.hh.

Referenced by Kaskade::ApproximateSchurComplement2< Scalar_, BlockK, BlockM >::ApproximateSchurComplement2().


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