]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add initialize function. decompose function is deprecated. Step towards unification...
authorhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 18 Feb 2003 10:46:29 +0000 (10:46 +0000)
committerhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 18 Feb 2003 10:46:29 +0000 (10:46 +0000)
git-svn-id: https://svn.dealii.org/trunk@7143 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/lac/include/lac/sparse_ilu.h
deal.II/lac/include/lac/sparse_ilu.templates.h

index 9ff2647f9a31d82078f8ac9ab53bb61bb5bdb2ec..1fb8c8430add1b219649d2f1115be0de863fcbdc 100644 (file)
@@ -79,6 +79,8 @@ class SparseILU : public SparseLUDecomposition<number>
                                       * argument.
                                       */
     SparseILU (const SparsityPattern &sparsity);
+    
+    typedef SparseLUDecomposition<number>::AdditionalData AdditionalData;
 
                                     /**
                                      * Perform the incomplete LU
@@ -96,7 +98,8 @@ class SparseILU : public SparseLUDecomposition<number>
                                      * decomposed.  Fill-in is thus
                                      * allowed.
                                      *
-                                     * If @p{strengthen_diagonal}
+                                     * If the
+                                     * @p{AdditionalData::strengthen_diagonal}
                                      * parameter is greater than
                                      * zero, this method invokes
                                      * @p{get_strengthen_diagonal_impl
@@ -108,6 +111,16 @@ class SparseILU : public SparseLUDecomposition<number>
                                      * management.
                                      */
     template <typename somenumber>
+    void initialize (const SparseMatrix<somenumber> &matrix,
+                    const AdditionalData parameters);
+
+                                    /**
+                                     * Same as @p{initialize}. This method
+                                     * is deprecated, and left for
+                                     * backward compability. It may
+                                     * be removed in later versions.
+                                     */
+    template <typename somenumber>
     void decompose (const SparseMatrix<somenumber> &matrix,
                    const double                    strengthen_diagonal=0.);
 
@@ -116,7 +129,6 @@ class SparseILU : public SparseLUDecomposition<number>
                                      * is deprecated, and left for
                                      * backward compability. It may
                                      * be removed in later versions.
-                                     *
                                      */
     template <typename somenumber>
     void apply_decomposition (Vector<somenumber>       &dst,
@@ -175,4 +187,16 @@ SparseILU<number>::apply_decomposition (Vector<somenumber>       &dst,
   vmult (dst, src);
 }
 
+
+
+template <typename number>
+template <typename somenumber>
+inline
+void SparseILU<number>::decompose (const SparseMatrix<somenumber> &matrix,
+                                  const double strengthen_diagonal)
+{
+  initialize(matrix, AdditionalData(strengthen_diagonal));
+}
+
+
 #endif // __deal2__sparse_ilu_h
index 90072d8f9361a78d4f5c3db4b6f7003276a3d8a0..6728c4dba5d18ffb52a4bc9599a3b20cbc993b2e 100644 (file)
@@ -36,19 +36,20 @@ SparseILU<number>::SparseILU (const SparsityPattern &sparsity) :
 
 template <typename number>
 template <typename somenumber>
-void SparseILU<number>::decompose (const SparseMatrix<somenumber> &matrix,
-                                  const double                    strengthen_diagonal)
+void SparseILU<number>::initialize (const SparseMatrix<somenumber> &matrix,
+                                   const AdditionalData data)
 {
-  SparseLUDecomposition<number>::decompose (matrix, strengthen_diagonal);
+  SparseLUDecomposition<number>::decompose (matrix, data.strengthen_diagonal);
   Assert (matrix.m()==matrix.n(), ExcMatrixNotSquare ());
   Assert (this->m()==this->n(),   ExcMatrixNotSquare ());
   Assert (matrix.m()==this->m(),  ExcSizeMismatch(matrix.m(), this->m()));
   
-  Assert (strengthen_diagonal>=0, ExcInvalidStrengthening (strengthen_diagonal));
+  Assert (data.strengthen_diagonal>=0,
+         ExcInvalidStrengthening (data.strengthen_diagonal));
 
   this->copy_from (matrix);
 
-  if (strengthen_diagonal>0)
+  if (data.strengthen_diagonal>0)
     this->strengthen_diagonal_impl();
 
   const SparsityPattern             &sparsity = this->get_sparsity_pattern();

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.