dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > Class Template Reference

A FilteredGridPart allows to extract a set of entities from a grid satisfying a given constrainted defined through a filter class. More...

#include <dune/fem/gridpart/filteredgridpart.hh>

Inheritance diagram for Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >:
Inheritance graph

Classes

struct  Codim
 grid part typedefs, use those of traits More...
 

Public Types

typedef FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > Traits
 traits class
 
typedef FilterImp FilterType
 type of filter
 
typedef Traits::HostGridPartType HostGridPartType
 
typedef Traits::GridType GridType
 grid type
 
typedef Traits::IndexSetType IndexSetType
 index set type
 
typedef Traits::IntersectionIteratorType IntersectionIteratorType
 intersection iterator type
 
typedef IntersectionIteratorType::Intersection IntersectionType
 intersection type
 
typedef Traits::CommunicationType CommunicationType
 
typedef ThisType GridViewType
 
typedef DofManager< GridTypeDofManagerType
 type of DofManager
 
typedef BoundaryIdProvider< GridTypeBoundaryIdProviderType
 type of boundary id provider specialized for each grid type
 
typedef Traits::GridPartType GridPartType
 Type of the implementation.
 
typedef GridType Grid
 type of Grid implementation
 
typedef IndexSetType IndexSet
 Index set implementation.
 
typedef CommunicationType Communication
 Collective communication.
 
typedef Traits::TwistUtilityType TwistUtilityType
 Twist utility type.
 
typedef IntersectionIteratorType IntersectionIterator
 type of IntersectionIterator
 
typedef IntersectionType Intersection
 type of Intersection
 
typedef GridType::ctype ctype
 

Public Member Functions

 FilteredGridPart (HostGridPartType &hostGridPart, const FilterType &filter)
 constructor
 
 FilteredGridPart (const FilteredGridPart &other)
 copy constructor
 
FilteredGridPartoperator= (const FilteredGridPart &other)
 
const IndexSetTypeindexSet () const
 return index set of this grid part
 
template<int codim>
Codim< codim >::IteratorType begin () const
 Begin iterator on the leaf level.
 
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType begin () const
 Begin iterator on the leaf level.
 
template<int codim>
Codim< codim >::IteratorType end () const
 Begin iterator on the leaf level.
 
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType end () const
 End iterator on the leaf level.
 
int level () const
 Returns maxlevel of the grid.
 
IntersectionIteratorType ibegin (const EntityType &entity) const
 ibegin of corresponding intersection iterator for given entity
 
IntersectionIteratorType iend (const EntityType &entity) const
 iend of corresponding intersection iterator for given entity
 
template<class DataHandleImp , class DataType >
void communicate (CommDataHandleIF< DataHandleImp, DataType > &dataHandle, InterfaceType iftype, CommunicationDirection dir) const
 corresponding communication method for this grid part
 
template<class EntitySeed >
Codim< EntitySeed::codimension >::EntityType entity (const EntitySeed &seed) const
 obtain entity pointer from entity seed
 
const FilterTypefilter () const
 return reference to filter
 
FilterTypefilter ()
 return reference to filter
 
template<class Entity >
bool contains (const Entity &entity) const
 
HostGridPartTypehostGridPart ()
 
const HostGridPartTypehostGridPart () const
 
template<class Entity >
const Entityconvert (const Entity &entity) const
 convert the grid's entity to a grid part entity Usually the parameter is GridType :: Codim< codim > :: Entity and the return is Codim< codim > :: EntityType. In general these types are the same, but for overloaded entities on grid parts this can differ.
 
const GridTypegrid () const
 Returns const reference to the underlying grid.
 
GridTypegrid ()
 Returns reference to the underlying grid.
 
bool isConforming () const
 returns true if current grid part represents a conforming grid
 
int size (int codim) const
 obtain number of entities in a given codimension
 
int size (const GeometryType &type) const
 obtain number of entities with a given geometry type
 
bool contains (const EntityType &e) const
 
const CommunicationTypecomm () const
 obtain collective communication object
 
int boundaryId (const IntersectionType &intersection) const
 obtain entity pointer from entity seed
 
int boundaryId (const IntersectionType &intersection) const
 return boundary if given an intersection
 
IntersectionIteratorType ibegin (const typename Codim< 0 >::EntityType &entity) const
 ibegin of corresponding intersection iterator for given entity
 
IntersectionIteratorType iend (const typename Codim< 0 >::EntityType &entity) const
 iend of corresponding intersection iterator for given entity
 
int overlapSize (int codim) const
 
int ghostSize (int codim) const
 
int sequence () const
 return sequence number to update structures depending on the grid part
 
const auto & gridView () const
 

Static Public Attributes

static const PartitionIteratorType indexSetPartitionType = Traits::indexSetPartitionType
 Maximum Partition type, the index set provides indices for.
 
