dune-grid  2.3.1
gridenums.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_GRIDENUMS_HH
4 #define DUNE_GRIDENUMS_HH
5 
6 #include <iostream>
7 
8 #include <dune/common/exceptions.hh>
9 
10 namespace Dune {
11 
12 
30  };
31 
40  inline std::string PartitionName(PartitionType type)
41  {
42  switch(type) {
43  case InteriorEntity :
44  return "interior";
45  case BorderEntity :
46  return "border";
47  case OverlapEntity :
48  return "overlap";
49  case FrontEntity :
50  return "front";
51  case GhostEntity :
52  return "ghost";
53  default :
54  DUNE_THROW(NotImplemented, "name of unknown partition type requested");
55  }
56  }
57 
59 
66  inline std::ostream &operator<< ( std::ostream &out, const PartitionType &type )
67  {
68  return out << PartitionName( type );
69  }
70 
71 
86  };
87 
88 
90 
97  inline std::ostream &operator<< ( std::ostream &out, const InterfaceType &type )
98  {
99  switch( type )
100  {
102  return out << "interior-border / interior-border interface";
103 
105  return out << "interior-border / all interface";
106 
108  return out << "overlap / overlap-front interface";
109 
110  case Overlap_All_Interface :
111  return out << "overlap / all interface";
112 
113  case All_All_Interface :
114  return out << "all / all interface";
115 
116  default :
117  return out << "unknown interface";
118  }
119  }
120 
121 
137  };
138 
139 
141 
148  inline std::ostream &operator<< ( std::ostream &out, const PartitionIteratorType &type )
149  {
150  static std::string name[ 6 ] = { "interior partition", "interior-border partition", "overlap partition",
151  "overlap-front partition", "all partition", "ghost partition" };
152  return out << name[ type ];
153  }
154 
155 
167  };
168 
169 }
170 #endif
on boundary between overlap and ghost
Definition: gridenums.hh:28
interior, border, overlap and front entities
Definition: gridenums.hh:134
PartitionIteratorType
Parameter to be used for the parallel level- and leaf iterators.
Definition: gridenums.hh:130
std::ostream & operator<<(std::ostream &out, const ALU2dGridEntitySeed< cd, GridImp > &key)
print alugrid entity key to std::stream
Definition: alugrid/2d/entityseed.hh:286
send interior and border, receive all entities
Definition: gridenums.hh:82
all entities
Definition: gridenums.hh:135
communicate as given in InterfaceType
Definition: gridenums.hh:165
reverse communication direction
Definition: gridenums.hh:166
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:164
send/receive interior and border entities
Definition: gridenums.hh:81
interior, border, and overlap entities
Definition: gridenums.hh:133
ghost entities
Definition: gridenums.hh:29
on boundary between interior and overlap
Definition: gridenums.hh:26
only ghost entities
Definition: gridenums.hh:136
PartitionType
Attributes used in the generic overlap model.
Definition: gridenums.hh:24
interior and border entities
Definition: gridenums.hh:132
all entities lying in the overlap zone
Definition: gridenums.hh:27
send overlap, receive overlap and front entities
Definition: gridenums.hh:83
only interior entities
Definition: gridenums.hh:131
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:80
std::string PartitionName(PartitionType type)
Provide names for the partition types.
Definition: gridenums.hh:40
all interior entities
Definition: gridenums.hh:25
send all and receive all entities
Definition: gridenums.hh:85
send overlap, receive all entities
Definition: gridenums.hh:84