Dune Core Modules (2.4.1)

Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout > Class Template Reference

Implementation class for a multiple codim and multiple geometry type mapper. More...

#include <dune/grid/common/mcmgmapper.hh>

Public Types

typedef GV::IndexSet::IndexType Index
 Number type used for indices.
 

Public Member Functions

 MultipleCodimMultipleGeomTypeMapper (const GV &gridView_, const Layout< GV::dimension > layout)
 Construct mapper from grid and one of its index sets. More...
 
 MultipleCodimMultipleGeomTypeMapper (const GV &gridView_)
 Construct mapper from grid and one of its index sets. More...
 
template<class EntityType >
Index DUNE_DEPRECATED_MSG ("Will be removed after dune-grid-2.4. Use method 'index' instead!") map(const EntityType &e) const
 Map entity to array index. More...
 
template<class EntityType >
Index index (const EntityType &e) const
 Map entity to array index. More...
 
Index DUNE_DEPRECATED_MSG ("Will be removed after dune-grid-2.4. Use method 'subIndex' instead!") map(const typename GV
 Map subentity of codim 0 entity to array index. More...
 
Index DUNE_DEPRECATED_MSG ("Will be removed after dune-grid-2.4. Use method 'index' instead!") map(const typename GV::Grid
 Map subentity i of codim cc of a codim 0 entity to array index. More...
 

Detailed Description

template<typename GV, template< int > class Layout>
class Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >

Implementation class for a multiple codim and multiple geometry type mapper.

In this implementation of a mapper the entity set used as domain for the map consists of the entities of a subset of codimensions in the given index set. The index set may contain entities of several geometry types. This version is usually not used directly but is used to implement versions for leafwise and levelwise entity sets.

Template Parameters
GVA Dune GridView type.
LayoutA helper class template with a method contains(), that returns true for all geometry types that are in the domain of the map. The class should be of the following shape
template<int dimgrid>
struct LayoutClass {
bool contains (Dune::GeometryType gt) const {
// Return true if gt is in the domain of the map
}
};
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:25
bool gt(const T &first, const T &second, typename EpsilonType< T >::Type epsilon)
test if first greater than second
Definition: float_cmp.cc:132
The MultipleCodimMultipleGeomTypeMapper will always substitute the dimension of the grid for the template parameter dimgrid.

If you don't want to use the default constructor of the LayoutClass you can construct it yourself and hand it to the respective constructor (with dimgrid=GV::dimension). In this case the layout class should be copy constructible.

There are two predefined Layout class templates for the common cases that only elements or only vertices should be mapped: MCMGElementLayout and MCMGVertexLayout.

Constructor & Destructor Documentation

◆ MultipleCodimMultipleGeomTypeMapper() [1/2]

template<typename GV , template< int > class Layout>
Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >::MultipleCodimMultipleGeomTypeMapper ( const GV &  gridView_,
const Layout< GV::dimension >  layout 
)
inline

Construct mapper from grid and one of its index sets.

Use this constructor to provide a custom layout object e.g. not using the default constructor.

Parameters
gridView_A Dune GridView object.
layoutA layout object.

◆ MultipleCodimMultipleGeomTypeMapper() [2/2]

template<typename GV , template< int > class Layout>
Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >::MultipleCodimMultipleGeomTypeMapper ( const GV &  gridView_)
inline

Construct mapper from grid and one of its index sets.

Parameters
gridView_A Dune GridView object.

Member Function Documentation

◆ DUNE_DEPRECATED_MSG() [1/3]

template<typename GV , template< int > class Layout>
template<class EntityType >
Index Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >::DUNE_DEPRECATED_MSG ( "Will be removed after dune-grid-2.4. Use method 'index' instead!"  ) const &
inline

Map entity to array index.

Template Parameters
EntityType
Parameters
eReference to codim EntityType entity.
Returns
An index in the range 0 ... Max number of entities in set - 1.

References Dune::FloatCmp::gt(), and Dune::GlobalGeometryTypeIndex::index().

◆ DUNE_DEPRECATED_MSG() [2/3]

Index Dune::Mapper< GV::Grid , MultipleCodimMultipleGeomTypeMapper< GV, Layout > , GV::IndexSet::IndexType >::DUNE_DEPRECATED_MSG ( "Will be removed after dune-grid-2.4. Use method 'index' instead!"  ) const
inlineinherited

Map subentity i of codim cc of a codim 0 entity to array index.

Parameters
eReference to codim 0 entity.
iNumber of codim cc subentity of e, where cc is the template parameter of the function.
codimcodimension of subentity of e
Returns
An index in the range 0 ... Max number of entities in set - 1.

Map subentity i of codim cc of a codim 0 entity to array index.

Parameters
eReference to codim 0 entity.
iNumber of codim cc subentity of e, where cc is the template parameter of the function.
codimcodimension of subentity of e
Returns
An index in the range 0 ... Max number of entities in set - 1.

Return total number of entities in the entity set managed by the mapper.

This number can be used to allocate a vector of data elements associated with the entities of the set. In the parallel case this number is per process (i.e. it may be different in different processes).

Returns
Size of the entity set.

Returns true if the entity is contained in the index set and at the same time the array index is returned.

Parameters
[in]eReference to entity
[out]resultFilled with array index if entity is contained
Returns
true if entity is in entity set of the mapper

Returns true if the subentity is contained in the index set and at the same time the array index is returned.

Parameters
[in]eReference to codim 0 entity
[in]isubentity number
[in]ccsubentity codim
[out]resultFilled with array index if entity is contained
Returns
true if entity is in entity set of the mapper

Reinitialize mapper after grid has been modified.

◆ DUNE_DEPRECATED_MSG() [3/3]

template<typename GV , template< int > class Layout>
Index Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >::DUNE_DEPRECATED_MSG ( "Will be removed after dune-grid-2.4. Use method 'subIndex' instead!"  ) const
inline

Map subentity of codim 0 entity to array index.

Parameters
eReference to codim 0 entity.
iNumber of subentity of e
codimCodimension of the subentity
Returns
An index in the range 0 ... Max number of entities in set - 1.

Map subentity of codim 0 entity to array index.

Parameters
eReference to codim 0 entity.
iNumber of subentity of e
codimCodimension of the subentity
Returns
An index in the range 0 ... Max number of entities in set - 1.

Return total number of entities in the entity set managed by the mapper.

This number can be used to allocate a vector of data elements associated with the entities of the set. In the parallel case this number is per process (i.e. it may be different in different processes).

Returns
Size of the entity set.

Returns true if the entity is contained in the index set

Parameters
eReference to entity
resultinteger reference where corresponding index is stored if true
Returns
true if entity is in entity set of the mapper

Returns true if the entity is contained in the index set

Parameters
eReference to codim 0 entity
isubentity number
ccsubentity codim
resultinteger reference where corresponding index is stored if true
Returns
true if entity is in entity set of the mapper

Recalculates map after mesh adaptation

References Dune::ReferenceElements< ctype, dim >::general(), Dune::FloatCmp::gt(), and Dune::GlobalGeometryTypeIndex::index().

◆ index()

template<typename GV , template< int > class Layout>
template<class EntityType >
Index Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >::index ( const EntityType &  e) const
inline

Map entity to array index.

Template Parameters
EntityType
Parameters
eReference to codim EntityType entity.
Returns
An index in the range 0 ... Max number of entities in set - 1.

References Dune::FloatCmp::gt(), and Dune::GlobalGeometryTypeIndex::index().

Referenced by Dune::P0VTKFunction< GV, V >::evaluate().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 22, 23:30, 2024)