]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Automatically set MPI_Comm in MatrixFree 3750/head
authorDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Sun, 8 Jan 2017 21:56:29 +0000 (22:56 +0100)
committerDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Mon, 9 Jan 2017 10:27:37 +0000 (11:27 +0100)
27 files changed:
doc/news/changes/minor/2017DanielArndt20170108DanielArndt [new file with mode: 0644]
examples/step-37/step-37.cc
examples/step-48/step-48.cc
include/deal.II/matrix_free/matrix_free.h
include/deal.II/matrix_free/matrix_free.templates.h
include/deal.II/numerics/vector_tools.templates.h
tests/arpack/step-36_parpack_mf.cc
tests/matrix_free/laplace_operator_01.cc
tests/matrix_free/laplace_operator_02.cc
tests/matrix_free/mass_operator_01.cc
tests/matrix_free/mass_operator_02.cc
tests/matrix_free/mass_operator_03.cc
tests/matrix_free/matrix_vector_10.cc
tests/matrix_free/matrix_vector_11.cc
tests/matrix_free/matrix_vector_12.cc
tests/matrix_free/matrix_vector_13.cc
tests/matrix_free/matrix_vector_19.cc
tests/matrix_free/parallel_multigrid.cc
tests/matrix_free/parallel_multigrid_02.cc
tests/matrix_free/parallel_multigrid_adaptive_01.cc
tests/matrix_free/parallel_multigrid_adaptive_02.cc
tests/matrix_free/parallel_multigrid_adaptive_03.cc
tests/matrix_free/parallel_multigrid_adaptive_04.cc
tests/matrix_free/parallel_multigrid_mf.cc
tests/matrix_free/step-48.cc
tests/matrix_free/step-48c.cc
tests/numerics/project_parallel_qpmf_common.h

diff --git a/doc/news/changes/minor/2017DanielArndt20170108DanielArndt b/doc/news/changes/minor/2017DanielArndt20170108DanielArndt
new file mode 100644 (file)
index 0000000..533ffc2
--- /dev/null
@@ -0,0 +1,4 @@
+Improved: The MPI_Comm used in MatrixFree is not configurable via 
+AdditionalData anymore but set to the MPI_Comm of the Triangulation.
+<br>
+(Daniel Arndt, 2017/01/08)
index a12ae9601e4e203b5d7c406f96f4a3cdcb20faf4..4360a1f0214b2bd6cb5a8f3cd62b67294be46269 100644 (file)
@@ -1,6 +1,6 @@
 /* ---------------------------------------------------------------------
  *
- * Copyright (C) 2009 - 2016 by the deal.II authors
+ * Copyright (C) 2009 - 2017 by the deal.II authors
  *
  * This file is part of the deal.II library.
  *
@@ -840,7 +840,6 @@ namespace Step37
         MatrixFree<dim,double>::AdditionalData::none;
       additional_data.mapping_update_flags = (update_gradients | update_JxW_values |
                                               update_quadrature_points);
-      additional_data.mpi_communicator = MPI_COMM_WORLD;
       system_mf_storage.reinit (dof_handler, constraints, QGauss<1>(fe.degree+1),
                                 additional_data);
     }
@@ -889,7 +888,6 @@ namespace Step37
           MatrixFree<dim,float>::AdditionalData::none;
         additional_data.mapping_update_flags = (update_gradients | update_JxW_values |
                                                 update_quadrature_points);
-        additional_data.mpi_communicator = MPI_COMM_WORLD;
         additional_data.level_mg_handler = level;
 
         mg_mf_storage[level].reinit(dof_handler, level_constraints,
index df772ab2c165c370f66912dbd49d90d80f08b011..40923dd0876e83f61f0bc8e611e74aed08335fbd 100644 (file)
@@ -1,6 +1,6 @@
 /* ---------------------------------------------------------------------
  *
- * Copyright (C) 2011 - 2016 by the deal.II authors
+ * Copyright (C) 2011 - 2017 by the deal.II authors
  *
  * This file is part of the deal.II library.
  *
@@ -415,7 +415,6 @@ namespace Step48
 
     QGaussLobatto<1> quadrature (fe_degree+1);
     typename MatrixFree<dim>::AdditionalData additional_data;
-    additional_data.mpi_communicator = MPI_COMM_WORLD;
     additional_data.tasks_parallel_scheme =
       MatrixFree<dim>::AdditionalData::partition_partition;
 
index b9515d756af6cf38df1cf428e278b2382bb6c5e8..6538db9b1a52f46e40a8bb8caa318e0d5d9e10a3 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2011 - 2016 by the deal.II authors
+// Copyright (C) 2011 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -166,7 +166,30 @@ public:
     /**
      * Constructor for AdditionalData.
      */
-    AdditionalData (const MPI_Comm            mpi_communicator   = MPI_COMM_SELF,
+    AdditionalData (const TasksParallelScheme tasks_parallel_scheme = partition_partition,
+                    const unsigned int        tasks_block_size   = 0,
+                    const UpdateFlags         mapping_update_flags  = update_gradients | update_JxW_values,
+                    const unsigned int level_mg_handler = numbers::invalid_unsigned_int,
+                    const bool                store_plain_indices = true,
+                    const bool                initialize_indices = true,
+                    const bool                initialize_mapping = true)
+      :
+      tasks_parallel_scheme (tasks_parallel_scheme),
+      tasks_block_size      (tasks_block_size),
+      mapping_update_flags  (mapping_update_flags),
+      level_mg_handler      (level_mg_handler),
+      store_plain_indices   (store_plain_indices),
+      initialize_indices    (initialize_indices),
+      initialize_mapping    (initialize_mapping)
+    {};
+
+    /**
+     * Constructor for AdditionalData.
+     *
+     * @deprecated @p mpi_communicator should not be specified here
+     * since it is not used in the MatrixFree class.
+     */
+    AdditionalData (const MPI_Comm            mpi_communicator,
                     const TasksParallelScheme tasks_parallel_scheme = partition_partition,
                     const unsigned int        tasks_block_size   = 0,
                     const UpdateFlags         mapping_update_flags  = update_gradients | update_JxW_values,
@@ -183,15 +206,18 @@ public:
       store_plain_indices   (store_plain_indices),
       initialize_indices    (initialize_indices),
       initialize_mapping    (initialize_mapping)
-    {};
+    {} DEAL_II_DEPRECATED
 
     /**
      * Set the MPI communicator that the parallel layout of the operator
      * should be based upon. Defaults to MPI_COMM_SELF, but should be set to a
      * communicator similar to the one used for a distributed triangulation in
      * order to inform this class over all cells that are present.
+     *
+     * @deprecated This variable is not used anymore. The @p mpi_communicator
+     * is automatically set to the one used by the triangulation.
      */
-    MPI_Comm            mpi_communicator;
+    MPI_Comm            mpi_communicator DEAL_II_DEPRECATED;
 
     /**
      * Set the scheme for task parallelism. There are four options available.
index cf2b3bbfbca671096d0896e04051f7b8ad8347c3..67e5a933440fabb044e03b4fdc4c3b128702f0d8 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2011 - 2016 by the deal.II authors
+// Copyright (C) 2011 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -74,38 +74,6 @@ copy_from (const MatrixFree<dim,Number> &v)
 
 
 
-namespace internal
-{
-  template <int dim>
-  void assert_communicator_equality (const dealii::Triangulation<dim> &tria,
-                                     const MPI_Comm                  &comm_mf)
-  {
-#ifdef DEAL_II_WITH_MPI
-    const parallel::distributed::Triangulation<dim> *dist_tria =
-      dynamic_cast<const parallel::distributed::Triangulation<dim>*>(&tria);
-    if (dist_tria != 0)
-      {
-        if (Utilities::MPI::job_supports_mpi())
-          {
-            int communicators_same = 0;
-            const int ierr = MPI_Comm_compare (dist_tria->get_communicator(), comm_mf,
-                                               &communicators_same);
-            AssertThrowMPI (ierr);
-            Assert (communicators_same == MPI_IDENT ||
-                    communicators_same == MPI_CONGRUENT,
-                    ExcMessage ("MPI communicator in parallel::distributed::Triangulation "
-                                "and matrix free class must be the same!"));
-          }
-      }
-#else
-    (void)tria;
-    (void)comm_mf;
-#endif
-  }
-}
-
-
-
 template <int dim, typename Number>
 void MatrixFree<dim,Number>::
 internal_reinit(const Mapping<dim>                          &mapping,
@@ -138,11 +106,14 @@ internal_reinit(const Mapping<dim>                          &mapping,
       AssertDimension (dof_handler.size(), locally_owned_set.size());
 
       // set variables that are independent of FE
-      internal::assert_communicator_equality (dof_handler[0]->get_triangulation(),
-                                              additional_data.mpi_communicator);
-      size_info.communicator = additional_data.mpi_communicator;
       if (Utilities::MPI::job_supports_mpi() == true)
         {
+          const parallel::Triangulation<dim> *dist_tria =
+            dynamic_cast<const parallel::Triangulation<dim>*>
+            (&(dof_handler[0]->get_triangulation()));
+          size_info.communicator = dist_tria != 0 ?
+                                   dist_tria->get_communicator() :
+                                   MPI_COMM_SELF;
           size_info.my_pid  =
             Utilities::MPI::this_mpi_process(size_info.communicator);
           size_info.n_procs =
@@ -150,6 +121,7 @@ internal_reinit(const Mapping<dim>                          &mapping,
         }
       else
         {
+          size_info.communicator = MPI_COMM_SELF;
           size_info.my_pid = 0;
           size_info.n_procs = 1;
         }
@@ -268,11 +240,14 @@ internal_reinit(const Mapping<dim>                            &mapping,
       AssertDimension (dof_handler.size(), locally_owned_set.size());
 
       // set variables that are independent of FE
-      internal::assert_communicator_equality (dof_handler[0]->get_triangulation(),
-                                              additional_data.mpi_communicator);
-      size_info.communicator = additional_data.mpi_communicator;
       if (Utilities::MPI::job_supports_mpi() == true)
         {
+          const parallel::Triangulation<dim> *dist_tria =
+            dynamic_cast<const parallel::Triangulation<dim>*>
+            (&(dof_handler[0]->get_triangulation()));
+          size_info.communicator = dist_tria != 0 ?
+                                   dist_tria->get_communicator() :
+                                   MPI_COMM_SELF;
           size_info.my_pid  =
             Utilities::MPI::this_mpi_process(size_info.communicator);
           size_info.n_procs =
@@ -280,6 +255,7 @@ internal_reinit(const Mapping<dim>                            &mapping,
         }
       else
         {
+          size_info.communicator = MPI_COMM_SELF;
           size_info.my_pid = 0;
           size_info.n_procs = 1;
         }
index a89258c0c4df4f7963a8ed0ce5e7c4a8cd573ec2..920d959b7164afcfe3033a8704e0218dfdeb6fbb 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2016 by the deal.II authors
+// Copyright (C) 2005 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -935,9 +935,6 @@ namespace VectorTools
       typename MatrixFree<dim,number>::AdditionalData additional_data;
       additional_data.tasks_parallel_scheme =
         MatrixFree<dim,number>::AdditionalData::partition_color;
-      if (const parallel::Triangulation<dim,spacedim> *parallel_tria =
-            dynamic_cast<const parallel::Triangulation<dim,spacedim>*>(&dof.get_tria()))
-        additional_data.mpi_communicator = parallel_tria->get_communicator();
       additional_data.mapping_update_flags = (update_values | update_JxW_values);
       MatrixFree<dim, number> matrix_free;
       matrix_free.reinit (mapping, dof, constraints,
@@ -1184,9 +1181,6 @@ namespace VectorTools
       typename MatrixFree<dim,Number>::AdditionalData additional_data;
       additional_data.tasks_parallel_scheme =
         MatrixFree<dim,Number>::AdditionalData::partition_color;
-      if (const parallel::Triangulation<dim,spacedim> *parallel_tria =
-            dynamic_cast<const parallel::Triangulation<dim,spacedim>*>(&dof.get_tria()))
-        additional_data.mpi_communicator = parallel_tria->get_communicator();
       additional_data.mapping_update_flags = (update_values | update_JxW_values);
       MatrixFree<dim, Number> matrix_free;
       matrix_free.reinit (mapping, dof, constraints,
index 6d2c95e04d21bbea9d4477db75745d1d44d9a58c..0bfbef63fa6460123d4f1f6301e0624837e394af 100644 (file)
@@ -95,7 +95,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,double>::AdditionalData data;
-    data.mpi_communicator = mpi_communicator;
     data.tasks_parallel_scheme =
       MatrixFree<dim,double>::AdditionalData::partition_color;
     data.mapping_update_flags = update_values | update_gradients | update_JxW_values;
index 9675dc7bf35ce501404ea5ebc450e7ffec48c6a3..6ca7be6bae9d536a6aa04a05ec6df1c09e565ca0 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -101,7 +101,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index 0d3f396bf95c2a49bcf9a316cd372395075b985e..0f95334d897125e68fac34c7f669b2f7a67802bb 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -145,7 +145,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index 4cb4d31ba9d28adfd26fef53b10e38c6b2ff7794..43d7d4cd7fffaa635e7c4960a093b1550c2669c5 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -109,7 +109,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+2);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index 34a3c0c38fda96b037b6c4cbf35dba97d22562f9..9d356780a12bb493ca5b9e4b1782ebf9537d0002 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -73,7 +73,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+2);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index c142f2fd6d8a01c1dff83c8456d563b4a9a8e100..bd441203139849314cc356ac0ef44c4145c3da65 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -72,7 +72,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+2);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index 731fc34db68d35d957fee69060d2801d15dca174..8c0c6dea320dc374af3874dab078a396f361870b 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 - 2015 by the deal.II authors
+// Copyright (C) 2013 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -109,7 +109,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index e1bae7227fd6491c7f851172f882d0b32a4595e0..cbef46fecefaaf71087b16fdfadaf086336d03b8 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 - 2015 by the deal.II authors
+// Copyright (C) 2013 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -102,7 +102,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
@@ -130,7 +129,6 @@ void test ()
     {
       const QGauss<1> quad (fe_degree+1);
       typename MatrixFree<dim,number>::AdditionalData data;
-      data.mpi_communicator = MPI_COMM_WORLD;
       if (parallel_option == 0)
         {
           data.tasks_parallel_scheme =
index 5e4cf2ad3a684c904f96528c49470202ef503b3f..d7b9576c35224ad364751c47b1797b0a1739e918 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 - 2015 by the deal.II authors
+// Copyright (C) 2013 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -164,7 +164,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index f8d863cc3217c00a572a0e037ac3aa2592846814..408efee6fb5396d9d9e551bad90247b876a16831 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 - 2015 by the deal.II authors
+// Copyright (C) 2013 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -164,7 +164,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index fd1cf7fc3b948d90352adaa92e77d1e203b50f9e..46b23d52a8d9708a2ea06b5521418aca8474da91 100644 (file)
@@ -99,7 +99,6 @@ void test ()
   {
     const QGauss<1> quad (fe_degree+1);
     typename MatrixFree<dim,number>::AdditionalData data;
-    data.mpi_communicator = MPI_COMM_WORLD;
     data.tasks_parallel_scheme =
       MatrixFree<dim,number>::AdditionalData::none;
     data.tasks_block_size = 7;
index feebc0e5460b2e387458836e881eadce21cae9d9..5338d75164ef21eceaaa3534a342c30c692d4adf 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2014 - 2016 by the deal.II authors
+// Copyright (C) 2014 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -62,7 +62,6 @@ public:
     typename MatrixFree<dim,number>::AdditionalData addit_data;
     addit_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
     addit_data.level_mg_handler = level;
-    addit_data.mpi_communicator = MPI_COMM_WORLD;
 
     // extract the constraints due to Dirichlet boundary conditions
     ConstraintMatrix constraints;
index d3c49daaa04312d1a65eb25806e0e354c57c6b60..4742e0fda6bab54ee5b3aa03ce75105caa1a01f4 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -118,7 +118,6 @@ void do_test (const DoFHandler<dim>  &dof)
 
   typename MatrixFree<dim,number>::AdditionalData fine_level_additional_data;
   fine_level_additional_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
-  fine_level_additional_data.mpi_communicator = MPI_COMM_WORLD;
   fine_level_data.reinit (mapping, dof, constraints, QGauss<1>(n_q_points_1d),
                           fine_level_additional_data);
 
@@ -144,7 +143,6 @@ void do_test (const DoFHandler<dim>  &dof)
     {
       typename MatrixFree<dim,number>::AdditionalData mg_additional_data;
       mg_additional_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
-      mg_additional_data.mpi_communicator = MPI_COMM_WORLD;
       mg_additional_data.level_mg_handler = level;
 
       ConstraintMatrix level_constraints;
index f50dbf9042c23cd1bb9380dfd9c86cd341d07385..c6b5ee06eaaff76b5f0de03dd3e8af234ad2cc08 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2014 - 2016 by the deal.II authors
+// Copyright (C) 2014 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -65,7 +65,6 @@ public:
     addit_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
     addit_data.tasks_block_size = 3;
     addit_data.level_mg_handler = level;
-    addit_data.mpi_communicator = MPI_COMM_WORLD;
     ConstraintMatrix constraints;
     if (level == numbers::invalid_unsigned_int)
       {
index f282f8463c7d341d10dca60454c239c997289096..bebcc0cc79361981967620df2c43cc895751bf08 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -156,7 +156,6 @@ void do_test (const DoFHandler<dim>  &dof)
   typename MatrixFree<dim,number>::AdditionalData fine_level_additional_data;
   fine_level_additional_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
   fine_level_additional_data.tasks_block_size = 3;
-  fine_level_additional_data.mpi_communicator = MPI_COMM_WORLD;
   fine_level_data.reinit (mapping, dof, constraints, QGauss<1>(n_q_points_1d),
                           fine_level_additional_data);
 
@@ -193,7 +192,6 @@ void do_test (const DoFHandler<dim>  &dof)
       typename MatrixFree<dim,number>::AdditionalData mg_additional_data;
       mg_additional_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
       mg_additional_data.tasks_block_size = 3;
-      mg_additional_data.mpi_communicator = MPI_COMM_WORLD;
       mg_additional_data.level_mg_handler = level;
 
       ConstraintMatrix level_constraints;
index 101f0bb3de16833067e89d27b9245d5573e47faf..5ef83e664d4beec5763d2945228a07930f0a531b 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2014 - 2016 by the deal.II authors
+// Copyright (C) 2014 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -70,7 +70,6 @@ public:
       addit_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
     addit_data.tasks_block_size = 3;
     addit_data.level_mg_handler = level;
-    addit_data.mpi_communicator = MPI_COMM_WORLD;
     ConstraintMatrix constraints;
     if (level == numbers::invalid_unsigned_int)
       {
index 168c2a609019b5d692b3ca8a89e37b57ee3cba06..e5b948975512950e6f4ec9724a1e275a77773789 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -156,7 +156,6 @@ void do_test (const DoFHandler<dim>  &dof)
   typename MatrixFree<dim,number>::AdditionalData fine_level_additional_data;
   fine_level_additional_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
   fine_level_additional_data.tasks_block_size = 3;
-  fine_level_additional_data.mpi_communicator = MPI_COMM_WORLD;
   fine_level_data.reinit (mapping, dof, constraints, QGauss<1>(n_q_points_1d),
                           fine_level_additional_data);
 
@@ -193,7 +192,6 @@ void do_test (const DoFHandler<dim>  &dof)
       typename MatrixFree<dim,number>::AdditionalData mg_additional_data;
       mg_additional_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
       mg_additional_data.tasks_block_size = 3;
-      mg_additional_data.mpi_communicator = MPI_COMM_WORLD;
       mg_additional_data.level_mg_handler = level;
 
       ConstraintMatrix level_constraints;
index c7dc7aaef7ebcd06705330bf9d87682c0d5745e7..1b12b6c9886a20f5ba9a135876d6bc792b667247 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2014 - 2016 by the deal.II authors
+// Copyright (C) 2014 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -61,7 +61,6 @@ public:
     typename MatrixFree<dim,number>::AdditionalData addit_data;
     addit_data.tasks_parallel_scheme = MatrixFree<dim,number>::AdditionalData::none;
     addit_data.level_mg_handler = level;
-    addit_data.mpi_communicator = MPI_COMM_WORLD;
 
     // extract the constraints due to Dirichlet boundary conditions
     ConstraintMatrix constraints;
index 68409f2387b1d44759ef15d9a1ec74e79921b41e..11a30b0321e2a318962b7796590898028469a3f0 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2012 - 2015 by the deal.II authors
+// Copyright (C) 2012 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -295,7 +295,6 @@ namespace Step48
 
     QGaussLobatto<1> quadrature (fe_degree+1);
     typename MatrixFree<dim>::AdditionalData additional_data;
-    additional_data.mpi_communicator = MPI_COMM_WORLD;
     additional_data.tasks_parallel_scheme =
       MatrixFree<dim>::AdditionalData::partition_partition;
 
index 943f261da17d396e9cb14ec21cc625adb38dc938..d9c344c238be2452d5e7f4d1b6ef8c3daffa965e 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2012 - 2015 by the deal.II authors
+// Copyright (C) 2012 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -266,7 +266,6 @@ namespace Step48
 
     QGaussLobatto<1> quadrature (fe_degree+1);
     typename MatrixFree<dim>::AdditionalData additional_data;
-    additional_data.mpi_communicator = MPI_COMM_WORLD;
     additional_data.tasks_parallel_scheme =
       MatrixFree<dim>::AdditionalData::partition_partition;
 
index 3f033ba201a5e26b16fab72247598bf62a0b5028..6fcab64d720d348f48fa8509e6d89d1d0dd09e8f 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2016 by the deal.II authors
+// Copyright (C) 2016 - 2017 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -118,7 +118,6 @@ void do_project (const parallel::distributed::Triangulation<dim> &triangulation,
 
   typename MatrixFree<dim,double>::AdditionalData additional_data;
   additional_data.tasks_parallel_scheme = MatrixFree<dim,double>::AdditionalData::partition_color;
-  additional_data.mpi_communicator = MPI_COMM_WORLD;
   additional_data.mapping_update_flags = update_values | update_JxW_values | update_quadrature_points;
   MatrixFree<dim,double>  data;
   data.reinit (dof_handler, constraints, quadrature_formula_1d, additional_data);

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.