]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Better document parallel::TriangulationBase. 8805/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Thu, 19 Sep 2019 14:08:27 +0000 (08:08 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Fri, 20 Sep 2019 13:36:44 +0000 (07:36 -0600)
include/deal.II/distributed/shared_tria.h
include/deal.II/distributed/tria_base.h

index 364dcf1286b81d1249fc348a496e22b4a425b4d5..b47dc03c83e3507ce3a9053997190b9ceeabacad 100644 (file)
@@ -56,7 +56,8 @@ namespace parallel
      * "owns" a subset of cells. The use of this class is demonstrated in
      * step-18.
      *
-     * Different from the parallel::distributed::Triangulation, this implies
+     * Different from the parallel::distributed::Triangulation and
+     * parallel::fullydistributed::Triangulation classes, this implies
      * that the entire mesh is stored on each processor. While this is clearly
      * a memory bottleneck that limits the use of this class to a few dozen
      * or hundreds of MPI processes, the partitioning of the mesh can be used
index 53749beb9938448a4a0e7c4d48eb8cfe8b35efc9..c7dad665cd6ac6e28d380b26cb9d7782b46099dc 100644 (file)
@@ -40,8 +40,37 @@ namespace parallel
 {
   /**
    * This class describes the interface for all triangulation classes that
-   * work in parallel, namely parallel::distributed::Triangulation and
+   * work in parallel, namely parallel::distributed::Triangulation,
+   * parallel::fullydistributed::Triangulation, and
    * parallel::shared::Triangulation.
+   *
+   * It is, consequently, a class that can be used to test whether a
+   * pointer of reference to a triangulation object refers to a
+   * sequential triangulation, or whether the triangulation is in fact
+   * parallel. In other words, one could write a function like this:
+   * @code
+   *   template <int dim, int spacedim>
+   *   bool is_parallel (const dealii::Triangulation<dim,spacedim> &tria)
+   *   {
+   *     if (dynamic_cast<const parallel::TriangulationBase<dim,spacedim>*>
+   *                     (&tria)
+   *         != nullptr)
+   *       return true;
+   *     else
+   *       return false;
+   *   }
+   * @endcode
+   *
+   * All parallel triangulations share certain traits, such as the fact that
+   * they communicate via @ref GlossMPICommunicator "MPI communicators" or
+   * that they have
+   * @ref GlossLocallyOwnedCell "locally owned",
+   * @ref GlossGhostCell "ghost", and possibly
+   * @ref GlossArtificialCell "artificial cells". This class provides
+   * a number of member functions that allows querying some information
+   * about the triangulation that is independent of how exactly a
+   * parallel triangulation is implemented (i.e., which of the various
+   * classes derived from the current one it actually is).
    */
   template <int dim, int spacedim = dim>
   class TriangulationBase : public dealii::Triangulation<dim, spacedim>

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.