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 where
is the approximate inverse of the operator
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.