static const InterfaceType indexSetInterfaceType = Traits::indexSetInterfaceType
 
static constexpr int dimension = GridType::dimension
 
static constexpr int dimensionworld = GridType::dimensionworld
 
static constexpr bool conforming = Traits::conforming
 

Protected Attributes

GridTypegrid_
 
DofManagerTypedofManager_
 

Detailed Description

template<class HostGridPartImp, class FilterImp, bool useFilteredIndexSet>
class Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >

A FilteredGridPart allows to extract a set of entities from a grid satisfying a given constrainted defined through a filter class.

Member Typedef Documentation

◆ BoundaryIdProviderType

typedef BoundaryIdProvider< GridType > Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::BoundaryIdProviderType
inherited

type of boundary id provider specialized for each grid type

◆ Communication

template<class GridPartTraits >
typedef CommunicationType Dune::Fem::GridPartInterface< GridPartTraits >::Communication
inherited

Collective communication.

◆ CommunicationType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef Traits::CommunicationType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::CommunicationType

◆ ctype

template<class GridPartTraits >
typedef GridType::ctype Dune::Fem::GridPartInterface< GridPartTraits >::ctype
inherited

◆ DofManagerType

typedef DofManager< GridType > Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::DofManagerType
inherited

type of DofManager

◆ FilterType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef FilterImp Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::FilterType

type of filter

◆ Grid

template<class GridPartTraits >
typedef GridType Dune::Fem::GridPartInterface< GridPartTraits >::Grid
inherited

type of Grid implementation

◆ GridPartType

template<class GridPartTraits >
typedef Traits::GridPartType Dune::Fem::GridPartInterface< GridPartTraits >::GridPartType
inherited

Type of the implementation.

◆ GridType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef Traits::GridType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::GridType

grid type

◆ GridViewType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef ThisType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::GridViewType

◆ HostGridPartType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef Traits::HostGridPartType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::HostGridPartType

◆ IndexSet

template<class GridPartTraits >
typedef IndexSetType Dune::Fem::GridPartInterface< GridPartTraits >::IndexSet
inherited

Index set implementation.

◆ IndexSetType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef Traits::IndexSetType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::IndexSetType

index set type

◆ Intersection

template<class GridPartTraits >
typedef IntersectionType Dune::Fem::GridPartInterface< GridPartTraits >::Intersection
inherited

type of Intersection

◆ IntersectionIterator

template<class GridPartTraits >
typedef IntersectionIteratorType Dune::Fem::GridPartInterface< GridPartTraits >::IntersectionIterator
inherited

◆ IntersectionIteratorType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef Traits::IntersectionIteratorType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::IntersectionIteratorType

intersection iterator type

◆ IntersectionType

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef IntersectionIteratorType::Intersection Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::IntersectionType

intersection type

◆ Traits

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
typedef FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::Traits

traits class

◆ TwistUtilityType

template<class GridPartTraits >
typedef Traits::TwistUtilityType Dune::Fem::GridPartInterface< GridPartTraits >::TwistUtilityType
inherited

Twist utility type.

Constructor & Destructor Documentation

◆ FilteredGridPart() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::FilteredGridPart ( HostGridPartType hostGridPart,
const FilterType filter 
)
inline

constructor

