dune-istl 2.8.0
Classes | Functions

Classes

struct  CRS
 a simple compressed row storage matrix class More...
 

Functions

template<class M >
void blockILU0Decomposition (M &A)
 compute ILU decomposition of A. A is overwritten by its decomposition More...
 
template<class M , class X , class Y >
void blockILUBacksolve (const M &A, X &v, const Y &d)
 LU backsolve with stored inverse. More...
 
template<class M >
M::field_type & firstMatrixElement (M &A, typename std::enable_if_t<!Dune::IsNumber< M >::value > *sfinae=nullptr)
 
template<class K >
K & firstMatrixElement (K &A, typename std::enable_if_t< Dune::IsNumber< K >::value > *sfinae=nullptr)
 
template<class K , int n, int m>
K & firstMatrixElement (FieldMatrix< K, n, m > &A)
 
template<class M >
void blockILUDecomposition (const M &A, int n, M &ILU)
 
template<class M , class CRS , class InvVector >
void convertToCRS (const M &A, CRS &lower, CRS &upper, InvVector &inv)
 convert ILU decomposition into CRS format for lower and upper triangular and inverse. More...
 
template<class CRS , class InvVector , class X , class Y >
void bilu_backsolve (const CRS &lower, const CRS &upper, const InvVector &inv, X &v, const Y &d)
 
template<class CRS , class InvVector , class X , class Y >
void blockILUBacksolve (const CRS &lower, const CRS &upper, const InvVector &inv, X &v, const Y &d)
 LU backsolve with stored inverse in CRS format for lower and upper triangular. More...
 

Function Documentation

◆ bilu_backsolve()

template<class CRS , class InvVector , class X , class Y >
void Dune::ILU::bilu_backsolve ( const CRS lower,
const CRS upper,
const InvVector &  inv,
X &  v,
const Y &  d 
)
Deprecated:
"Will be removed after release 2.8. Use blockILUBacksolve."

◆ blockILU0Decomposition()

template<class M >
void Dune::ILU::blockILU0Decomposition ( M &  A)

compute ILU decomposition of A. A is overwritten by its decomposition

◆ blockILUBacksolve() [1/2]

template<class CRS , class InvVector , class X , class Y >
void Dune::ILU::blockILUBacksolve ( const CRS lower,
const CRS upper,
const InvVector &  inv,
X &  v,
const Y &  d 
)

LU backsolve with stored inverse in CRS format for lower and upper triangular.

◆ blockILUBacksolve() [2/2]

template<class M , class X , class Y >
void Dune::ILU::blockILUBacksolve ( const M &  A,
X &  v,
const Y &  d 
)

LU backsolve with stored inverse.

◆ blockILUDecomposition()

template<class M >
void Dune::ILU::blockILUDecomposition ( const M &  A,
int  n,
M &  ILU 
)

ILU decomposition of order n Computes ILU decomposition of order n. The matrix ILU should be an empty matrix in row_wise creation mode. This allows the user to either specify the number of nonzero elements or to determine it automatically at run-time.

◆ convertToCRS()

template<class M , class CRS , class InvVector >
void Dune::ILU::convertToCRS ( const M &  A,
CRS lower,
CRS upper,
InvVector &  inv 
)

convert ILU decomposition into CRS format for lower and upper triangular and inverse.

◆ firstMatrixElement() [1/3]

template<class K , int n, int m>
K & Dune::ILU::firstMatrixElement ( FieldMatrix< K, n, m > &  A)

◆ firstMatrixElement() [2/3]

template<class K >
K & Dune::ILU::firstMatrixElement ( K &  A,
typename std::enable_if_t< Dune::IsNumber< K >::value > *  sfinae = nullptr 
)

◆ firstMatrixElement() [3/3]

template<class M >
M::field_type & Dune::ILU::firstMatrixElement ( M &  A,
typename std::enable_if_t<!Dune::IsNumber< M >::value > *  sfinae = nullptr 
)