dune-istl  2.5.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::ILUSubdomainSolver< M, X, Y > Class Template Referenceabstract

base class encapsulating common algorithms of ILU0SubdomainSolver and ILUNSubdomainSolver. More...

#include <dune/istl/ilusubdomainsolver.hh>

Inheritance diagram for Dune::ILUSubdomainSolver< M, X, Y >:
Inheritance graph

Public Types

typedef std::remove_const< M >::type matrix_type
 The matrix type the preconditioner is for. More...
 
typedef X domain_type
 The domain type of the preconditioner. More...
 
typedef Y range_type
 The range type of the preconditioner. More...
 

Public Member Functions

virtual void apply (X &v, const Y &d)=0
 Apply the subdomain solver. More...
 
virtual ~ILUSubdomainSolver ()
 

Protected Member Functions

template<class S >
std::size_t copyToLocalMatrix (const M &A, S &rowset)
 Copy the local part of the global matrix to ILU. More...
 

Protected Attributes

matrix_type ILU
 The ILU0 decomposition of the matrix, or the local matrix. More...
 

Detailed Description

template<class M, class X, class Y>
class Dune::ILUSubdomainSolver< M, X, Y >

base class encapsulating common algorithms of ILU0SubdomainSolver and ILUNSubdomainSolver.

Template Parameters
MThe type of the matrix.
XThe type of the vector for the domain.
XThe type of the vector for the range.

Member Typedef Documentation

◆ domain_type

template<class M , class X , class Y >
typedef X Dune::ILUSubdomainSolver< M, X, Y >::domain_type

The domain type of the preconditioner.

◆ matrix_type

template<class M , class X , class Y >
typedef std::remove_const<M>::type Dune::ILUSubdomainSolver< M, X, Y >::matrix_type

The matrix type the preconditioner is for.

◆ range_type

template<class M , class X , class Y >
typedef Y Dune::ILUSubdomainSolver< M, X, Y >::range_type

The range type of the preconditioner.

Constructor & Destructor Documentation

◆ ~ILUSubdomainSolver()

template<class M , class X , class Y >
virtual Dune::ILUSubdomainSolver< M, X, Y >::~ILUSubdomainSolver ( )
inlinevirtual

Member Function Documentation

◆ apply()

template<class M , class X , class Y >
virtual void Dune::ILUSubdomainSolver< M, X, Y >::apply ( X &  v,
const Y &  d 
)
pure virtual

Apply the subdomain solver.

On entry v=? and d=b-A(x) (although this might not be computed in that way. On exit v contains the update

Implemented in Dune::ILUNSubdomainSolver< M, X, Y >, and Dune::ILU0SubdomainSolver< M, X, Y >.

Member Data Documentation

◆ ILU

template<class M , class X , class Y >
matrix_type Dune::ILUSubdomainSolver< M, X, Y >::ILU
protected

The ILU0 decomposition of the matrix, or the local matrix.


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