From d2892c90d437f47fc517ecd27f4822f0585b80d0 Mon Sep 17 00:00:00 2001 From: bangerth Date: Wed, 27 Feb 2008 15:11:52 +0000 Subject: [PATCH] Fixed: The implementation of SparseILU::vmult very needlessly called SparseMatrix::vmult just to throw away the (nonsensical) result away immediately. This is now fixed.
(WB 2008/2/27) git-svn-id: https://svn.dealii.org/trunk@15806 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/news/changes.h | 6 ++++++ deal.II/lac/include/lac/sparse_ilu.templates.h | 14 +++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index 20f4bcd0fe..0fcbdb44b3 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -214,6 +214,12 @@ an integer id of the current thread.

lac

    +
  1. Fixed: The implementation of SparseILU::vmult very needlessly called +SparseMatrix::vmult just to throw away the (nonsensical) result away +immediately. This is now fixed. +
    +(WB 2008/2/27) +
  2. New: The functionality print_gnuplot is now also available for sparsity patterns derived from the class BlockSparsityPatternBase, e.g. for diff --git a/deal.II/lac/include/lac/sparse_ilu.templates.h b/deal.II/lac/include/lac/sparse_ilu.templates.h index 14e2845220..c0a0c75e81 100644 --- a/deal.II/lac/include/lac/sparse_ilu.templates.h +++ b/deal.II/lac/include/lac/sparse_ilu.templates.h @@ -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 void SparseILU::vmult (Vector &dst, const Vector &src) const { - SparseLUDecomposition::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::vmult (Vector &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::vmult (Vector &dst, // note that the diagonal element // was stored inverted dst(row) *= this->diag_element(row); - }; + } } @@ -247,8 +245,6 @@ template void SparseILU::Tvmult (Vector &dst, const Vector &src) const { - SparseLUDecomposition::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::Tvmult (Vector &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::Tvmult (Vector &dst, for (const unsigned int * col=rowstart; col!=first_after_diagonal; ++col) tmp(*col) += this->global_entry (col-column_numbers) * dst(row); - }; + } } -- 2.39.5