27#ifndef EWOMS_VERTEX_BORDER_LIST_FROM_GRID_HH
28#define EWOMS_VERTEX_BORDER_LIST_FROM_GRID_HH
33#include <dune/grid/common/datahandleif.hh>
34#include <dune/grid/common/gridenums.hh>
35#include <dune/common/version.hh>
48template <
class Gr
idView,
class VertexMapper>
50 :
public Dune::CommDataHandleIF<VertexBorderListFromGrid<GridView, VertexMapper>,
53 static const int dimWorld = GridView::dimensionworld;
57 : gridView_(gridView), map_(
map)
59 gridView.communicate(*
this,
60 Dune::InteriorBorder_InteriorBorder_Interface,
61 Dune::ForwardCommunication);
66 if (
vIt->partitionType() != Dune::InteriorEntity
67 &&
vIt->partitionType() != Dune::BorderEntity)
70 blackList_.addIndex(
vIdx);
76 bool contains(
int dim,
int codim)
const
77 {
return dim ==
codim; }
79 bool fixedSize(
int,
int)
const
82 template <
class EntityType>
86 template <
class MessageBufferImp,
class EntityType>
89 buff.write(
static_cast<int>(gridView_.comm().rank()));
90 buff.write(
static_cast<int>(map_.index(
e)));
93 template <
class MessageBufferImp,
class EntityType>
109 bIdx.borderDistance = 0;
111 borderList_.push_back(
bIdx);
116 {
return borderList_; }
120 {
return blackList_; }
123 const GridView gridView_;
124 const VertexMapper& map_;
Expresses which degrees of freedom are blacklisted for the parallel linear solvers and which domestic...
Expresses which degrees of freedom are blacklisted for the parallel linear solvers and which domestic...
Definition blacklist.hh:49
Uses communication on the grid to find the initial seed list of indices.
Definition vertexborderlistfromgrid.hh:52
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242
This files provides several data structures for storing tuples of indices of remote and/or local proc...
unsigned ProcessRank
The type of the rank of a process.
Definition overlaptypes.hh:49
int Index
The type of an index of a degree of freedom.
Definition overlaptypes.hh:44
std::list< BorderIndex > BorderList
This class managages a list of indices which are on the border of a process' partition of the grid.
Definition overlaptypes.hh:120
A single index intersecting with the process boundary.
Definition overlaptypes.hh:102
Index localIdx
Index of the entity for the local process.
Definition overlaptypes.hh:104