|
dune-mmesh 1.4.1-git
|
Provides a DUNE grid interface class for the interface of a MMesh interface grid . More...
#include <dune/mmesh/interface/grid.hh>
Public Types | |
| using | FieldType = typename MMesh::FieldType |
| using | IdType = typename MMesh::IdType |
| using | BoundarySegments = std::unordered_map< IdType, std::size_t > |
| typedef MMeshInterfaceGridFamily< MMesh > | GridFamily |
| the Traits | |
| typedef GridFamily::Traits | Traits |
| using | GridImp = typename GridFamily::Traits::Grid |
| the grid implementation | |
| typedef std::unique_ptr< GridImp > | GridPtrType |
| the unique pointer to the grid | |
| using | HostGridType = typename MMesh::HostGridType |
| the underlying hostgrid | |
| using | MMeshType = MMesh |
| the underlying mmesh | |
| typedef Traits::template Codim< 0 >::LeafIterator | LeafIterator |
| the leaf iterator | |
| typedef FieldType | ctype |
| The type used to store coordinates, inherited from the MMesh. | |
| typedef Dune::FieldVector< ctype, dimensionworld > | GlobalCoordinate |
| The type used for coordinates. | |
| template<int cd> | |
| using | MMeshInterfaceEntity = typename HostGridEntityChooser_< HostGridType, dimensionworld, cd+1 >::type |
| The type of the underlying entities. | |
| using | VertexHandle = MMeshInterfaceEntity< dimension > |
| The type of the underlying vertex handle. | |
| using | EdgeHandle = MMeshInterfaceEntity< dimension - 1 > |
| The type of the underlying edge handle. | |
| using | ElementOutput = std::list< MMeshInterfaceEntity< 0 > > |
| The type of the element output. | |
| using | Entity = typename Traits::template Codim< 0 >::Entity |
| The type of a codim 0 entity. | |
| using | Vertex = typename Traits::template Codim< dimension >::Entity |
| The type of a vertex. | |
| using | ConnectedComponent = MMeshInterfaceConnectedComponent< const GridImp > |
| The type of a connected component. | |
| using | RemeshingIndicator = RatioIndicator< GridImp > |
| The type of the default remeshing indicator. | |
Public Member Functions | |
| MMeshInterfaceGrid (MMesh *mMesh, BoundarySegments boundarySegments={}) | |
| Constructor. | |
| int | maxLevel () const |
| Return maximum level defined in this grid. | |
| int | size (int level, int codim) const |
| Number of grid entities per level and codim. | |
| size_t | numBoundarySegments () const |
| returns the number of boundary segments within the macro grid | |
| const BoundarySegments & | boundarySegments () const |
| void | addBoundarySegment (const std::vector< std::size_t > &ids, std::size_t bndSegIdx) |
| void | setBoundarySegments (const BoundarySegments boundarySegments) |
| int | size (int codim) const |
| number of leaf entities per codim in this process | |
| int | size (int level, GeometryType type) const |
| number of entities per level, codim and geometry type in this process | |
| int | size (GeometryType type) const |
| number of leaf entities per codim and geometry type in this process | |
| const Traits::GlobalIdSet & | globalIdSet () const |
| Access to the GlobalIdSet. | |
| const Traits::LocalIdSet & | localIdSet () const |
| Access to the LocalIdSet. | |
| const MMeshInterfaceGridLeafIndexSet< const GridImp > & | levelIndexSet (int level) const |
| Access to the LevelIndexSets. | |
| const MMeshInterfaceGridLeafIndexSet< const GridImp > & | leafIndexSet () const |
| Access to the LeafIndexSet. | |
| template<class EntitySeed > | |
| Traits::template Codim< EntitySeed::codimension >::Entity | entity (const EntitySeed &seed) const |
| Create Entity from EntitySeed. | |
| Traits::template Codim< dimension >::Entity | entity (const MMeshInterfaceEntity< dimension > &hostEntity) const |
| Create Entity from a host entity. | |
| Traits::template Codim< 0 >::Entity | entity (const MMeshInterfaceEntity< 0 > &hostEntity) const |
| Create codim 0 entity from a host entity. | |
| template<int dimw = dimension + 1> | |
| 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. | |
| template<int codim> | |
| Traits::template Codim< codim >::LevelIterator | lbegin (int level) const |
| Iterator to first entity of given codim on level. | |
| template<int codim> | |
| Traits::template Codim< codim >::LevelIterator | lend (int level) const |
| one past the end on this level | |
| template<int codim, PartitionIteratorType PiType> | |
| Traits::template Codim< codim >::template Partition< PiType >::LevelIterator | lbegin (int level) const |
| Iterator to first entity of given codim on level. | |
| template<int codim, PartitionIteratorType PiType> | |
| Traits::template Codim< codim >::template Partition< PiType >::LevelIterator | lend (int level) const |
| one past the end on this level | |
| template<int codim> | |
| Traits::template Codim< codim >::LeafIterator | leafbegin () const |
| Iterator to first leaf entity of given codim. | |
| template<int codim> | |
| Traits::template Codim< codim >::LeafIterator | leafend () const |
| one past the end of the sequence of leaf entities | |
| template<int codim, PartitionIteratorType PiType> | |
| Traits::template Codim< codim >::template Partition< PiType >::LeafIterator | leafbegin () const |
| Iterator to first leaf entity of given codim. | |
| template<int codim, PartitionIteratorType PiType> | |
| Traits::template Codim< codim >::template Partition< PiType >::LeafIterator | leafend () const |
| one past the end of the sequence of leaf entities | |
| void | globalRefine (int steps=1) |
| Global refine. | |
| bool | mark (int refCount, const typename Traits::template Codim< 0 >::Entity &e) const |
| Mark entity for refinement. | |
| int | getMark (const typename Traits::template Codim< 0 >::Entity &e) const |
| Return refinement mark for entity. | |
| bool | preAdapt () |
| returns false, if at least one entity is marked for adaption | |
| bool | adapt () |
| Triggers the grid adaptation process. | |
| template<class GridImp , class DataHandle > | |
| bool | adapt (AdaptDataHandleInterface< GridImp, DataHandle > &handle) |
| Callback for the grid adaptation process with restrict/prolong. | |
| void | postAdapt () |
| Clean up refinement markers. | |
| unsigned int | overlapSize (int codim) const |
| Size of the overlap on the leaf level. | |
| unsigned int | ghostSize (int codim) const |
| Size of the ghost cell layer on the leaf level. | |
| unsigned int | overlapSize (int level, int codim) const |
| Size of the overlap on a given level. | |
| unsigned int | ghostSize (int level, int codim) const |
| Size of the ghost cell layer on a given level. | |
| void | loadBalance () |
| Distributes this grid over the available nodes in a distributed machine. | |
| template<class T > | |
| bool | loadBalance (const T &t) |
| void | loadBalance (int strategy, int minlevel, int depth, int maxlevel, int minelement) |
| const Communication< Comm > & | comm () const |
| Collective communication. | |
| template<class Data , class InterfaceType , class CommunicationDirection > | |
| void | communicate (Data &dataHandle, InterfaceType interface, CommunicationDirection direction, int level=0) const |
| bool | isInterface (const MMeshInterfaceEntity< 0 > &segment) const |
| Return if interface segment is part of the interface. | |
| template<int d = dimension> | |
| std::enable_if_t< d==2, bool > | isInterface (const MMeshInterfaceEntity< 1 > &edge) const |
| Return if an edge is of the interface. | |
| bool | isInterface (const VertexHandle &vertex) const |
| Return if vertex is part of the interface. | |
| bool | isInterface (const typename Traits::LeafIntersection &intersection) const |
| Return if intersection is part of the interface. | |
| template<class Entity > | |
| bool | isInterface (const Entity &entity) const |
| Return if dune entity is part of the interface. | |
| template<class Entity > | |
| std::size_t | domainMarker (const Entity &entity) const |
| Return domain marker of entity. | |
| 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. | |
| bool | hasConnectedComponent (const Entity &entity) const |
| Return if an entity has a connected component. | |
| const ConnectedComponent & | getConnectedComponent (const Entity &entity) const |
| Return the connected component for a given entity. | |
| ConnectedComponent & | getConnectedComponent (const Entity &entity) |
| Return a non-const reference to the connected component for a given entity. | |
| bool | canBeMirrored (const MMeshInterfaceEntity< 0 > &hostEntity) const |
| template<int d = dimensionworld> | |
| std::enable_if_t< d==2, const MMeshInterfaceEntity< 0 > > | mirrorHostEntity (const MMeshInterfaceEntity< 0 > &other) const |
| Mirror a host entity (2d) | |
| template<int d = dimensionworld> | |
| std::enable_if_t< d==3, const MMeshInterfaceEntity< 0 > > | mirrorHostEntity (const MMeshInterfaceEntity< 0 > &other) const |
| Mirror a host entity (3d) | |
| void | setIds () |
| compute the grid ids | |
| void | setIndices () |
| compute the grid indices | |
| const MMesh & | getMMesh () const |
| Return reference to MMesh. | |
| const HostGridType & | getHostGrid () const |
| Return reference to underlying CGAL triangulation. | |
| int | sequence () const |
| Return sequence number. | |
| const auto & | partitionHelper () const |
Static Public Attributes | |
| static constexpr int | dimension = MMesh::dimension - 1 |
| static constexpr int | dimensionworld = MMesh::dimension |
Protected Attributes | |
| MMesh * | mMesh_ |
| The host grid which contains the actual grid hierarchy structure. | |
| BoundarySegments | boundarySegments_ |
| BoundarySegments | localBoundarySegments_ |
| std::unordered_map< MMeshImpl::MultiId, int > | mark_ |
| int | sequence_ = 0 |
Detailed Description
class Dune::MMeshInterfaceGrid< MMesh >
Provides a DUNE grid interface class for the interface of a MMesh interface grid .
Member Typedef Documentation
◆ BoundarySegments
| using Dune::MMeshInterfaceGrid< MMesh >::BoundarySegments = std::unordered_map<IdType, std::size_t> |
◆ ConnectedComponent
| using Dune::MMeshInterfaceGrid< MMesh >::ConnectedComponent = MMeshInterfaceConnectedComponent<const GridImp> |
The type of a connected component.
◆ ctype
| typedef FieldType Dune::MMeshInterfaceGrid< MMesh >::ctype |
The type used to store coordinates, inherited from the MMesh.
◆ EdgeHandle
| using Dune::MMeshInterfaceGrid< MMesh >::EdgeHandle = MMeshInterfaceEntity<dimension - 1> |
The type of the underlying edge handle.
◆ ElementOutput
| using Dune::MMeshInterfaceGrid< MMesh >::ElementOutput = std::list<MMeshInterfaceEntity<0> > |
The type of the element output.
◆ Entity
| using Dune::MMeshInterfaceGrid< MMesh >::Entity = typename Traits::template Codim<0>::Entity |
The type of a codim 0 entity.
◆ FieldType
| using Dune::MMeshInterfaceGrid< MMesh >::FieldType = typename MMesh::FieldType |
◆ GlobalCoordinate
| typedef Dune::FieldVector<ctype, dimensionworld> Dune::MMeshInterfaceGrid< MMesh >::GlobalCoordinate |
The type used for coordinates.
◆ GridFamily
| typedef MMeshInterfaceGridFamily<MMesh> Dune::MMeshInterfaceGrid< MMesh >::GridFamily |
the Traits
◆ GridImp
| using Dune::MMeshInterfaceGrid< MMesh >::GridImp = typename GridFamily::Traits::Grid |
the grid implementation
◆ GridPtrType
| typedef std::unique_ptr<GridImp> Dune::MMeshInterfaceGrid< MMesh >::GridPtrType |
the unique pointer to the grid
◆ HostGridType
| using Dune::MMeshInterfaceGrid< MMesh >::HostGridType = typename MMesh::HostGridType |
the underlying hostgrid
◆ IdType
| using Dune::MMeshInterfaceGrid< MMesh >::IdType = typename MMesh::IdType |
◆ LeafIterator
| typedef Traits::template Codim<0>::LeafIterator Dune::MMeshInterfaceGrid< MMesh >::LeafIterator |
the leaf iterator
◆ MMeshInterfaceEntity
| using Dune::MMeshInterfaceGrid< MMesh >::MMeshInterfaceEntity = typename HostGridEntityChooser_<HostGridType, dimensionworld, cd + 1>::type |
The type of the underlying entities.
◆ MMeshType
| using Dune::MMeshInterfaceGrid< MMesh >::MMeshType = MMesh |
the underlying mmesh
◆ RemeshingIndicator
| using Dune::MMeshInterfaceGrid< MMesh >::RemeshingIndicator = RatioIndicator<GridImp> |
The type of the default remeshing indicator.
◆ Traits
| typedef GridFamily::Traits Dune::MMeshInterfaceGrid< MMesh >::Traits |
◆ Vertex
| using Dune::MMeshInterfaceGrid< MMesh >::Vertex = typename Traits::template Codim<dimension>::Entity |
The type of a vertex.
◆ VertexHandle
| using Dune::MMeshInterfaceGrid< MMesh >::VertexHandle = MMeshInterfaceEntity<dimension> |
The type of the underlying vertex handle.
Constructor & Destructor Documentation
◆ MMeshInterfaceGrid()
|
inlineexplicit |
Constructor.
Member Function Documentation
◆ adapt() [1/2]
|
inline |
◆ adapt() [2/2]
|
inline |
Callback for the grid adaptation process with restrict/prolong.
◆ addBoundarySegment()
|
inline |
◆ boundarySegments()
|
inline |
◆ canBeMirrored()
|
inline |
◆ comm()
|
inline |
Collective communication.
◆ communicate()
|
inline |
◆ domainMarker()
|
inline |
Return domain marker of entity.
◆ entity() [1/4]
|
inline |
Create Entity from EntitySeed.
◆ entity() [2/4]
|
inline |
Create codim 0 entity from a host entity.
◆ entity() [3/4]
|
inline |
Create codim 0 entity from a host entity.
◆ entity() [4/4]
|
inline |
Create Entity from a host entity.
◆ getConnectedComponent() [1/2]
|
inline |
Return a non-const reference to the connected component for a given entity.
◆ getConnectedComponent() [2/2]
|
inline |
Return the connected component for a given entity.
◆ getHostGrid()
|
inline |
Return reference to underlying CGAL triangulation.
◆ getMark()
|
inline |
Return refinement mark for entity.
- Returns
- refinement mark
◆ getMMesh()
|
inline |
Return reference to MMesh.
◆ ghostSize() [1/2]
|
inline |
Size of the ghost cell layer on the leaf level.
◆ ghostSize() [2/2]
|
inline |
Size of the ghost cell layer on a given level.
◆ globalIdSet()
|
inline |
Access to the GlobalIdSet.
◆ globalRefine()
|
inline |
Global refine.
Marks all elements for refinement and adapts the grid
◆ hasConnectedComponent()
|
inline |
Return if an entity has a connected component.
◆ isInterface() [1/5]
|
inline |
Return if dune entity is part of the interface.
◆ isInterface() [2/5]
|
inline |
Return if interface segment is part of the interface.
◆ isInterface() [3/5]
|
inline |
Return if an edge is of the interface.
◆ isInterface() [4/5]
|
inline |
Return if intersection is part of the interface.
◆ isInterface() [5/5]
|
inline |
Return if vertex is part of the interface.
◆ lbegin() [1/2]
|
inline |
Iterator to first entity of given codim on level.
◆ lbegin() [2/2]
|
inline |
Iterator to first entity of given codim on level.
◆ leafbegin() [1/2]
|
inline |
Iterator to first leaf entity of given codim.
◆ leafbegin() [2/2]
|
inline |
Iterator to first leaf entity of given codim.
◆ leafend() [1/2]
|
inline |
one past the end of the sequence of leaf entities
◆ leafend() [2/2]
|
inline |
one past the end of the sequence of leaf entities
◆ leafIndexSet()
|
inline |
Access to the LeafIndexSet.
◆ lend() [1/2]
|
inline |
one past the end on this level
◆ lend() [2/2]
|
inline |
one past the end on this level
◆ levelIndexSet()
|
inline |
Access to the LevelIndexSets.
◆ loadBalance() [1/3]
|
inline |
Distributes this grid over the available nodes in a distributed machine.
- Parameters
-
minlevel The coarsest grid level that gets distributed maxlevel does currently get ignored
◆ loadBalance() [2/3]
|
inline |
◆ loadBalance() [3/3]
|
inline |
◆ localIdSet()
|
inline |
Access to the LocalIdSet.
◆ mark()
|
inline |
Mark entity for refinement.
This only works for entities of codim 0.
◆ markAsRefined()
|
inline |
Mark a set of children elements as refinement of a connected component.
◆ maxLevel()
|
inline |
Return maximum level defined in this grid.
Levels are numbered 0 ... maxlevel with 0 the coarsest level.
◆ mirrorHostEntity() [1/2]
|
inline |
Mirror a host entity (2d)
◆ mirrorHostEntity() [2/2]
|
inline |
Mirror a host entity (3d)
◆ numBoundarySegments()
|
inline |
returns the number of boundary segments within the macro grid
◆ overlapSize() [1/2]
|
inline |
Size of the overlap on the leaf level.
◆ overlapSize() [2/2]
|
inline |
Size of the overlap on a given level.
◆ partitionHelper()
|
inline |
◆ postAdapt()
|
inline |
Clean up refinement markers.
◆ preAdapt()
|
inline |
returns false, if at least one entity is marked for adaption
◆ sequence()
|
inline |
Return sequence number.
◆ setBoundarySegments()
|
inline |
◆ setIds()
|
inline |
compute the grid ids
◆ setIndices()
|
inline |
compute the grid indices
◆ size() [1/4]
|
inline |
number of leaf entities per codim and geometry type in this process
◆ size() [2/4]
|
inline |
number of leaf entities per codim in this process
◆ size() [3/4]
|
inline |
number of entities per level, codim and geometry type in this process
◆ size() [4/4]
|
inline |
Number of grid entities per level and codim.
Member Data Documentation
◆ boundarySegments_
|
protected |
◆ dimension
|
staticconstexpr |
◆ dimensionworld
|
staticconstexpr |
◆ localBoundarySegments_
|
protected |
◆ mark_
|
mutableprotected |
◆ mMesh_
|
protected |
The host grid which contains the actual grid hierarchy structure.
◆ sequence_
|
protected |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8