dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::GridPartInterface< GridPartTraits > Class Template Reference

Interface for the GridPart classes A GridPart class allows to access only a specific subset of a grid's entities. A GridPart implementation provides the corresponding index set and a begin/end iterator pair for accessing those entities, the corresponding intersection iterators and a appropriate communication method. GridParts are used to parametrize spaces (see DiscreteFunctionSpaceDefault [in dune-fem]). More...

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

Inheritance diagram for Dune::Fem::GridPartInterface< GridPartTraits >:
Inheritance graph

Classes

struct  Codim
 

Public Types

typedef GridPartTraits Traits
 Type of the Traits.
 
typedef Traits::GridPartType GridPartType
 Type of the implementation.
 
typedef Traits::GridType GridType
 type of Grid implementation
 
typedef GridType Grid
 type of Grid implementation
 
typedef Traits::IndexSetType IndexSetType
 Index set implementation.
 
typedef IndexSetType IndexSet
 Index set implementation.
 
typedef Traits::CommunicationType CommunicationType
 Collective communication.
 
typedef CommunicationType Communication
 Collective communication.
 
typedef Traits::TwistUtilityType TwistUtilityType
 Twist utility type.
 
typedef Traits::IntersectionIteratorType IntersectionIteratorType
 type of IntersectionIterator
 
typedef IntersectionIteratorType IntersectionIterator
 type of IntersectionIterator
 
typedef IntersectionIteratorType::Intersection IntersectionType
 type of Intersection
 
typedef IntersectionType Intersection
 type of Intersection
 
typedef GridPartType GridViewType
 
typedef GridType::ctype ctype
 

Public Member Functions

const GridTypegrid () const
 Returns const reference to the underlying grid.
 
GridTypegrid ()
 Returns reference to the underlying grid.
 
const IndexSetTypeindexSet () const
 Returns reference to index set of 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
 
template<int codim>
Codim< codim >::IteratorType begin () const
 obtain begin iterator for the interior-border partition
 
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType begin () const
 obtain begin iterator for the given partition
 
template<int codim>
Codim< codim >::IteratorType end () const
 obtain end iterator for the interior-border partition
 
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType end () const
 obtain end iterator for the given partition
 
int level () const
 Level of the grid part.
 
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 boundaryId (const IntersectionType &intersection) const
 return boundary if given an intersection
 
const CommunicationTypecomm () const
 obtain collective communication object
 
template<class DataHandleImp , class DataType >
void communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
 corresponding communication method for grid part
 
template<class EntitySeed >
Codim< EntitySeed::codimension >::EntityType entity (const EntitySeed &seed) const
 obtain entity pointer from entity seed
 
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.
 
template<class EntityType >
bool contains (const EntityType &e) const
 Return true if the given entity is contained in this grid view.
 
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 Member Functions

 GridPartInterface ()=default
 do not create explicit instances of this class
 

Detailed Description

template<class GridPartTraits>
class Dune::Fem::GridPartInterface< GridPartTraits >

Interface for the GridPart classes A GridPart class allows to access only a specific subset of a grid's entities. A GridPart implementation provides the corresponding index set and a begin/end iterator pair for accessing those entities, the corresponding intersection iterators and a appropriate communication method. GridParts are used to parametrize spaces (see DiscreteFunctionSpaceDefault [in dune-fem]).

Member Typedef Documentation

◆ Communication

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

Collective communication.

◆ CommunicationType

template<class GridPartTraits >
typedef Traits::CommunicationType Dune::Fem::GridPartInterface< GridPartTraits >::CommunicationType

Collective communication.

◆ ctype

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

◆ Grid

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

type of Grid implementation

◆ GridPartType

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

Type of the implementation.

◆ GridType

template<class GridPartTraits >
typedef Traits::GridType Dune::Fem::GridPartInterface< GridPartTraits >::GridType

type of Grid implementation

◆ GridViewType

template<class GridPartTraits >
typedef GridPartType Dune::Fem::GridPartInterface< GridPartTraits >::GridViewType

◆ IndexSet

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

Index set implementation.

◆ IndexSetType

template<class GridPartTraits >
typedef Traits::IndexSetType Dune::Fem::GridPartInterface< GridPartTraits >::IndexSetType

Index set implementation.

◆ Intersection

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

type of Intersection

◆ IntersectionIterator

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

◆ IntersectionIteratorType

template<class GridPartTraits >
typedef Traits::IntersectionIteratorType Dune::Fem::GridPartInterface< GridPartTraits >::IntersectionIteratorType

◆ IntersectionType

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

type of Intersection

◆ Traits

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

Type of the Traits.

◆ TwistUtilityType

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

Twist utility type.

Constructor & Destructor Documentation

◆ GridPartInterface()

template<class GridPartTraits >
Dune::Fem::GridPartInterface< GridPartTraits >::GridPartInterface ( )
protecteddefault

do not create explicit instances of this class

Member Function Documentation

◆ begin() [1/2]

template<class GridPartTraits >
template<int codim>
Codim< codim >::IteratorType Dune::Fem::GridPartInterface< GridPartTraits >::begin ( ) const
inline

obtain begin iterator for the interior-border partition

Template Parameters
codimcodimension for which the iterator is requested

◆ begin() [2/2]

template<class GridPartTraits >
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType Dune::Fem::GridPartInterface< GridPartTraits >::begin ( ) const
inline

obtain begin iterator for the given partition

Template Parameters
codimcodimension for which the iterator is requested
pityperequested partition iterator type

◆ boundaryId()

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

return boundary if given an intersection

◆ comm()

template<class GridPartTraits >
const CommunicationType & Dune::Fem::GridPartInterface< GridPartTraits >::comm ( ) const
inline

obtain collective communication object

◆ communicate()

template<class GridPartTraits >
template<class DataHandleImp , class DataType >
void Dune::Fem::GridPartInterface< GridPartTraits >::communicate ( CommDataHandleIF< DataHandleImp, DataType > &  data,
InterfaceType  iftype,
CommunicationDirection  dir 
) const
inline

corresponding communication method for grid part

◆ contains()

template<class GridPartTraits >
template<class EntityType >
bool Dune::Fem::GridPartInterface< GridPartTraits >::contains ( const EntityType &  e) const
inline

Return true if the given entity is contained in this grid view.

Todo:
Currently we call the implementation on the IndexSet. This may lead to suboptimal efficiency.
Note
If the input element e is not an element of the grid, then the result of contains() is undefined.

◆ convert()

template<class GridPartTraits >
template<class Entity >
const Entity & Dune::Fem::GridPartInterface< GridPartTraits >::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 GridPartTraits >
template<int codim>
Codim< codim >::IteratorType Dune::Fem::GridPartInterface< GridPartTraits >::end ( ) const
inline

obtain end iterator for the interior-border partition

Template Parameters
codimcodimension for which the iterator is requested

◆ end() [2/2]

template<class GridPartTraits >
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType Dune::Fem::GridPartInterface< GridPartTraits >::end ( ) const
inline

obtain end iterator for the given partition

Template Parameters
codimcodimension for which the iterator is requested
pityperequested partition iterator type

◆ entity()

template<class GridPartTraits >
template<class EntitySeed >
Codim< EntitySeed::codimension >::EntityType Dune::Fem::GridPartInterface< GridPartTraits >::entity ( const EntitySeed seed) const
inline

obtain entity pointer from entity seed

◆ ghostSize()

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

◆ grid() [1/2]

template<class GridPartTraits >
GridType & Dune::Fem::GridPartInterface< GridPartTraits >::grid ( )
inline

Returns reference to the underlying grid.

◆ grid() [2/2]

template<class GridPartTraits >
const GridType & Dune::Fem::GridPartInterface< GridPartTraits >::grid ( ) const
inline

Returns const reference to the underlying grid.

◆ gridView()

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

◆ ibegin()

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

ibegin of corresponding intersection iterator for given entity

◆ iend()

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

iend of corresponding intersection iterator for given entity

◆ indexSet()

template<class GridPartTraits >
const IndexSetType & Dune::Fem::GridPartInterface< GridPartTraits >::indexSet ( ) const
inline

Returns reference to index set of the underlying grid.

◆ isConforming()

template<class GridPartTraits >
bool Dune::Fem::GridPartInterface< GridPartTraits >::isConforming ( ) const
inline

returns true if current grid part represents a conforming grid

◆ level()

template<class GridPartTraits >
int Dune::Fem::GridPartInterface< GridPartTraits >::level ( ) const
inline

Level of the grid part.

◆ overlapSize()

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

◆ sequence()

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

return sequence number to update structures depending on the grid part

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

◆ size() [1/2]

template<class GridPartTraits >
int Dune::Fem::GridPartInterface< GridPartTraits >::size ( const GeometryType type) const
inline

obtain number of entities with a given geometry type

◆ size() [2/2]

template<class GridPartTraits >
int Dune::Fem::GridPartInterface< GridPartTraits >::size ( int  codim) const
inline

obtain number of entities in a given codimension

Member Data Documentation

◆ conforming

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

◆ dimension

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

◆ dimensionworld

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

◆ indexSetInterfaceType

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

◆ indexSetPartitionType

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

Maximum Partition type, the index set provides indices for.


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