|
dune-mmesh 1.4.1-git
|
Loading...
Searching...
No Matches
mmesh/interface/grid.hh
Go to the documentation of this file.
The MMeshInterfaceGrid traits class.
The multi id class.
void seed(const Vertex &vertex)
int size() const
#define DUNE_THROW(E,...)
MMeshInterfaceGridLeafIteratorImp< codim, pitype, GridImp > MMeshInterfaceGridLeafIterator
Definition interface/leafiterator.hh:25
CommunicationDirection
InterfaceType
InteriorEntity
GhostEntity
BackwardCommunication
ForwardCommunication
InteriorBorder_All_Interface
All_All_Interface
Grid< dim, dimworld, ct, GridFamily >::LeafGridView leafGridView(const Grid< dim, dimworld, ct, GridFamily > &grid)
const EntityType & entity() const
virtual void initialize(LocalFunctionType *) const=0
simplex
Implementation & impl()
void prolongLocal(const Entity &father, const Entity &son, bool initialize)
void restrictLocal(const Entity &father, const Entity &son, bool initialize)
static constexpr int codimension
GridImp Grid
StackAllocator< U, S > other
The MMesh class templatized by the CGAL host grid type and the dimension. .
Definition grid/mmesh.hh:158
const HostGrid & getHostGrid() const
Get reference to the underlying CGAL triangulation.
Definition grid/mmesh.hh:1750
const InterfaceSegments & interfaceSegments() const
returns the interface segment set
Definition grid/mmesh.hh:366
static constexpr int dimension
The world dimension.
Definition grid/mmesh.hh:161
void loadBalance()
Distributes this grid over the available nodes in a distributed machine.
Definition grid/mmesh.hh:1683
Definition multiid.hh:15
The implementation of connected components in a MMeshInterfaceGridThe connected component copies the ...
Definition interface/connectedcomponent.hh:31
The implementation of entities in a MMesh interface grid.
Definition interface/entity.hh:34
const MMeshInterfaceEntity & hostEntity() const
Return reference to the host entity.
Definition interface/entity.hh:289
The EntitySeed class provides the minimal information needed to restore an Entity using the grid....
Definition interface/entityseed.hh:19
Definition mmesh/interface/grid.hh:48
GridTraits< MMesh::dimension - 1, MMesh::dimension, MMeshInterfaceGrid< MMesh >, MMeshInterfaceGridGeometry, MMeshInterfaceGridEntity, MMeshInterfaceGridLeafIterator, MMeshInterfaceGridLeafIntersection, MMeshInterfaceGridLeafIntersection, MMeshInterfaceGridLeafIntersectionIterator, MMeshInterfaceGridLeafIntersectionIterator, MMeshInterfaceGridHierarchicIterator, MMeshInterfaceGridLeafIterator, MMeshInterfaceGridLeafIndexSet< const MMeshInterfaceGrid< MMesh > >, MMeshInterfaceGridLeafIndexSet< const MMeshInterfaceGrid< MMesh > >, MMeshInterfaceGridGlobalIdSet< const MMeshInterfaceGrid< MMesh > >, MMeshImpl::MultiId, MMeshInterfaceGridGlobalIdSet< const MMeshInterfaceGrid< MMesh > >, MMeshImpl::MultiId, Communication< Comm >, DefaultLevelGridViewTraits, DefaultLeafGridViewTraits, MMeshInterfaceGridEntitySeed > Traits
Definition mmesh/interface/grid.hh:71
Provides a DUNE grid interface class for the interface of a MMesh interface grid .
Definition mmesh/interface/grid.hh:90
typename GridFamily::Traits::Grid GridImp
the grid implementation
Definition mmesh/interface/grid.hh:109
void setIds()
compute the grid ids
Definition mmesh/interface/grid.hh:634
bool isInterface(const VertexHandle &vertex) const
Return if vertex is part of the interface.
Definition mmesh/interface/grid.hh:531
typename MMesh::FieldType FieldType
Definition mmesh/interface/grid.hh:95
void setBoundarySegments(const BoundarySegments boundarySegments)
Definition mmesh/interface/grid.hh:199
bool mark(int refCount, const typename Traits::template Codim< 0 >::Entity &e) const
Mark entity for refinement.
Definition mmesh/interface/grid.hh:356
bool adapt(AdaptDataHandleInterface< GridImp, DataHandle > &handle)
Callback for the grid adaptation process with restrict/prolong.
Definition mmesh/interface/grid.hh:389
BoundarySegments boundarySegments_
Definition mmesh/interface/grid.hh:674
bool preAdapt()
returns false, if at least one entity is marked for adaption
Definition mmesh/interface/grid.hh:378
Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lend(int level) const
one past the end on this level
Definition mmesh/interface/grid.hh:300
unsigned int overlapSize(int level, int codim) const
Size of the overlap on a given level.
Definition mmesh/interface/grid.hh:443
void communicate(Data &dataHandle, InterfaceType interface, CommunicationDirection direction, int level=0) const
Definition mmesh/interface/grid.hh:474
const MMeshInterfaceGridLeafIndexSet< const GridImp > & leafIndexSet() const
Access to the LeafIndexSet.
Definition mmesh/interface/grid.hh:236
std::unordered_map< MMeshImpl::MultiId, int > mark_
Definition mmesh/interface/grid.hh:676
bool isInterface(const Entity &entity) const
Return if dune entity is part of the interface.
Definition mmesh/interface/grid.hh:543
std::enable_if_t< d==2, bool > isInterface(const MMeshInterfaceEntity< 1 > &edge) const
Return if an edge is of the interface.
Definition mmesh/interface/grid.hh:521
Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafbegin() const
Iterator to first leaf entity of given codim.
Definition mmesh/interface/grid.hh:323
unsigned int ghostSize(int level, int codim) const
Size of the ghost cell layer on a given level.
Definition mmesh/interface/grid.hh:448
MMeshInterfaceGrid(MMesh *mMesh, BoundarySegments boundarySegments={})
Constructor.
Definition mmesh/interface/grid.hh:157
const Communication< Comm > & comm() const
Collective communication.
Definition mmesh/interface/grid.hh:471
MMeshInterfaceGridFamily< MMesh > GridFamily
the Traits
Definition mmesh/interface/grid.hh:105
bool canBeMirrored(const MMeshInterfaceEntity< 0 > &hostEntity) const
Definition mmesh/interface/grid.hh:587
Traits::template Codim< codim >::LevelIterator lend(int level) const
one past the end on this level
Definition mmesh/interface/grid.hh:283
bool isInterface(const MMeshInterfaceEntity< 0 > &segment) const
Return if interface segment is part of the interface.
Definition mmesh/interface/grid.hh:513
static constexpr int dimension
Definition mmesh/interface/grid.hh:92
int size(int level, int codim) const
Number of grid entities per level and codim.
Definition mmesh/interface/grid.hh:180
const Traits::GlobalIdSet & globalIdSet() const
Access to the GlobalIdSet.
Definition mmesh/interface/grid.hh:217
Traits::template Codim< 0 >::Entity entity(const MMeshInterfaceEntity< 0 > &hostEntity) const
Create codim 0 entity from a host entity.
Definition mmesh/interface/grid.hh:261
const auto & partitionHelper() const
Definition mmesh/interface/grid.hh:659
Traits::template Codim< codim >::template Partition< PiType >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition mmesh/interface/grid.hh:292
bool isInterface(const typename Traits::LeafIntersection &intersection) const
Return if intersection is part of the interface.
Definition mmesh/interface/grid.hh:536
const ConnectedComponent & getConnectedComponent(const Entity &entity) const
Return the connected component for a given entity.
Definition mmesh/interface/grid.hh:571
const HostGridType & getHostGrid() const
Return reference to underlying CGAL triangulation.
Definition mmesh/interface/grid.hh:654
ConnectedComponent & getConnectedComponent(const Entity &entity)
Return a non-const reference to the connected component for a given entity.
Definition mmesh/interface/grid.hh:579
int size(int level, GeometryType type) const
number of entities per level, codim and geometry type in this process
Definition mmesh/interface/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 mmesh/interface/grid.hh:556
int size(GeometryType type) const
number of leaf entities per codim and geometry type in this process
Definition mmesh/interface/grid.hh:214
typename MMesh::HostGridType HostGridType
the underlying hostgrid
Definition mmesh/interface/grid.hh:115
int getMark(const typename Traits::template Codim< 0 >::Entity &e) const
Return refinement mark for entity.
Definition mmesh/interface/grid.hh:369
int sequence() const
Return sequence number.
Definition mmesh/interface/grid.hh:657
std::unique_ptr< GridImp > GridPtrType
the unique pointer to the grid
Definition mmesh/interface/grid.hh:112
int maxLevel() const
Return maximum level defined in this grid.
Definition mmesh/interface/grid.hh:176
Dune::FieldVector< ctype, dimensionworld > GlobalCoordinate
The type used for coordinates.
Definition mmesh/interface/grid.hh:127
typename Traits::template Codim< dimension >::Entity Vertex
The type of a vertex.
Definition mmesh/interface/grid.hh:148
Traits::template Codim< codim >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition mmesh/interface/grid.hh:275
void loadBalance(int strategy, int minlevel, int depth, int maxlevel, int minelement)
Definition mmesh/interface/grid.hh:465
typename HostGridEntityChooser_< HostGridType, dimensionworld, cd+1 >::type MMeshInterfaceEntity
The type of the underlying entities.
Definition mmesh/interface/grid.hh:133
BoundarySegments localBoundarySegments_
Definition mmesh/interface/grid.hh:674
unsigned int ghostSize(int codim) const
Size of the ghost cell layer on the leaf level.
Definition mmesh/interface/grid.hh:428
bool hasConnectedComponent(const Entity &entity) const
Return if an entity has a connected component.
Definition mmesh/interface/grid.hh:563
bool adapt()
Triggers the grid adaptation process.
Definition mmesh/interface/grid.hh:385
Traits::template Codim< codim >::LeafIterator leafend() const
one past the end of the sequence of leaf entities
Definition mmesh/interface/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 mmesh/interface/grid.hh:269
Traits::template Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
Create Entity from EntitySeed.
Definition mmesh/interface/grid.hh:242
std::enable_if_t< d==3, const MMeshInterfaceEntity< 0 > > mirrorHostEntity(const MMeshInterfaceEntity< 0 > &other) const
Mirror a host entity (3d)
Definition mmesh/interface/grid.hh:609
const MMesh & getMMesh() const
Return reference to MMesh.
Definition mmesh/interface/grid.hh:651
MMeshInterfaceEntity< dimension - 1 > EdgeHandle
The type of the underlying edge handle.
Definition mmesh/interface/grid.hh:139
void postAdapt()
Clean up refinement markers.
Definition mmesh/interface/grid.hh:418
const BoundarySegments & boundarySegments() const
Definition mmesh/interface/grid.hh:190
typename Traits::template Codim< 0 >::Entity Entity
The type of a codim 0 entity.
Definition mmesh/interface/grid.hh:145
void globalRefine(int steps=1)
Global refine.
Definition mmesh/interface/grid.hh:340
void setIndices()
compute the grid indices
Definition mmesh/interface/grid.hh:637
bool loadBalance(const T &t)
Definition mmesh/interface/grid.hh:461
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition mmesh/interface/grid.hh:188
MMeshInterfaceEntity< dimension > VertexHandle
The type of the underlying vertex handle.
Definition mmesh/interface/grid.hh:136
static constexpr int dimensionworld
Definition mmesh/interface/grid.hh:93
unsigned int overlapSize(int codim) const
Size of the overlap on the leaf level.
Definition mmesh/interface/grid.hh:425
FieldType ctype
The type used to store coordinates, inherited from the MMesh.
Definition mmesh/interface/grid.hh:124
void addBoundarySegment(const std::vector< std::size_t > &ids, std::size_t bndSegIdx)
Definition mmesh/interface/grid.hh:194
MMesh * mMesh_
The host grid which contains the actual grid hierarchy structure.
Definition mmesh/interface/grid.hh:672
Traits::template Codim< codim >::LeafIterator leafbegin() const
Iterator to first leaf entity of given codim.
Definition mmesh/interface/grid.hh:307
const Traits::LocalIdSet & localIdSet() const
Access to the LocalIdSet.
Definition mmesh/interface/grid.hh:222
Traits::template Codim< codim >::template Partition< PiType >::LeafIterator leafend() const
one past the end of the sequence of leaf entities
Definition mmesh/interface/grid.hh:331
void loadBalance()
Distributes this grid over the available nodes in a distributed machine.
Definition mmesh/interface/grid.hh:458
int size(int codim) const
number of leaf entities per codim in this process
Definition mmesh/interface/grid.hh:204
std::enable_if_t< d==2, const MMeshInterfaceEntity< 0 > > mirrorHostEntity(const MMeshInterfaceEntity< 0 > &other) const
Mirror a host entity (2d)
Definition mmesh/interface/grid.hh:602
const MMeshInterfaceGridLeafIndexSet< const GridImp > & levelIndexSet(int level) const
Access to the LevelIndexSets.
Definition mmesh/interface/grid.hh:227
Traits::template Codim< 0 >::LeafIterator LeafIterator
the leaf iterator
Definition mmesh/interface/grid.hh:121
Traits::template Codim< dimension >::Entity entity(const MMeshInterfaceEntity< dimension > &hostEntity) const
Create Entity from a host entity.
Definition mmesh/interface/grid.hh:254
std::size_t domainMarker(const Entity &entity) const
Return domain marker of entity.
Definition mmesh/interface/grid.hh:549
static double refineWeight()
Definition mmesh/interface/grid.hh:689
static int refineStepsForHalf()
Definition mmesh/interface/grid.hh:687
Iterator over the descendants of an entity.Mesh entities of codimension 0 ("elements") allow to visit...
Definition interface/hierarchiciterator.hh:22
Definition interface/indexsets.hh:18
std::size_t size(GeometryType type) const
get number of entities of given type
Definition interface/indexsets.hh:196
Definition interface/indexsets.hh:355
Iterator over all element neighborsMesh entities of codimension 0 ("elements") allow to visit all nei...
Definition interface/intersectioniterator.hh:28
An intersection with a leaf neighbor elementMesh entities of codimension 0 ("elements") allow to visi...
Definition interface/intersections.hh:36
Iterator over all entities of a given codimension and level of a grid (2D).
Definition interface/leafiterator.hh:21
Definition communication.hh:17
The MMesh class.
The MMeshInterfaceConnectedComponent class.
The MMeshInterfaceGridEntity class.
The MMeshInterfaceGridEntitySeed class.
The MMeshInterfaceGridGeometry class and its specializations Inherits from Dune::AffineGeometry.
The index and id sets for the MMesh class.
The intersection iterator for the MMesh class.
The MMeshInterfaceGridLeafIntersection and MMeshLevelIntersection classes.
T count(T... args)
T make_pair(T... args)
T size(T... args)
T sort(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8