]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Fixed: The implementation of SparseILU::vmult very needlessly called
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 27 Feb 2008 15:11:52 +0000 (15:11 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 27 Feb 2008 15:11:52 +0000 (15:11 +0000)
SparseMatrix::vmult just to throw away the (nonsensical) result away
immediately. This is now fixed.
<br>
(WB 2008/2/27)

git-svn-id: https://svn.dealii.org/trunk@15806 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/news/changes.h
deal.II/lac/include/lac/sparse_ilu.templates.h

index 20f4bcd0feb168e8f7316c07433c56dd069057b3..0fcbdb44b3051931149c46e7776ea6d4c33f8a23 100644 (file)
@@ -214,6 +214,12 @@ an integer id of the current thread.
 <h3>lac</h3>
 
 <ol>
+<li> Fixed: The implementation of SparseILU::vmult very needlessly called
+SparseMatrix::vmult just to throw away the (nonsensical) result away
+immediately. This is now fixed.
+<br>
+(WB 2008/2/27)
+</li>
 
 <li> New: The functionality print_gnuplot is now also available for sparsity
 patterns derived from the class BlockSparsityPatternBase, e.g. for
index 14e2845220b21c0d891596b33f526b1a43db7640..c0a0c75e81b81ad596059805b0f502b5b5d7d17b 100644 (file)
@@ -1,5 +1,5 @@
 //---------------------------------------------------------------------------
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 by the deal.II authors
 //    by the deal.II authors and Stephen "Cheffo" Kolaroff
 //
 //    This file is subject to QPL and may not be  distributed
@@ -179,8 +179,6 @@ template <typename somenumber>
 void SparseILU<number>::vmult (Vector<somenumber>       &dst,
                                const Vector<somenumber> &src) const 
 {
-  SparseLUDecomposition<number>::vmult (dst, src);
-
   Assert (dst.size() == src.size(), ExcDimensionMismatch(dst.size(), src.size()));
   Assert (dst.size() == this->m(), ExcDimensionMismatch(dst.size(), this->m()));
   
@@ -213,7 +211,7 @@ void SparseILU<number>::vmult (Vector<somenumber>       &dst,
       
       for (const unsigned int * col=rowstart; col!=first_after_diagonal; ++col)
        dst(row) -= this->global_entry (col-column_numbers) * dst(*col);
-    };
+    }
 
                                   // now the backward solve. same
                                   // procedure, but we need not set
@@ -238,7 +236,7 @@ void SparseILU<number>::vmult (Vector<somenumber>       &dst,
                                       // note that the diagonal element
                                       // was stored inverted
       dst(row) *= this->diag_element(row);
-    };
+    }
 }
 
 
@@ -247,8 +245,6 @@ template <typename somenumber>
 void SparseILU<number>::Tvmult (Vector<somenumber>       &dst,
                                const Vector<somenumber> &src) const 
 {
-  SparseLUDecomposition<number>::Tvmult (dst, src);
-
   Assert (dst.size() == src.size(), ExcDimensionMismatch(dst.size(), src.size()));
   Assert (dst.size() == this->m(), ExcDimensionMismatch(dst.size(), this->m()));
   
@@ -284,7 +280,7 @@ void SparseILU<number>::Tvmult (Vector<somenumber>       &dst,
       
       for (const unsigned int * col=first_after_diagonal; col!=rowend; ++col)
        tmp(*col) += this->global_entry (col-column_numbers) * dst(row);
-    };
+    }
 
                                   // now the backward solve. same
                                   // procedure, but we need not set
@@ -308,7 +304,7 @@ void SparseILU<number>::Tvmult (Vector<somenumber>       &dst,
       
       for (const unsigned int * col=rowstart; col!=first_after_diagonal; ++col)
        tmp(*col) += this->global_entry (col-column_numbers) * dst(row);
-    };
+    }
 }
 
 

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.