From 33995712af29c5c1f79555af8fec3687744b0a4f Mon Sep 17 00:00:00 2001 From: kronbichler Date: Thu, 9 May 2013 20:31:53 +0000 Subject: [PATCH] It is cleaner to call Epetra_Matrix::Multiply with Epetra_MultiVector git-svn-id: https://svn.dealii.org/trunk@29489 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/lac/trilinos_sparse_matrix.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h b/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h index ff56ed065c..348ff352c3 100644 --- a/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h +++ b/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h @@ -33,7 +33,7 @@ # include # include # include -# include +# include # ifdef DEAL_II_WITH_MPI # include # include "mpi.h" @@ -3648,9 +3648,11 @@ namespace TrilinosWrappers const int src_local_size = src.end() - src.begin(); AssertDimension (src_local_size, matrix->DomainMap().NumMyElements()); - Epetra_Vector tril_dst (View, matrix->RangeMap(), dst.begin()); - Epetra_Vector tril_src (View, matrix->DomainMap(), - const_cast(src.begin())); + Epetra_MultiVector tril_dst (View, matrix->RangeMap(), dst.begin(), + matrix->DomainMap().NumMyPoints(), 1); + Epetra_MultiVector tril_src (View, matrix->DomainMap(), + const_cast(src.begin()), + matrix->DomainMap().NumMyPoints(), 1); const int ierr = matrix->Multiply (false, tril_src, tril_dst); Assert (ierr == 0, ExcTrilinosError(ierr)); @@ -3674,9 +3676,11 @@ namespace TrilinosWrappers const int src_local_size = src.end() - src.begin(); AssertDimension (src_local_size, matrix->RangeMap().NumMyElements()); - Epetra_Vector tril_dst (View, matrix->DomainMap(), dst.begin()); - Epetra_Vector tril_src (View, matrix->RangeMap(), - const_cast(src.begin())); + Epetra_MultiVector tril_dst (View, matrix->DomainMap(), dst.begin(), + matrix->DomainMap().NumMyPoints(), 1); + Epetra_MultiVector tril_src (View, matrix->RangeMap(), + const_cast(src.begin()), + matrix->DomainMap().NumMyPoints(), 1); const int ierr = matrix->Multiply (true, tril_src, tril_dst); Assert (ierr == 0, ExcTrilinosError(ierr)); -- 2.39.5