]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Introduce types::global_cell_index.
authorWolfgang Bangerth <bangerth@colostate.edu>
Mon, 2 Mar 2020 03:40:12 +0000 (20:40 -0700)
committerWolfgang Bangerth <bangerth@colostate.edu>
Wed, 4 Mar 2020 01:29:23 +0000 (18:29 -0700)
While there, also clean up a bit of the documentation around that point
in the file.

include/deal.II/base/types.h

index 48ff55ac0dc3e2b2cd1310fc0df187f1f0588c1d..d76b48da4095584edad2801f7d431b8c45281251 100644 (file)
@@ -56,13 +56,17 @@ namespace types
 
 #ifdef DEAL_II_WITH_64BIT_INDICES
   /**
-   * The type used for global indices of degrees of freedom. While in
-   * sequential computations the 4 billion indices of 32-bit unsigned integers
-   * is plenty, parallel computations using the
+   * The type used to denote the global index of degrees of freedom. This
+   * type is then also used for querying the global *number* of degrees
+   * of freedom, since the number is simply the largest index plus one.
+   *
+   * While in sequential computations the 4 billion indices of 32-bit unsigned
+   * integers is plenty, parallel computations using (for example) the
    * parallel::distributed::Triangulation class can overflow this number and
-   * we need a bigger index space.
+   * consequently, deal.II chooses a larger integer type when
+   * configured to use 64-bit indices.
    *
-   * The data type always indicates an unsigned integer type.
+   * The data type always corresponds to an unsigned integer type.
    *
    * See the
    * @ref GlobalDoFIndex
@@ -78,13 +82,21 @@ namespace types
 
 #else
   /**
-   * The type used for global indices of degrees of freedom. While in
-   * sequential computations the 4 billion indices of 32-bit unsigned integers
-   * is plenty, parallel computations using the
+   * The type used to denote the global index of degrees of freedom. This
+   * type is then also used for querying the global *number* of degrees
+   * of freedom, since the number is simply the largest index plus one.
+   *
+   * While in sequential computations the 4 billion indices of 32-bit unsigned
+   * integers is plenty, parallel computations using (for example) the
    * parallel::distributed::Triangulation class can overflow this number and
-   * we need a bigger index space.
+   * consequently, deal.II chooses a larger integer type when
+   * configured to use 64-bit indices.
    *
-   * The data type always indicates an unsigned integer type.
+   * The data type always corresponds to an unsigned integer type.
+   *
+   * See the
+   * @ref GlobalDoFIndex
+   * page for guidance on when this type should or should not be used.
    */
   using global_dof_index = unsigned int;
 
@@ -95,19 +107,30 @@ namespace types
 #  define DEAL_II_DOF_INDEX_MPI_TYPE MPI_UNSIGNED
 #endif
 
-#ifdef DEAL_II_WITH_64BIT_INDICES
   /**
-   * The type used for coarse-cell ids. See the glossary
-   * entry on @ref GlossCoarseCellId "coarse cell IDs" for more information.
+   * The type used to denote the global index of a cell. This type
+   * is then also used for querying the global *number* of cells in
+   * a triangulation since the number is simply the largest index plus one.
+   *
+   * While in sequential computations the 4 billion indices of 32-bit unsigned
+   * integers is plenty, parallel computations using (for example) the
+   * parallel::distributed::Triangulation class can overflow this number and
+   * consequently, deal.II chooses a larger integer type when
+   * configured to use 64-bit indices.
+   *
+   * The data type always corresponds to an unsigned integer type.
    */
-  using coarse_cell_id = uint64_t;
+#ifdef DEAL_II_WITH_64BIT_INDICES
+  using global_cell_index = uint64_t;
 #else
+  using global_cell_index = unsigned int;
+#endif
+
   /**
    * The type used for coarse-cell ids. See the glossary
    * entry on @ref GlossCoarseCellId "coarse cell IDs" for more information.
    */
-  using coarse_cell_id = unsigned int;
-#endif
+  using coarse_cell_id = global_cell_index;
 
   /**
    * The type used to denote boundary indicators associated with every piece

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.