dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
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 Traits::IndexSetType IndexSetType
 Index set implementation.
 
typedef Traits::CollectiveCommunicationType CollectiveCommunicationType
 Collective communication.
 
typedef Traits::TwistUtilityType TwistUtilityType
 Twist utility type.
 
typedef Traits::IntersectionIteratorType IntersectionIteratorType
 type of IntersectionIterator
 
typedef IntersectionIteratorType::Intersection IntersectionType
 type of Intersection
 
typedef PoliciesType::GridViewType 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.
 
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 CollectiveCommunicationTypecomm () 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 Entity & convert (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.
 
int sequence () const
 return sequence number to update structures depending on the grid part
 

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 const int dimension = GridType::dimension
 
static const int dimensionworld = GridType::dimensionworld
 

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

◆ CollectiveCommunicationType

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

Collective communication.

◆ ctype

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

◆ 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 PoliciesType::GridViewType Dune::Fem::GridPartInterface< GridPartTraits >::GridViewType

◆ IndexSetType

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

Index set implementation.

◆ IntersectionIteratorType

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

type of IntersectionIterator

◆ 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 CollectiveCommunicationType & 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

◆ 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

◆ 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.

◆ 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.

◆ level()

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

Level of the grid part.

◆ 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 ()

Member Data Documentation

◆ dimension

template<class GridPartTraits >
const int Dune::Fem::GridPartInterface< GridPartTraits >::dimension = GridType::dimension
static

◆ dimensionworld

template<class GridPartTraits >
const int Dune::Fem::GridPartInterface< GridPartTraits >::dimensionworld = GridType::dimensionworld
static

◆ 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: