dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::AdaptiveGridPartBase< TraitsImp > Class Template Reference

A grid part with an index set specially designed for adaptive calculations. More...

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

Inheritance diagram for Dune::Fem::AdaptiveGridPartBase< TraitsImp >:
Inheritance graph

Classes

struct  Codim
 Struct providing types of the leaf iterators on codimension codim. More...
 

Public Types

typedef TraitsImp Traits
 Type definitions.
 
typedef Traits::GridPartType GridPartType
 Grid implementation type.
 
typedef Traits::GridType GridType
 Grid implementation type.
 
typedef Traits::IndexSetType IndexSetType
 The leaf index set of the grid implementation.
 
typedef Traits::IntersectionIteratorType IntersectionIteratorType
 type of intersection iterator
 
typedef IntersectionIteratorType::Intersection IntersectionType
 type of intersection
 
typedef std::integral_constant< bool, false > NoIndexSetType
 
typedef GridPart2GridViewImpl< GridPartTypeGridViewType
 
typedef Traits::CollectiveCommunicationType CollectiveCommunicationType
 Collective communication.
 
typedef DofManager< GridTypeDofManagerType
 type of DofManager
 
typedef BoundaryIdProvider< GridTypeBoundaryIdProviderType
 type of boundary id provider specialized for each grid type
 
typedef Traits::TwistUtilityType TwistUtilityType
 Twist utility type.
 
typedef GridType::ctype ctype
 

Public Member Functions

 AdaptiveGridPartBase (GridType &grid)
 constructor
 
 AdaptiveGridPartBase (const ThisType &other)
 Copy Constructor.
 
const IndexSetTypeindexSet () const
 Returns reference to index set of the underlying grid.
 
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.
 
IntersectionIteratorType ibegin (const ElementType &entity) const
 ibegin of corresponding intersection iterator for given entity
 
IntersectionIteratorType iend (const ElementType &entity) const
 iend of corresponding intersection iterator for given entity
 
int level () const
 Returns maxlevel of the grid.
 
template<class DataHandle , class Data >
decltype(auto) communicate (CommDataHandleIF< DataHandle, Data > &data, InterfaceType iftype, CommunicationDirection dir) const
 corresponding communication method for this grid part
 
const GridTypegrid () const
 Returns const reference to the underlying grid.
 
GridTypegrid ()
 Returns reference to the underlying grid.
 
const CollectiveCommunicationTypecomm () const
 obtain collective communication object
 
Traits::template Codim< EntitySeed::codimension >::EntityType entity (const EntitySeed &seed) const
 obtain entity pointer from entity seed
 
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
 
int boundaryId (const IntersectionType &intersection) const
 obtain entity pointer from entity seed
 
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
 
template<class DataHandleImp , class DataType >
void communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
 corresponding communication method for 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 Types

typedef SingletonList< const GridType *, IndexSetTypeIndexSetProviderType
 
typedef Codim< 0 >::EntityType ElementType
 

Protected Member Functions

 AdaptiveGridPartBase (GridType &grid, const NoIndexSetType &noIndexSet)
 Constructor constructing object held by index set (for iterator access)
 
const GridPartTypeasImp () const
 
GridPartTypeasImp ()
 

Protected Attributes

LeafGridView leafGridView_
 
std::unique_ptr< IndexSetType, typename IndexSetProviderType::DeleterindexSet_
 
GridTypegrid_
 
DofManagerTypedofManager_
 

Detailed Description

template<class TraitsImp>
class Dune::Fem::AdaptiveGridPartBase< TraitsImp >

A grid part with an index set specially designed for adaptive calculations.

The underlying index set is defined for entities of all codimensions.

Member Typedef Documentation

◆ BoundaryIdProviderType

typedef BoundaryIdProvider< GridType > Dune::Fem::GridPartDefault< TraitsImp >::BoundaryIdProviderType
inherited

type of boundary id provider specialized for each grid type

◆ CollectiveCommunicationType

typedef Traits::CollectiveCommunicationType Dune::Fem::GridPartDefault< TraitsImp >::CollectiveCommunicationType
inherited

Collective communication.

◆ ctype

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

◆ DofManagerType

typedef DofManager< GridType > Dune::Fem::GridPartDefault< TraitsImp >::DofManagerType
inherited

type of DofManager

◆ ElementType

template<class TraitsImp >
typedef Codim<0>::EntityType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::ElementType
protected

◆ GridPartType

template<class TraitsImp >
typedef Traits::GridPartType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::GridPartType

Grid implementation type.

◆ GridType

template<class TraitsImp >
typedef Traits::GridType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::GridType

Grid implementation type.

◆ GridViewType

template<class TraitsImp >
typedef GridPart2GridViewImpl< GridPartType > Dune::Fem::AdaptiveGridPartBase< TraitsImp >::GridViewType

◆ IndexSetProviderType

template<class TraitsImp >
typedef SingletonList< const GridType*, IndexSetType > Dune::Fem::AdaptiveGridPartBase< TraitsImp >::IndexSetProviderType
protected

◆ IndexSetType

template<class TraitsImp >
typedef Traits::IndexSetType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::IndexSetType

The leaf index set of the grid implementation.

◆ IntersectionIteratorType

template<class TraitsImp >
typedef Traits::IntersectionIteratorType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::IntersectionIteratorType

type of intersection iterator

◆ IntersectionType

template<class TraitsImp >
typedef IntersectionIteratorType::Intersection Dune::Fem::AdaptiveGridPartBase< TraitsImp >::IntersectionType

type of intersection

◆ NoIndexSetType

template<class TraitsImp >
typedef std::integral_constant< bool, false > Dune::Fem::AdaptiveGridPartBase< TraitsImp >::NoIndexSetType

◆ Traits

template<class TraitsImp >
typedef TraitsImp Dune::Fem::AdaptiveGridPartBase< TraitsImp >::Traits

Type definitions.

◆ TwistUtilityType

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

Twist utility type.

Constructor & Destructor Documentation

◆ AdaptiveGridPartBase() [1/3]

template<class TraitsImp >
Dune::Fem::AdaptiveGridPartBase< TraitsImp >::AdaptiveGridPartBase ( GridType grid)
inlineexplicit

constructor

◆ AdaptiveGridPartBase() [2/3]

template<class TraitsImp >
Dune::Fem::AdaptiveGridPartBase< TraitsImp >::AdaptiveGridPartBase ( const ThisType other)
inline

Copy Constructor.

◆ AdaptiveGridPartBase() [3/3]

template<class TraitsImp >
Dune::Fem::AdaptiveGridPartBase< TraitsImp >::AdaptiveGridPartBase ( GridType grid,
const NoIndexSetType noIndexSet 
)
inlineprotected

Constructor constructing object held by index set (for iterator access)

Member Function Documentation

◆ asImp() [1/2]

template<class TraitsImp >
GridPartType & Dune::Fem::AdaptiveGridPartBase< TraitsImp >::asImp ( )
inlineprotected

◆ asImp() [2/2]

template<class TraitsImp >
const GridPartType & Dune::Fem::AdaptiveGridPartBase< TraitsImp >::asImp ( ) const
inlineprotected

◆ begin() [1/2]

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

Begin iterator on the leaf level.

◆ begin() [2/2]

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

Begin iterator on the leaf level.

◆ boundaryId()

int Dune::Fem::GridPartDefault< TraitsImp >::boundaryId ( const IntersectionType intersection) const
inlineinherited

obtain entity pointer from entity seed

◆ comm()

const CollectiveCommunicationType & Dune::Fem::GridPartDefault< TraitsImp >::comm ( ) const
inlineinherited

obtain collective communication object

◆ communicate() [1/2]

template<class TraitsImp >
template<class DataHandle , class Data >
decltype(auto) Dune::Fem::AdaptiveGridPartBase< TraitsImp >::communicate ( CommDataHandleIF< DataHandle, Data > &  data,
InterfaceType  iftype,
CommunicationDirection  dir 
) const
inline

corresponding communication method for this grid part

◆ communicate() [2/2]

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

corresponding communication method for grid part

◆ convert()

const Entity & Dune::Fem::GridPartDefault< TraitsImp >::convert ( const Entity &  entity) const
inlineinherited

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.

Note
The default implementation does nothing but return the same entity

◆ end() [1/2]

template<class TraitsImp >
template<int codim>
Codim< codim >::IteratorType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::end ( ) const
inline

Begin iterator on the leaf level.

◆ end() [2/2]

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

End iterator on the leaf level.

◆ entity()

Traits::template Codim< EntitySeed::codimension >::EntityType Dune::Fem::GridPartDefault< TraitsImp >::entity ( const EntitySeed &  seed) const
inlineinherited

obtain entity pointer from entity seed

Template Parameters
EntitySeedentity seed from which to create entity

The default implementation simply forwards to the corresponding method on the grid.

◆ grid() [1/2]

GridType & Dune::Fem::GridPartDefault< TraitsImp >::grid ( )
inlineinherited

Returns reference to the underlying grid.

◆ grid() [2/2]

const GridType & Dune::Fem::GridPartDefault< TraitsImp >::grid ( ) const
inlineinherited

Returns const reference to the underlying grid.

◆ ibegin() [1/2]

template<class TraitsImp >
IntersectionIteratorType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::ibegin ( const ElementType 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 TraitsImp >
IntersectionIteratorType Dune::Fem::AdaptiveGridPartBase< TraitsImp >::iend ( const ElementType 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 TraitsImp >
const IndexSetType & Dune::Fem::AdaptiveGridPartBase< TraitsImp >::indexSet ( ) const
inline

Returns reference to index set of the underlying grid.

◆ level()

template<class TraitsImp >
int Dune::Fem::AdaptiveGridPartBase< TraitsImp >::level ( ) const
inline

Returns maxlevel of the grid.

◆ sequence()

int Dune::Fem::GridPartDefault< TraitsImp >::sequence ( ) const
inlineinherited

return sequence number to update structures depending on the grid part

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

Member Data Documentation

◆ dimension

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

◆ dimensionworld

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

◆ dofManager_

DofManagerType& Dune::Fem::GridPartDefault< TraitsImp >::dofManager_
protectedinherited

◆ grid_

GridType& Dune::Fem::GridPartDefault< TraitsImp >::grid_
protectedinherited

◆ indexSet_

template<class TraitsImp >
std::unique_ptr< IndexSetType, typename IndexSetProviderType::Deleter > Dune::Fem::AdaptiveGridPartBase< TraitsImp >::indexSet_
protected

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

◆ leafGridView_

template<class TraitsImp >
LeafGridView Dune::Fem::AdaptiveGridPartBase< TraitsImp >::leafGridView_
protected

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