dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy > Class Template Reference

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

Inheritance diagram for Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >:
Inheritance graph

Classes

struct  Codim
 

Public Types

typedef BaseType::GridType GridType
 type of Grid implementation
 
typedef BaseType::GridViewType GridViewType
 
typedef BaseType::IntersectionIteratorType IntersectionIteratorType
 type of IntersectionIterator
 
typedef BaseType::IndexSetType IndexSetType
 Index set implementation.
 
typedef BaseType::CommunicationType CommunicationType
 Collective communication.
 
typedef GridView2GridPartTraits< GridView, Implementation, storeCopy > Traits
 Type of the Traits.
 
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 IntersectionIteratorType::Intersection IntersectionType
 type of Intersection
 
typedef IntersectionType Intersection
 type of Intersection
 
typedef GridType::ctype ctype
 

Public Member Functions

const GridTypegrid () const
 Returns const reference to the underlying grid.
 
GridTypegrid ()
 Returns reference to the underlying grid.
 
int boundaryId (const IntersectionType &intersection) const
 return boundary if given an intersection
 
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
 
int level () const
 Level of the grid part.
 
void communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
 corresponding communication method for grid part
 
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
 
Construction
 GridView2GridPart (const GridView &gridView)
 
 GridView2GridPart (GridView &&gridView)
 
GridView2GridPartoperator= (const GridView2GridPart &other)=default
 
 GridView2GridPart (const ThisType &rhs)
 
Public member methods
const GridTypegrid () const
 Returns const reference to the underlying grid.
 
GridTypegrid ()
 
bool isConforming () const
 Dune::Fem::GridPartInterface::isConforming *‍/.
 
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 interior-border 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 interior-border partition
 
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
 
const CommunicationTypecomm () const
 obtain collective communication object
 
template<class DataHandle , class DataType >
void communicate (CommDataHandleIF< DataHandle, DataType > &dataHandle, InterfaceType interface, CommunicationDirection direction) const
 corresponding communication method for grid part
 
int sequence () const
 return sequence number to update structures depending on the 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
 return sequence number to update structures depending on the grid part
 
 operator const GridView & () const
 cast to underlying grid view
 
const GridViewgridView () const
 return reference to internal grid view
 

Static Public Attributes

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

Protected Member Functions

template<int codim>
const Codim< codim >::EntityType & convert (const typename Codim< codim >::EntityType &entity) const
 

Protected Attributes

std::conditional_t< storeCopy, GridView, const GridView * > gridView_
 
const IndexSetTypeindexSet_
 

Member Typedef Documentation

◆ Communication

typedef CommunicationType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::Communication
inherited

Collective communication.

◆ CommunicationType

template<class GridView , class Implementation , bool storeCopy>
typedef BaseType::CommunicationType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::CommunicationType

Collective communication.

◆ ctype

typedef GridType::ctype Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::ctype
inherited

◆ Grid

typedef GridType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::Grid
inherited

type of Grid implementation

◆ GridPartType

typedef Traits::GridPartType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::GridPartType
inherited

Type of the implementation.

◆ GridType

template<class GridView , class Implementation , bool storeCopy>
typedef BaseType::GridType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::GridType

type of Grid implementation

◆ GridViewType

template<class GridView , class Implementation , bool storeCopy>
typedef BaseType::GridViewType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::GridViewType

◆ IndexSet

typedef IndexSetType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::IndexSet
inherited

Index set implementation.

◆ IndexSetType

template<class GridView , class Implementation , bool storeCopy>
typedef BaseType::IndexSetType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::IndexSetType

Index set implementation.

◆ Intersection

typedef IntersectionType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::Intersection
inherited

type of Intersection

◆ IntersectionIterator

typedef IntersectionIteratorType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::IntersectionIterator
inherited

◆ IntersectionIteratorType

template<class GridView , class Implementation , bool storeCopy>
typedef BaseType::IntersectionIteratorType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::IntersectionIteratorType

◆ IntersectionType

typedef IntersectionIteratorType::Intersection Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::IntersectionType
inherited

type of Intersection

◆ Traits

typedef GridView2GridPartTraits< GridView, Implementation, storeCopy > Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::Traits
inherited

Type of the Traits.

◆ TwistUtilityType

typedef Traits::TwistUtilityType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::TwistUtilityType
inherited

Twist utility type.

Constructor & Destructor Documentation

◆ GridView2GridPart() [1/3]

template<class GridView , class Implementation , bool storeCopy>
Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::GridView2GridPart ( const GridView gridView)
inlineexplicit

◆ GridView2GridPart() [2/3]

template<class GridView , class Implementation , bool storeCopy>
Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::GridView2GridPart ( GridView &&  gridView)
inlineexplicit

◆ GridView2GridPart() [3/3]

template<class GridView , class Implementation , bool storeCopy>
Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::GridView2GridPart ( const ThisType rhs)
inline

Member Function Documentation

◆ begin() [1/2]

template<class GridView , class Implementation , bool storeCopy>
template<int codim>
Codim< codim >::IteratorType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::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 GridView , class Implementation , bool storeCopy>
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::begin ( ) const
inline

obtain begin iterator for the interior-border partition

Template Parameters
codimcodimension for which the iterator is requested

◆ boundaryId()

template<class GridView , class Implementation , bool storeCopy>
int Dune::Fem::GridPartInterface< GridPartTraits >::boundaryId ( const IntersectionType intersection) const
inline

return boundary if given an intersection

◆ comm()

template<class GridView , class Implementation , bool storeCopy>
const CommunicationType & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::comm ( ) const
inline

obtain collective communication object

◆ communicate() [1/2]

template<class GridView , class Implementation , bool storeCopy>
template<class DataHandle , class DataType >
void Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::communicate ( CommDataHandleIF< DataHandle, DataType > &  dataHandle,
InterfaceType  interface,
CommunicationDirection  direction 
) const
inline

corresponding communication method for grid part

◆ communicate() [2/2]

void Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::communicate ( CommDataHandleIF< DataHandleImp, DataType > &  data,
InterfaceType  iftype,
CommunicationDirection  dir 
) const
inlineinherited

corresponding communication method for grid part

◆ contains()

bool Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::contains ( const EntityType &  e) const
inlineinherited

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() [1/2]

template<class GridView , class Implementation , bool storeCopy>
template<class Entity >
const Entity & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::convert ( const Entity entity) const
inline

return sequence number to update structures depending on the grid part

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

◆ convert() [2/2]

template<class GridView , class Implementation , bool storeCopy>
template<int codim>
const Codim< codim >::EntityType & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::convert ( const typename Codim< codim >::EntityType &  entity) const
inlineprotected

◆ end() [1/2]

template<class GridView , class Implementation , bool storeCopy>
template<int codim>
Codim< codim >::IteratorType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::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 GridView , class Implementation , bool storeCopy>
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::end ( ) const
inline

obtain end iterator for the interior-border partition

Template Parameters
codimcodimension for which the iterator is requested

◆ entity()

template<class GridView , class Implementation , bool storeCopy>
template<class EntitySeed >
Codim< EntitySeed::codimension >::EntityType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::entity ( const EntitySeed seed) const
inline

obtain entity pointer from entity seed

◆ ghostSize()

int Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::ghostSize ( int  codim) const
inlineinherited

◆ grid() [1/4]

template<class GridView , class Implementation , bool storeCopy>
GridType & Dune::Fem::GridPartInterface< GridPartTraits >::grid ( )
inline

Returns reference to the underlying grid.

◆ grid() [2/4]

template<class GridView , class Implementation , bool storeCopy>
GridType & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::grid ( )
inline

◆ grid() [3/4]

template<class GridView , class Implementation , bool storeCopy>
const GridType & Dune::Fem::GridPartInterface< GridPartTraits >::grid ( ) const
inline

Returns const reference to the underlying grid.

◆ grid() [4/4]

template<class GridView , class Implementation , bool storeCopy>
const GridType & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::grid ( ) const
inline

Returns const reference to the underlying grid.

◆ gridView()

template<class GridView , class Implementation , bool storeCopy>
const GridView & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::gridView ( ) const
inline

return reference to internal grid view

◆ ibegin()

template<class GridView , class Implementation , bool storeCopy>
IntersectionIteratorType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::ibegin ( const typename Codim< 0 >::EntityType &  entity) const
inline

ibegin of corresponding intersection iterator for given entity

◆ iend()

template<class GridView , class Implementation , bool storeCopy>
IntersectionIteratorType Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::iend ( const typename Codim< 0 >::EntityType &  entity) const
inline

iend of corresponding intersection iterator for given entity

◆ indexSet()

template<class GridView , class Implementation , bool storeCopy>
const IndexSetType & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::indexSet ( ) const
inline

Returns reference to index set of the underlying grid.

◆ isConforming()

template<class GridView , class Implementation , bool storeCopy>
bool Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::isConforming ( ) const
inline

◆ level()

int Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::level ( ) const
inlineinherited

Level of the grid part.

◆ operator const GridView &()

template<class GridView , class Implementation , bool storeCopy>
Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::operator const GridView & ( ) const
inline

cast to underlying grid view

◆ operator=()

template<class GridView , class Implementation , bool storeCopy>
GridView2GridPart & Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::operator= ( const GridView2GridPart< GridView, Implementation, storeCopy > &  other)
default

◆ overlapSize()

int Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::overlapSize ( int  codim) const
inlineinherited

◆ sequence()

template<class GridView , class Implementation , bool storeCopy>
int Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::sequence ( ) const
inline

return sequence number to update structures depending on the grid part

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

◆ size() [1/2]

int Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::size ( const GeometryType type) const
inlineinherited

obtain number of entities with a given geometry type

◆ size() [2/2]

int Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::size ( int  codim) const
inlineinherited

obtain number of entities in a given codimension

Member Data Documentation

◆ conforming

constexpr bool Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::conforming
staticconstexprinherited

◆ dimension

constexpr int Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::dimension
staticconstexprinherited

◆ dimensionworld

constexpr int Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::dimensionworld
staticconstexprinherited

◆ gridView_

template<class GridView , class Implementation , bool storeCopy>
std::conditional_t<storeCopy, GridView, const GridView* > Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::gridView_
protected

◆ indexSet_

template<class GridView , class Implementation , bool storeCopy>
const IndexSetType* Dune::Fem::GridView2GridPart< GridView, Implementation, storeCopy >::indexSet_
protected

◆ indexSetInterfaceType

const InterfaceType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::indexSetInterfaceType
staticinherited

◆ indexSetPartitionType

const PartitionIteratorType Dune::Fem::GridPartInterface< GridView2GridPartTraits< GridView, Implementation, storeCopy > >::indexSetPartitionType
staticinherited

Maximum Partition type, the index set provides indices for.


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