]> https://gitweb.dealii.org/ - release-papers.git/commitdiff
add a section on shared tria
authorDenis Davydov <davydden@gmail.com>
Sun, 28 Feb 2016 16:04:33 +0000 (17:04 +0100)
committerDenis Davydov <davydden@gmail.com>
Sun, 28 Feb 2016 16:04:33 +0000 (17:04 +0100)
deal84.tex

index 19e991f9ce0b6f0136943407acae960a0e69d9ea..e82056644234cab9e8e79a98f90c98dab4290fe6 100644 (file)
@@ -31,8 +31,9 @@
     TX 77843, USA,
     {\texttt{bangerth@math.tamu.edu}}}
 \author[2]{Denis Davydov}
-\affil[2]{???,
-  {\texttt{???}}}
+\affil[2]{Chair of Applied Mechanics, University of
+    Erlangen-Nuremberg, Egerlandstr. 5, 91058 Erlangen, Germany,
+  {\texttt{denis.davydov@fau.de}}}
 \author[3]{Timo Heister}
 \affil[3]{Mathematical Sciences,
   O-110 Martin Hall.
@@ -199,8 +200,36 @@ components.
 
 \subsection{A new ``shared'' triangulation type for parallel computations}
 
-\marginpar{Denis -- can you write this section?}
-...
+Previously, in order to use \texttt{Triangulation<dim,spacedim>} class with MPI one had to manually
+partition triangulation (e.g. via \texttt{METIS}), calculate and store index sets of locally owned and locally relevant degrees-of-freedom (DoF), querry \texttt{subdomain\_id}  of a cell during assembly etc.
+In order to facilitate the usage of \texttt{Triangulation} class with MPI  
+and to make its behaviour in this context consistent with \texttt{parallel::distributed::Triangulation}, a new class
+\texttt{parallel::shared::Triangulation} was introduced. 
+It extends \texttt{Triangulation} class to automatically partition triangulation when run with MPI.
+Identical functionality between \texttt{shared} and \texttt{distributed} triangulation  
+(e.g. locally owned and relevant DoFs, mpi communicator, etc)
+is grouped in the parent class \texttt{parallel::Triangulation}.
+The main difference between the two parallel triangulations is that in the case of 
+\texttt{parallel::shared::Triangulation} each process stores all cells of the triangulation.
+Consequently, by default there are no artificial cells. 
+That is, cells which are attributed to the current processor are marked as locally owned 
+(\texttt{cell->is\_locally\_owned()} returns \texttt{true}) 
+and the rest are ghost cells.
+This behaviour can be altered via an additional boolean flag provided to the constructor of the class. 
+In this case, a set of ghost cells will consist of a halo layer of cells around locally owned cells.
+Cells which are neither ghost nor locally owned are marked as artificial.
+This is consistent with the behaviour of \texttt{parallel::distributed::Triangulation},
+although in the latter case the size of the set of artificial cells will be much smaller.
+The introduction of \texttt{parallel::shared::Triangulation} class together with the 
+optional artificial cells and parent \texttt{parallel::Triangulation} class
+facilitates writing
+algorithms that are indifferent to the way triangulation is stored in the MPI context. 
+For example, \texttt{DoFTools::locally\_relevant\_dofs()} will now return a subset of 
+all DoFs for both triangulations, granted that artificial cells are enabled in 
+\texttt{parallel::shared::Triangulation}.
+Assmebly routines can now use \texttt{cell->is\_locally\_owned()} 
+for both triangulations.
+Currently, only standard (non hp) \texttt{DoFHandler} is supported.
 
 \subsection{Second and third derivatives of finite element fields are now
   computed exactly}

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.