ISTL


Files

file  overlappingschwarz.hh
 Contains one level overlapping Schwarz preconditioners.
file  superlu.hh
 Classes for using SuperLU with ISTL matrices.

Modules

 Sparse Matrix and Vector classes
 Matrix and Vector classes that support a block recursive structure capable of representing the natural structure from Finite Element discretisations.
 ISTL Communication
 Provides classes for syncing distributed indexed data structures.
 Iterative Solvers

Classes

class  Dune::ISTLAllocator
 Default allocator for ISTL. More...
class  Dune::ISTLError
 derive error class from the base class in common More...
class  Dune::OverlappingSchwarzInitializer< I, S >
 Initializer for SuperLU Matrices representing the subdomains. More...
struct  Dune::AdditiveSchwarzMode
 Tag that the tells the schwarz method to be additive. More...
struct  Dune::MultiplicativeSchwarzMode
 Tag that tells the Schwarz method to be multiplicative. More...
class  Dune::SeqOverlappingSchwarz< M, X, TM, TA >
 Sequential overlapping Schwarz preconditioner. More...
struct  Dune::SeqOverlappingSchwarzDomainSize< M >
class  Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >
 SuperLu Solver. More...

Functions

 Dune::SeqOverlappingSchwarz::SeqOverlappingSchwarz (const matrix_type &mat, const subdomain_vector &subDomains, field_type relaxationFactor=1)
 Construct the overlapping Schwarz method.
virtual void Dune::SeqOverlappingSchwarz::apply (X &v, const X &d)
 Apply the precondtioner.
 Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::SuperLU (const Matrix &mat, bool verbose=false)
 Constructor.
 Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::SuperLU ()
 Empty default constructor.
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::setMatrix (const Matrix &mat)
 Initialize data from given matrix.
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::apply (domain_type &x, range_type &b, InverseOperatorResult &res)
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::apply (T *x, T *b)
 Apply SuperLu to C arrays.

Function Documentation

template<typename T, typename A, int n, int m>
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::apply ( domain_type x,
range_type b,
InverseOperatorResult res 
) [inline, inherited]

Apply inverse operator,.

Warning:
Note: right hand side b may be overwritten!
Parameters:
x The left hand side to store the result in.
b The right hand side
res Object to store the statistics about applying the operator.

template<class M, class X, class TM, class TA>
void Dune::SeqOverlappingSchwarz< M, X, TM, TA >::apply ( X &  v,
const X &  d 
) [inline, virtual, inherited]

Apply the precondtioner.

Apply one step of the preconditioner to the system A(v)=d.

On entry v=0 and d=b-A(x) (although this might not be computed in that way. On exit v contains the update, i.e one step computes $ v = M^{-1} d $ where $ M $ is the approximate inverse of the operator $ A $ characterizing the preconditioner.

Parameters:
[out] v The update to be computed
d The current defect.

Implements Dune::Preconditioner< X, X >.

template<class M, class X, class TM, class TA>
Dune::SeqOverlappingSchwarz< M, X, TM, TA >::SeqOverlappingSchwarz ( const matrix_type mat,
const subdomain_vector subDomains,
field_type  relaxationFactor = 1 
) [inline, inherited]

Construct the overlapping Schwarz method.

Parameters:
mat The matrix to precondition.
subdomains Array of sets of rowindices belonging to an overlapping subdomain
Warning:
Each rowindex should be part of at least one subdomain!

template<typename T, typename A, int n, int m>
Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::SuperLU (  )  [inline, inherited]

Empty default constructor.

Use setMatrix to tell SuperLU for what matrix it solves.

template<typename T, typename A, int n, int m>
Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::SuperLU ( const Matrix mat,
bool  verbose = false 
) [inline, explicit, inherited]

Constructor.

Parameters:
mat The matrix of the system to solve.
verbose If true some statistics are printed.

Generated on 6 Nov 2008 with Doxygen (ver 1.5.6) [logfile].