dune-mmesh (1.4)
grid.hh
Go to the documentation of this file.
138 using MMeshInterfaceEntity = typename HostGridEntityChooser_<HostGridType, dimensionworld, cd+1>::type;
273 typename Traits::template Codim<dimension>::Entity entity(const MMeshInterfaceEntity<dimension>& hostEntity) const
279 typename Traits::template Codim<0>::Entity entity(const MMeshInterfaceEntity<0>& hostEntity) const
286 std::enable_if_t<dimw == 3, typename Traits::template Codim<1>::Entity> entity(const MMeshInterfaceEntity<1>& hostEntity) const
307 typename Traits::template Codim<codim>::template Partition<PiType>::LevelIterator lbegin (int level) const {
314 typename Traits::template Codim<codim>::template Partition<PiType>::LevelIterator lend (int level) const {
335 typename Traits::template Codim<codim>::template Partition<PiType>::LeafIterator leafbegin() const {
342 typename Traits::template Codim<codim>::template Partition<PiType>::LeafIterator leafend() const {
531 communication( gv.template begin< 0, Interior_Partition >(), gv.template end< 0, Interior_Partition >(),
538 communication( gv.template begin< 0, Ghost_Partition >(), gv.template end< 0, Ghost_Partition >(),
546 DUNE_THROW( NotImplemented, "Communication on interface type " << interface << " not implemented." );
599 void markAsRefined( const std::vector< std::vector< std::size_t > >& children, const ConnectedComponent connectedComponent )
608 int count = childrenConnectedComponentMap_.count( getVertexIds_( entity.impl().hostEntity() ) );
726 std::unordered_map< std::vector< std::size_t >, ConnectedComponent, HashUIntVector > childrenConnectedComponentMap_;
The implementation of connected components in a MMeshInterfaceGridThe connected component copies the ...
Definition: connectedcomponent.hh:33
The implementation of entities in a MMesh interface grid.
Definition: entity.hh:35
const MMeshInterfaceEntity & hostEntity() const
Return reference to the host entity.
Definition: entity.hh:327
Iterator over all entities of a given codimension and level of a grid (2D).
Definition: leafiterator.hh:22
Provides a DUNE grid interface class for the interface of a MMesh interface grid.
Definition: grid.hh:97
typename GridFamily::Traits::Grid GridImp
the grid implementation
Definition: grid.hh:116
bool isInterface(const VertexHandle &vertex) const
Return if vertex is part of the interface.
Definition: grid.hh:572
bool mark(int refCount, const typename Traits::template Codim< 0 >::Entity &e) const
Mark entity for refinement.
Definition: grid.hh:369
bool adapt(AdaptDataHandleInterface< GridImp, DataHandle > &handle)
Callback for the grid adaptation process with restrict/prolong.
Definition: grid.hh:410
bool preAdapt()
returns false, if at least one entity is marked for adaption
Definition: grid.hh:393
MMeshInterfaceConnectedComponent< const GridImp > ConnectedComponent
The type of a connected component.
Definition: grid.hh:156
Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lend(int level) const
one past the end on this level
Definition: grid.hh:314
unsigned int overlapSize(int level, int codim) const
Size of the overlap on a given level.
Definition: grid.hh:478
const MMeshInterfaceGridLeafIndexSet< const GridImp > & leafIndexSet() const
Access to the LeafIndexSet.
Definition: grid.hh:251
bool isInterface(const Entity &entity) const
Return if dune entity is part of the interface.
Definition: grid.hh:585
std::list< MMeshInterfaceEntity< 0 > > ElementOutput
The type of the element output.
Definition: grid.hh:147
std::enable_if_t< d==2, bool > isInterface(const MMeshInterfaceEntity< 1 > &edge) const
Return if an edge is of the interface.
Definition: grid.hh:562
Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafbegin() const
Iterator to first leaf entity of given codim.
Definition: grid.hh:335
unsigned int ghostSize(int level, int codim) const
Size of the ghost cell layer on a given level.
Definition: grid.hh:484
MMeshInterfaceGrid(MMesh *mMesh, BoundarySegments boundarySegments={})
Constructor.
Definition: grid.hh:162
const Communication< Comm > & comm() const
Collective communication.
Definition: grid.hh:507
MMeshInterfaceGridFamily< MMesh > GridFamily
the Traits
Definition: grid.hh:112
Traits::template Codim< codim >::LevelIterator lend(int level) const
one past the end on this level
Definition: grid.hh:300
bool isInterface(const MMeshInterfaceEntity< 0 > &segment) const
Return if interface segment is part of the interface.
Definition: grid.hh:553
int size(int level, int codim) const
Number of grid entities per level and codim.
Definition: grid.hh:183
const Traits::GlobalIdSet & globalIdSet() const
Access to the GlobalIdSet.
Definition: grid.hh:231
Traits::template Codim< 0 >::Entity entity(const MMeshInterfaceEntity< 0 > &hostEntity) const
Create codim 0 entity from a host entity.
Definition: grid.hh:279
Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition: grid.hh:307
typename HostGridEntityChooser_< HostGridType, dimensionworld, cd+1 >::type MMeshInterfaceEntity
The type of the underlying entities.
Definition: grid.hh:138
bool isInterface(const typename Traits::LeafIntersection &intersection) const
Return if intersection is part of the interface.
Definition: grid.hh:578
const ConnectedComponent & getConnectedComponent(const Entity &entity) const
Return the connected component for a given entity.
Definition: grid.hh:614
const HostGridType & getHostGrid() const
Return reference to underlying CGAL triangulation.
Definition: grid.hh:705
ConnectedComponent & getConnectedComponent(const Entity &entity)
Return a non-const reference to the connected component for a given entity.
Definition: grid.hh:622
int size(int level, GeometryType type) const
number of entities per level, codim and geometry type in this process
Definition: grid.hh:217
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:599
int size(GeometryType type) const
number of leaf entities per codim and geometry type in this process
Definition: grid.hh:225
typename MMesh::HostGridType HostGridType
the underlying hostgrid
Definition: grid.hh:122
int getMark(const typename Traits::template Codim< 0 >::Entity &e) const
Return refinement mark for entity.
Definition: grid.hh:383
int sequence() const
Return sequence number.
Definition: grid.hh:711
std::unique_ptr< GridImp > GridPtrType
the unique pointer to the grid
Definition: grid.hh:119
int maxLevel() const
Return maximum level defined in this grid.
Definition: grid.hh:177
Dune::FieldVector< ctype, dimensionworld > GlobalCoordinate
The type used for coordinates.
Definition: grid.hh:134
typename Traits::template Codim< dimension >::Entity Vertex
The type of a vertex.
Definition: grid.hh:153
Traits::template Codim< codim >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition: grid.hh:293
unsigned int ghostSize(int codim) const
Size of the ghost cell layer on the leaf level.
Definition: grid.hh:459
bool hasConnectedComponent(const Entity &entity) const
Return if an entity has a connected component.
Definition: grid.hh:606
bool adapt()
Triggers the grid adaptation process.
Definition: grid.hh:403
Traits::template Codim< codim >::LeafIterator leafend() const
one past the end of the sequence of leaf entities
Definition: grid.hh:328
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:286
Traits::template Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
Create Entity from EntitySeed.
Definition: grid.hh:259
std::enable_if_t< d==3, const MMeshInterfaceEntity< 0 > > mirrorHostEntity(const MMeshInterfaceEntity< 0 > &other) const
Mirror a host entity (3d)
Definition: grid.hh:654
const MMesh & getMMesh() const
Return reference to MMesh.
Definition: grid.hh:699
void postAdapt()
Clean up refinement markers.
Definition: grid.hh:445
typename Traits::template Codim< 0 >::Entity Entity
The type of a codim 0 entity.
Definition: grid.hh:150
void globalRefine(int steps=1)
Global refine.
Definition: grid.hh:350
void setIndices()
compute the grid indices
Definition: grid.hh:683
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition: grid.hh:191
MMeshInterfaceEntity< dimension > VertexHandle
The type of the underlying vertex handle.
Definition: grid.hh:141
unsigned int overlapSize(int codim) const
Size of the overlap on the leaf level.
Definition: grid.hh:453
FieldType ctype
The type used to store coordinates, inherited from the MMesh.
Definition: grid.hh:131
MMesh * mMesh_
The host grid which contains the actual grid hierarchy structure.
Definition: grid.hh:730
Traits::template Codim< codim >::LeafIterator leafbegin() const
Iterator to first leaf entity of given codim.
Definition: grid.hh:321
const Traits::LocalIdSet & localIdSet() const
Access to the LocalIdSet.
Definition: grid.hh:237
MMeshInterfaceEntity< dimension-1 > EdgeHandle
The type of the underlying edge handle.
Definition: grid.hh:144
Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafend() const
one past the end of the sequence of leaf entities
Definition: grid.hh:342
void loadBalance()
Distributes this grid over the available nodes in a distributed machine.
Definition: grid.hh:494
int size(int codim) const
number of leaf entities per codim in this process
Definition: grid.hh:211
std::enable_if_t< d==2, const MMeshInterfaceEntity< 0 > > mirrorHostEntity(const MMeshInterfaceEntity< 0 > &other) const
Mirror a host entity (2d)
Definition: grid.hh:646
const MMeshInterfaceGridLeafIndexSet< const GridImp > & levelIndexSet(int level) const
Access to the LevelIndexSets.
Definition: grid.hh:243
Traits::template Codim< 0 >::LeafIterator LeafIterator
the leaf iterator
Definition: grid.hh:128
Traits::template Codim< dimension >::Entity entity(const MMeshInterfaceEntity< dimension > &hostEntity) const
Create Entity from a host entity.
Definition: grid.hh:273
std::size_t domainMarker(const Entity &entity) const
Return domain marker of entity.
Definition: grid.hh:592
The MMesh class templatized by the CGAL host grid type and the dimension.
Definition: mmesh.hh:140
const HostGrid & getHostGrid() const
Get reference to the underlying CGAL triangulation.
Definition: mmesh.hh:1815
const InterfaceSegments & interfaceSegments() const
returns the interface segment set
Definition: mmesh.hh:360
void loadBalance()
Distributes this grid over the available nodes in a distributed machine.
Definition: mmesh.hh:1742
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.
