dune-mmesh (unstable)
grid.hh
Go to the documentation of this file.
The implementation of connected components in a MMeshInterfaceGridThe connected component copies the ...
Definition: connectedcomponent.hh:31
The implementation of entities in a MMesh interface grid.
Definition: entity.hh:34
const MMeshInterfaceEntity & hostEntity() const
Return reference to the host entity.
Definition: entity.hh:289
Iterator over all entities of a given codimension and level of a grid (2D).
Definition: leafiterator.hh:21
Provides a DUNE grid interface class for the interface of a MMesh interface grid .
Definition: grid.hh:90
typename GridFamily::Traits::Grid GridImp
the grid implementation
Definition: grid.hh:109
bool isInterface(const VertexHandle &vertex) const
Return if vertex is part of the interface.
Definition: grid.hh:531
bool mark(int refCount, const typename Traits::template Codim< 0 >::Entity &e) const
Mark entity for refinement.
Definition: grid.hh:356
bool adapt(AdaptDataHandleInterface< GridImp, DataHandle > &handle)
Callback for the grid adaptation process with restrict/prolong.
Definition: grid.hh:389
bool preAdapt()
returns false, if at least one entity is marked for adaption
Definition: grid.hh:378
MMeshInterfaceConnectedComponent< const GridImp > ConnectedComponent
The type of a connected component.
Definition: grid.hh:151
Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lend(int level) const
one past the end on this level
Definition: grid.hh:300
unsigned int overlapSize(int level, int codim) const
Size of the overlap on a given level.
Definition: grid.hh:443
const MMeshInterfaceGridLeafIndexSet< const GridImp > & leafIndexSet() const
Access to the LeafIndexSet.
Definition: grid.hh:236
bool isInterface(const Entity &entity) const
Return if dune entity is part of the interface.
Definition: grid.hh:543
std::list< MMeshInterfaceEntity< 0 > > ElementOutput
The type of the element output.
Definition: grid.hh:142
std::enable_if_t< d==2, bool > isInterface(const MMeshInterfaceEntity< 1 > &edge) const
Return if an edge is of the interface.
Definition: grid.hh:521
Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafbegin() const
Iterator to first leaf entity of given codim.
Definition: grid.hh:323
unsigned int ghostSize(int level, int codim) const
Size of the ghost cell layer on a given level.
Definition: grid.hh:448
MMeshInterfaceGrid(MMesh *mMesh, BoundarySegments boundarySegments={})
Constructor.
Definition: grid.hh:157
const Communication< Comm > & comm() const
Collective communication.
Definition: grid.hh:471
MMeshInterfaceGridFamily< MMesh > GridFamily
the Traits
Definition: grid.hh:105
Traits::template Codim< codim >::LevelIterator lend(int level) const
one past the end on this level
Definition: grid.hh:283
bool isInterface(const MMeshInterfaceEntity< 0 > &segment) const
Return if interface segment is part of the interface.
Definition: grid.hh:513
int size(int level, int codim) const
Number of grid entities per level and codim.
Definition: grid.hh:180
const Traits::GlobalIdSet & globalIdSet() const
Access to the GlobalIdSet.
Definition: grid.hh:217
Traits::template Codim< 0 >::Entity entity(const MMeshInterfaceEntity< 0 > &hostEntity) const
Create codim 0 entity from a host entity.
Definition: grid.hh:261
Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition: grid.hh:292
bool isInterface(const typename Traits::LeafIntersection &intersection) const
Return if intersection is part of the interface.
Definition: grid.hh:536
const ConnectedComponent & getConnectedComponent(const Entity &entity) const
Return the connected component for a given entity.
Definition: grid.hh:571
const HostGridType & getHostGrid() const
Return reference to underlying CGAL triangulation.
Definition: grid.hh:654
ConnectedComponent & getConnectedComponent(const Entity &entity)
Return a non-const reference to the connected component for a given entity.
Definition: grid.hh:579
int size(int level, GeometryType type) const
number of entities per level, codim and geometry type in this process
Definition: grid.hh:207
void markAsRefined(const std::vector< std::vector< std::size_t > > &children, const ConnectedComponent connectedComponent)
Mark a set of children elements as refinement of a connected component.
Definition: grid.hh:556
int size(GeometryType type) const
number of leaf entities per codim and geometry type in this process
Definition: grid.hh:214
typename MMesh::HostGridType HostGridType
the underlying hostgrid
Definition: grid.hh:115
int getMark(const typename Traits::template Codim< 0 >::Entity &e) const
Return refinement mark for entity.
Definition: grid.hh:369
int sequence() const
Return sequence number.
Definition: grid.hh:657
std::unique_ptr< GridImp > GridPtrType
the unique pointer to the grid
Definition: grid.hh:112
int maxLevel() const
Return maximum level defined in this grid.
Definition: grid.hh:176
Dune::FieldVector< ctype, dimensionworld > GlobalCoordinate
The type used for coordinates.
Definition: grid.hh:127
typename Traits::template Codim< dimension >::Entity Vertex
The type of a vertex.
Definition: grid.hh:148
Traits::template Codim< codim >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition: grid.hh:275
typename HostGridEntityChooser_< HostGridType, dimensionworld, cd+1 >::type MMeshInterfaceEntity
The type of the underlying entities.
Definition: grid.hh:133
unsigned int ghostSize(int codim) const
Size of the ghost cell layer on the leaf level.
Definition: grid.hh:428
bool hasConnectedComponent(const Entity &entity) const
Return if an entity has a connected component.
Definition: grid.hh:563
bool adapt()
Triggers the grid adaptation process.
Definition: grid.hh:385
Traits::template Codim< codim >::LeafIterator leafend() const
one past the end of the sequence of leaf entities
Definition: grid.hh:314
std::enable_if_t< dimw==3, typename Traits::template Codim< 1 >::Entity > entity(const MMeshInterfaceEntity< 1 > &hostEntity) const
Create codim 0 entity from a host entity.
Definition: grid.hh:269
Traits::template Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
Create Entity from EntitySeed.
Definition: grid.hh:242
std::enable_if_t< d==3, const MMeshInterfaceEntity< 0 > > mirrorHostEntity(const MMeshInterfaceEntity< 0 > &other) const
Mirror a host entity (3d)
Definition: grid.hh:609
const MMesh & getMMesh() const
Return reference to MMesh.
Definition: grid.hh:651
MMeshInterfaceEntity< dimension - 1 > EdgeHandle
The type of the underlying edge handle.
Definition: grid.hh:139
void postAdapt()
Clean up refinement markers.
Definition: grid.hh:418
typename Traits::template Codim< 0 >::Entity Entity
The type of a codim 0 entity.
Definition: grid.hh:145
void globalRefine(int steps=1)
Global refine.
Definition: grid.hh:340
void setIndices()
compute the grid indices
Definition: grid.hh:637
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition: grid.hh:188
MMeshInterfaceEntity< dimension > VertexHandle
The type of the underlying vertex handle.
Definition: grid.hh:136
unsigned int overlapSize(int codim) const
Size of the overlap on the leaf level.
Definition: grid.hh:425
FieldType ctype
The type used to store coordinates, inherited from the MMesh.
Definition: grid.hh:124
MMesh * mMesh_
The host grid which contains the actual grid hierarchy structure.
Definition: grid.hh:672
Traits::template Codim< codim >::LeafIterator leafbegin() const
Iterator to first leaf entity of given codim.
Definition: grid.hh:307
const Traits::LocalIdSet & localIdSet() const
Access to the LocalIdSet.
Definition: grid.hh:222
Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafend() const
one past the end of the sequence of leaf entities
Definition: grid.hh:331
void loadBalance()
Distributes this grid over the available nodes in a distributed machine.
Definition: grid.hh:458
int size(int codim) const
number of leaf entities per codim in this process
Definition: grid.hh:204
std::enable_if_t< d==2, const MMeshInterfaceEntity< 0 > > mirrorHostEntity(const MMeshInterfaceEntity< 0 > &other) const
Mirror a host entity (2d)
Definition: grid.hh:602
const MMeshInterfaceGridLeafIndexSet< const GridImp > & levelIndexSet(int level) const
Access to the LevelIndexSets.
Definition: grid.hh:227
Traits::template Codim< 0 >::LeafIterator LeafIterator
the leaf iterator
Definition: grid.hh:121
Traits::template Codim< dimension >::Entity entity(const MMeshInterfaceEntity< dimension > &hostEntity) const
Create Entity from a host entity.
Definition: grid.hh:254
std::size_t domainMarker(const Entity &entity) const
Return domain marker of entity.
Definition: grid.hh:549
The MMesh class templatized by the CGAL host grid type and the dimension. .
Definition: mmesh.hh:158
const HostGrid & getHostGrid() const
Get reference to the underlying CGAL triangulation.
Definition: mmesh.hh:1750
const InterfaceSegments & interfaceSegments() const
returns the interface segment set
Definition: mmesh.hh:366
void loadBalance()
Distributes this grid over the available nodes in a distributed machine.
Definition: mmesh.hh:1683
The MMesh class.
The MMeshInterfaceConnectedComponent class.
The MMeshInterfaceGridEntity class.
The MMeshInterfaceGridEntitySeed class.
The MMeshInterfaceGridGeometry class and its specializations Inherits from Dune::AffineGeometry.
The MMeshInterfaceGridHierarchicIterator class.
The index and id sets for the MMesh class.
The intersection iterator for the MMesh class.
The MMeshInterfaceGridLeafIntersection and MMeshLevelIntersection classes.
The MMeshInterfaceGridLeafIterator class.
The multi id class.
The MMeshInterfaceGrid traits class.
