Loading...
Searching...
No Matches
Dune::ILU Namespace Reference
Iterative Solvers Template Library (ISTL) » Sparse Matrix and Vector classes » Block Recursive Iterative Kernels

## 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
template<class M, class X, class Y>
void | blockILUBacksolve (const M &A, X &v, const Y &d)
| LU backsolve with stored inverse.
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.
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.

## Function Documentation

## 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 )