From: guido Date: Tue, 10 May 2005 07:05:49 +0000 (+0000) Subject: remove PreconditionUMFPACK X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8abf780fe777cf4b394a215e708a4105a36a54cc;p=dealii-svn.git remove PreconditionUMFPACK git-svn-id: https://svn.dealii.org/trunk@10658 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/include/lac/sparse_direct.h b/deal.II/lac/include/lac/sparse_direct.h index a20e9325b2..4c1f2f83a2 100644 --- a/deal.II/lac/include/lac/sparse_direct.h +++ b/deal.II/lac/include/lac/sparse_direct.h @@ -1005,6 +1005,15 @@ class SparseDirectMA47 : public Subscriptor * direct sparse LU factorization. Matrices may have symmetric or unsymmetrix * sparsity patterns, and may have unsymmetric entries. * + * This matrix class implements the usual interface of + * preconditioners, that is a function initialize(const + * SparseMatrix&matrix,const AdditionalData) for initalizing + * and the whole set of vmult() functions common to all + * matrices. Implemented here are only vmult() and vmult_add(), which + * perform multiplication with the inverse matrix. Furthermore, this + * class provides an older interface, consisting of the functions + * factorize() and solve(). Both interfaces are interchangeable. + * * @note This class only exists if support for UMFPACK was * enabled during configure and if the &matrix); + /** + * Initialize memory and call + * SparseDirectUMFPACK::factorize. + */ + void initialize(const SparseMatrix &matrix, + const AdditionalData = AdditionalData()); + + /** + * Preconditioner interface + * function. Given the source + * vector, returns the + * approximated solution of Ax + * = b. + */ + void vmult (Vector&, const Vector&) const; + + /** + * Not implemented but necessary + * for compiling. + */ + void Tvmult (Vector&, const Vector&) const; + + /** + * Same as vmult(), but adding to + * the previous solution. Not + * implemented yet. + */ + void vmult_add (Vector&, const Vector&) const; + + /** + * Not implemented but necessary + * for compiling. + */ + void Tvmult_add (Vector&, const Vector&) const; + /** * Solve for a certain right hand * side vector. This function may @@ -1157,61 +1210,6 @@ class SparseDirectUMFPACK : public virtual Subscriptor }; -/** - * Wrapper for SparseDirectUMFPACK, implementing the usual - * preconditioner interface with functions initialize() and vmult(). - */ -class PreconditionUMFPACK : public virtual Subscriptor, - private SparseDirectUMFPACK -{ - public: - /** - * Dummy class needed for the - * usual initalization interface - * of preconditioners. - */ - class AdditionalData - {}; - - - /** - * Initialize memory and call - * SparseDirectUMFPACK::factorize. - */ - void initialize(const SparseMatrix &matrix, - const AdditionalData = AdditionalData()); - - /** - * Preconditioner interface - * function. Given the source - * vector, returns the - * approximated solution of Ax - * = b. - */ - void vmult (Vector&, const Vector&) const; - - /** - * Not implemented but necessary - * for compiling. - */ - void Tvmult (Vector&, const Vector&) const; - - /** - * Same as vmult(), but adding to - * the previous solution. Not - * implemented yet. - */ - void vmult_add (Vector&, const Vector&) const; - - /** - * Not implemented but necessary - * for compiling. - */ - void Tvmult_add (Vector&, const Vector&) const; -}; - - - /*@}*/ diff --git a/deal.II/lac/source/sparse_direct.cc b/deal.II/lac/source/sparse_direct.cc index 68b5dc1a6a..fa1960aebc 100644 --- a/deal.II/lac/source/sparse_direct.cc +++ b/deal.II/lac/source/sparse_direct.cc @@ -1885,7 +1885,7 @@ SparseDirectUMFPACK::solve (const SparseMatrix &, void -PreconditionUMFPACK::initialize (const SparseMatrix& M, +SparseDirectUMFPACK::initialize (const SparseMatrix& M, const AdditionalData) { this->factorize(M); @@ -1893,7 +1893,7 @@ PreconditionUMFPACK::initialize (const SparseMatrix& M, void -PreconditionUMFPACK::vmult ( +SparseDirectUMFPACK::vmult ( Vector& dst, const Vector& src) const { @@ -1903,7 +1903,7 @@ PreconditionUMFPACK::vmult ( void -PreconditionUMFPACK::Tvmult ( +SparseDirectUMFPACK::Tvmult ( Vector&, const Vector&) const { @@ -1912,7 +1912,7 @@ PreconditionUMFPACK::Tvmult ( void -PreconditionUMFPACK::vmult_add ( +SparseDirectUMFPACK::vmult_add ( Vector&, const Vector&) const { @@ -1921,7 +1921,7 @@ PreconditionUMFPACK::vmult_add ( void -PreconditionUMFPACK::Tvmult_add ( +SparseDirectUMFPACK::Tvmult_add ( Vector&, const Vector&) const {