]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Make AMG preconditioner also work for MPI based compiler (right now it still runs...
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 21 Aug 2008 21:32:12 +0000 (21:32 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 21 Aug 2008 21:32:12 +0000 (21:32 +0000)
git-svn-id: https://svn.dealii.org/trunk@16646 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/lac/include/lac/trilinos_precondition_amg.h
deal.II/lac/source/trilinos_precondition_amg.cc

index b0aff0cec055fb45a751db06e5befeff276838c6..3ab5cfbc1b8ead1912c544c7b1a444d739cd8053 100755 (executable)
 
 
 #ifdef DEAL_II_USE_TRILINOS
+#ifdef DEAL_II_COMPILER_SUPPORTS_MPI
+#  include <Epetra_MpiComm.h>
+#  include <mpi.h>
+#else
+#  include <Epetra_SerialComm.h>
+#endif
 
 // some forward declarations
 namespace ML_Epetra
@@ -105,7 +111,11 @@ namespace TrilinosWrappers
                                        */
       boost::shared_ptr<ML_Epetra::MultiLevelPreconditioner> multigrid_operator;
 
+#ifdef DEAL_II_COMPILER_SUPPORTS_MPI
+      Epetra_MpiComm     communicator;
+#else
       Epetra_SerialComm  communicator;
+#endif
       boost::shared_ptr<Epetra_Map>       Map;
 
                                       /**
index 26a1361fa2e54a866b903726735e1fa2b5eb5529..41e2fbef586126b91a58e849e99b8c17617e0f07 100755 (executable)
@@ -16,7 +16,9 @@
 #include <lac/vector.h>
 #include <lac/sparse_matrix.h>
 
-#include <Epetra_SerialComm.h>
+
+#ifdef DEAL_II_USE_TRILINOS
+
 #include <Epetra_Map.h>
 #include <Epetra_CrsMatrix.h>
 #include <Epetra_Vector.h>
 #include <ml_include.h>
 #include <ml_MultiLevelPreconditioner.h>
 
-
-
-#ifdef DEAL_II_USE_TRILINOS
-
 DEAL_II_NAMESPACE_OPEN
 
 namespace TrilinosWrappers
 {
 
-  PreconditionAMG::PreconditionAMG ()
+  PreconditionAMG::PreconditionAMG () :
+#ifdef DEAL_II_COMPILER_SUPPORTS_MPI
+    communicator (MPI_COMM_WORLD)
+#endif
   {}
 
 
@@ -57,7 +58,6 @@ namespace TrilinosWrappers
            ExcMessage ("Drop tolerance must be a non-negative number."));
   
     const unsigned int n_rows = matrix.m();
-    const SparsityPattern *sparsity_pattern = &(matrix.get_sparsity_pattern());
   
                                     // Init Epetra Matrix, avoid 
                                     // storing the nonzero elements.

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.