]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
It is cleaner to call Epetra_Matrix::Multiply with Epetra_MultiVector
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 9 May 2013 20:31:53 +0000 (20:31 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 9 May 2013 20:31:53 +0000 (20:31 +0000)
git-svn-id: https://svn.dealii.org/trunk@29489 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/lac/trilinos_sparse_matrix.h

index ff56ed065c51f33478317558ffbe7eddfdef1daa..348ff352c3b9987b0d6de14ea9b78ecaa54e6492 100644 (file)
@@ -33,7 +33,7 @@
 #  include <Epetra_FECrsMatrix.h>
 #  include <Epetra_Map.h>
 #  include <Epetra_CrsGraph.h>
-#  include <Epetra_Vector.h>
+#  include <Epetra_MultiVector.h>
 #  ifdef DEAL_II_WITH_MPI
 #    include <Epetra_MpiComm.h>
 #    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<TrilinosScalar *>(src.begin()));
+    Epetra_MultiVector tril_dst (View, matrix->RangeMap(), dst.begin(),
+                                 matrix->DomainMap().NumMyPoints(), 1);
+    Epetra_MultiVector tril_src (View, matrix->DomainMap(),
+                                 const_cast<TrilinosScalar *>(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<double *>(src.begin()));
+    Epetra_MultiVector tril_dst (View, matrix->DomainMap(), dst.begin(),
+                                 matrix->DomainMap().NumMyPoints(), 1);
+    Epetra_MultiVector tril_src (View, matrix->RangeMap(),
+                                 const_cast<double *>(src.begin()),
+                                 matrix->DomainMap().NumMyPoints(), 1);
 
     const int ierr = matrix->Multiply (true, tril_src, tril_dst);
     Assert (ierr == 0, ExcTrilinosError(ierr));

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.