◆ FilteredGridPart() [2/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::FilteredGridPart ( const FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > &  other)
inline

copy constructor

Member Function Documentation

◆ begin() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<int codim>
Codim< codim >::IteratorType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::begin ( ) const
inline

Begin iterator on the leaf level.

◆ begin() [2/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::begin ( ) const
inline

Begin iterator on the leaf level.

◆ boundaryId() [1/2]

template<class GridPartTraits >
int Dune::Fem::GridPartInterface< GridPartTraits >::boundaryId ( const IntersectionType intersection) const
inlineinherited

return boundary if given an intersection

◆ boundaryId() [2/2]

int Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::boundaryId ( const IntersectionType intersection) const
inlineinherited

obtain entity pointer from entity seed

◆ comm()

const CommunicationType & Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::comm ( ) const
inlineinherited

obtain collective communication object

◆ communicate()

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<class DataHandleImp , class DataType >
void Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::communicate ( CommDataHandleIF< DataHandleImp, DataType > &  dataHandle,
InterfaceType  iftype,
CommunicationDirection  dir 
) const
inline

corresponding communication method for this grid part

◆ contains() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<class Entity >
bool Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::contains ( const Entity entity) const
inline

◆ contains() [2/2]

bool Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::contains ( const EntityType &  e) const
inlineinherited

◆ convert()

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<class Entity >
const Entity & Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::convert ( const Entity entity) const
inline

convert the grid's entity to a grid part entity Usually the parameter is GridType :: Codim< codim > :: Entity and the return is Codim< codim > :: EntityType. In general these types are the same, but for overloaded entities on grid parts this can differ.

◆ end() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<int codim>
Codim< codim >::IteratorType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::end ( ) const
inline

Begin iterator on the leaf level.

◆ end() [2/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::end ( ) const
inline

End iterator on the leaf level.

◆ entity()

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
template<class EntitySeed >
Codim< EntitySeed::codimension >::EntityType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::entity ( const EntitySeed seed) const
inline

obtain entity pointer from entity seed

◆ filter() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
FilterType & Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::filter ( )
inline

return reference to filter

◆ filter() [2/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
const FilterType & Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::filter ( ) const
inline

return reference to filter

◆ ghostSize()

template<class GridPartTraits >
int Dune::Fem::GridPartInterface< GridPartTraits >::ghostSize ( int  codim) const
inlineinherited

◆ grid() [1/2]

GridType & Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::grid ( )
inlineinherited

Returns reference to the underlying grid.

◆ grid() [2/2]

const GridType & Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::grid ( ) const
inlineinherited

Returns const reference to the underlying grid.

◆ gridView()

template<class GridPartTraits >
const auto & Dune::Fem::GridPartInterface< GridPartTraits >::gridView ( ) const
inlineinherited

◆ hostGridPart() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
HostGridPartType & Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::hostGridPart ( )
inline

◆ hostGridPart() [2/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
const HostGridPartType & Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::hostGridPart ( ) const
inline

◆ ibegin() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
IntersectionIteratorType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::ibegin ( const EntityType &  entity) const
inline

ibegin of corresponding intersection iterator for given entity

◆ ibegin() [2/2]

template<class GridPartTraits >
IntersectionIteratorType Dune::Fem::GridPartInterface< GridPartTraits >::ibegin ( const typename Codim< 0 >::EntityType &  entity) const
inlineinherited

ibegin of corresponding intersection iterator for given entity

◆ iend() [1/2]

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
IntersectionIteratorType Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::iend ( const EntityType &  entity) const
inline

iend of corresponding intersection iterator for given entity

◆ iend() [2/2]

template<class GridPartTraits >
IntersectionIteratorType Dune::Fem::GridPartInterface< GridPartTraits >::iend ( const typename Codim< 0 >::EntityType &  entity) const
inlineinherited

iend of corresponding intersection iterator for given entity

◆ indexSet()

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
const IndexSetType & Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::indexSet ( ) const
inline

return index set of this grid part

◆ isConforming()

bool Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::isConforming ( ) const
inlineinherited

returns true if current grid part represents a conforming grid

◆ level()

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
int Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::level ( ) const
inline

Returns maxlevel of the grid.

◆ operator=()

template<class HostGridPartImp , class FilterImp , bool useFilteredIndexSet>
FilteredGridPart & Dune::Fem::FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >::operator= ( const FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > &  other)
inline

◆ overlapSize()

template<class GridPartTraits >
int Dune::Fem::GridPartInterface< GridPartTraits >::overlapSize ( int  codim) const
inlineinherited

◆ sequence()

template<class GridPartTraits >
int Dune::Fem::GridPartInterface< GridPartTraits >::sequence ( ) const
inlineinherited

return sequence number to update structures depending on the grid part

Note
The default returns DofManager< Grid > :: sequence ()

◆ size() [1/2]

int Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::size ( const GeometryType type) const
inlineinherited

obtain number of entities with a given geometry type

◆ size() [2/2]

int Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::size ( int  codim) const
inlineinherited

obtain number of entities in a given codimension

Member Data Documentation

◆ conforming

template<class GridPartTraits >
constexpr bool Dune::Fem::GridPartInterface< GridPartTraits >::conforming = Traits::conforming
staticconstexprinherited

◆ dimension

template<class GridPartTraits >
constexpr int Dune::Fem::GridPartInterface< GridPartTraits >::dimension = GridType::dimension
staticconstexprinherited

◆ dimensionworld

template<class GridPartTraits >
constexpr int Dune::Fem::GridPartInterface< GridPartTraits >::dimensionworld = GridType::dimensionworld
staticconstexprinherited

◆ dofManager_

DofManagerType* Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::dofManager_
protectedinherited

◆ grid_

GridType* Dune::Fem::GridPartDefault< FilteredGridPartTraits< HostGridPartImp, FilterImp, useFilteredIndexSet > >::grid_
protectedinherited

◆ indexSetInterfaceType

template<class GridPartTraits >
const InterfaceType Dune::Fem::GridPartInterface< GridPartTraits >::indexSetInterfaceType = Traits::indexSetInterfaceType
staticinherited

◆ indexSetPartitionType

template<class GridPartTraits >
const PartitionIteratorType Dune::Fem::GridPartInterface< GridPartTraits >::indexSetPartitionType = Traits::indexSetPartitionType
staticinherited

Maximum Partition type, the index set provides indices for.


The documentation for this class was generated from the following file: