Block Recursive Iterative Kernels
[Sparse Matrix and Vector classes]


Detailed Description

Generic iterative kernels for the solvers which work on the block recursive structure of the matrices and vectors.


Classes

struct  Dune::BL< l >
 compile-time parameter for block recursion depth More...

Functions

template<class M, class X, class Y>
void Dune::bltsolve (const M &A, X &v, const Y &d)
 block lower triangular solve
template<class M, class X, class Y, class K>
void Dune::bltsolve (const M &A, X &v, const Y &d, const K &w)
 relaxed block lower triangular solve
template<class M, class X, class Y>
void Dune::ubltsolve (const M &A, X &v, const Y &d)
 unit block lower triangular solve
template<class M, class X, class Y, class K>
void Dune::ubltsolve (const M &A, X &v, const Y &d, const K &w)
 relaxed unit block lower triangular solve
template<class M, class X, class Y>
void Dune::butsolve (const M &A, X &v, const Y &d)
 block upper triangular solve
template<class M, class X, class Y, class K>
void Dune::butsolve (const M &A, X &v, const Y &d, const K &w)
 relaxed block upper triangular solve
template<class M, class X, class Y>
void Dune::ubutsolve (const M &A, X &v, const Y &d)
 unit block upper triangular solve
template<class M, class X, class Y, class K>
void Dune::ubutsolve (const M &A, X &v, const Y &d, const K &w)
 relaxed unit block upper triangular solve
template<class M, class X, class Y, int l>
void Dune::bltsolve (const M &A, X &v, const Y &d, BL< l > bl)
 block lower triangular solve
template<class M, class X, class Y, class K, int l>
void Dune::bltsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl)
 relaxed block lower triangular solve
template<class M, class X, class Y, int l>
void Dune::ubltsolve (const M &A, X &v, const Y &d, BL< l > bl)
 unit block lower triangular solve
template<class M, class X, class Y, class K, int l>
void Dune::ubltsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl)
 relaxed unit block lower triangular solve
template<class M, class X, class Y, int l>
void Dune::butsolve (const M &A, X &v, const Y &d, BL< l > bl)
 block upper triangular solve
template<class M, class X, class Y, class K, int l>
void Dune::butsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl)
 relaxed block upper triangular solve
template<class M, class X, class Y, int l>
void Dune::ubutsolve (const M &A, X &v, const Y &d, BL< l > bl)
 unit block upper triangular solve
template<class M, class X, class Y, class K, int l>
void Dune::ubutsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl)
 relaxed unit block upper triangular solve
template<class M, class X, class Y>
void Dune::bdsolve (const M &A, X &v, const Y &d)
 block diagonal solve, no relaxation
template<class M, class X, class Y, class K>
void Dune::bdsolve (const M &A, X &v, const Y &d, const K &w)
 block diagonal solve, with relaxation
template<class M, class X, class Y, int l>
void Dune::bdsolve (const M &A, X &v, const Y &d, BL< l > bl)
 block diagonal solve, no relaxation
template<class M, class X, class Y, class K, int l>
void Dune::bdsolve (const M &A, X &v, const Y &d, const K &w, BL< l > bl)
 block diagonal solve, with relaxation
template<class M, class X, class Y, class K>
void Dune::dbgs (const M &A, X &x, const Y &b, const K &w)
 GS step.
template<class M, class X, class Y, class K, int l>
void Dune::dbgs (const M &A, X &x, const Y &b, const K &w, BL< l > bl)
 GS step.
template<class M, class X, class Y, class K>
void Dune::bsorf (const M &A, X &x, const Y &b, const K &w)
 SOR step.
template<class M, class X, class Y, class K, int l>
void Dune::bsorf (const M &A, X &x, const Y &b, const K &w, BL< l > bl)
 SOR step.
template<class M, class X, class Y, class K>
void Dune::bsorb (const M &A, X &x, const Y &b, const K &w)
 SSOR step.
template<class M, class X, class Y, class K, int l>
void Dune::bsorb (const M &A, X &x, const Y &b, const K &w, BL< l > bl)
 SSOR step.
template<class M, class X, class Y, class K>
void Dune::dbjac (const M &A, X &x, const Y &b, const K &w)
 Jacobi step.
template<class M, class X, class Y, class K, int l>
void Dune::dbjac (const M &A, X &x, const Y &b, const K &w, BL< l > bl)
 Jacobi step.
template<class M>
void Dune::bilu0_decomposition (M &A)
 compute ILU decomposition of A. A is overwritten by its decomposition
template<class M, class X, class Y>
void Dune::bilu_backsolve (const M &A, X &v, const Y &d)
 LU backsolve with stored inverse.
template<class M>
void Dune::bilu_decomposition (const M &A, int n, M &ILU)


Function Documentation

template<class M>
void Dune::bilu_decomposition ( const M &  A,
int  n,
M &  ILU 
) [inline]

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.

References Dune::bilu0_decomposition().

Referenced by Dune::SeqILUn< M, X, Y >::SeqILUn().


Generated on Thu Apr 2 10:40:16 2009 for dune-istl by  doxygen 1.5.6