dune-fem  2.8-git
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. More...
 
typedef Traits ::GridPartType GridPartType
 Grid implementation type. More...
 
typedef Traits ::GridType GridType
 Grid implementation type. More...
 
typedef Traits ::IndexSetType IndexSetType
 The leaf index set of the grid implementation. More...
 
typedef Traits::IntersectionIteratorType IntersectionIteratorType
 type of intersection iterator More...
 
typedef IntersectionIteratorType::Intersection IntersectionType
 type of intersection More...
 
typedef std::integral_constant< bool, false > NoIndexSetType
 
typedef GridPart2GridViewImpl< GridPartType > GridViewType
 
typedef Traits::CollectiveCommunicationType CollectiveCommunicationType
 Collective communication. More...
 
typedef DofManager< GridType > DofManagerType
 type of DofManager More...
 
typedef BoundaryIdProvider< GridType > BoundaryIdProviderType
 type of boundary id provider specialized for each grid type More...
 
typedef Traits::TwistUtilityType TwistUtilityType
 Twist utility type. More...
 
typedef GridType::ctype ctype
 

Public Member Functions

 AdaptiveGridPartBase (GridType &grid)
 constructor More...
 
 AdaptiveGridPartBase (const ThisType &other)
 Copy Constructor. More...
 
const IndexSetType & indexSet () const
 Returns reference to index set of the underlying grid. More...
 
template<int codim>
Codim< codim >::IteratorType begin () const
 Begin iterator on the leaf level. More...
 
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType begin () const
 Begin iterator on the leaf level. More...
 
template<int codim>
Codim< codim >::IteratorType end () const
 Begin iterator on the leaf level. More...
 
template<int codim, PartitionIteratorType pitype>
Codim< codim >::template Partition< pitype >::IteratorType end () const
 End iterator on the leaf level. More...
 
IntersectionIteratorType ibegin (const ElementType &entity) const
 ibegin of corresponding intersection iterator for given entity More...
 
IntersectionIteratorType iend (const ElementType &entity) const
 iend of corresponding intersection iterator for given entity More...
 
int level () const
 Returns maxlevel of the grid. More...
 
const GridType & grid () const
 Returns const reference to the underlying grid. More...
 
GridType & grid ()
 Returns reference to the underlying grid. More...
 
const CollectiveCommunicationType & comm () const
 obtain collective communication object More...
 
Traits::template Codim< EntitySeed::codimension >::EntityType entity (const EntitySeed &seed) const
 
const Entity & convert (const Entity &entity) const
 
int sequence () const
 
int boundaryId (const IntersectionType &intersection) const
 
IntersectionIteratorType ibegin (const typename Codim< 0 >::EntityType &entity) const
 ibegin of corresponding intersection iterator for given entity More...
 
IntersectionIteratorType iend (const typename Codim< 0 >::EntityType &entity) const
 iend of corresponding intersection iterator for given entity More...
 
template<class DataHandleImp , class DataType >
void communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
 corresponding communication method for grid part More...
 

Static Public Attributes

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

Protected Types

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

Protected Member Functions

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

Protected Attributes

LeafGridView leafGridView_
 
std::unique_ptr< IndexSetType, typename IndexSetProviderType::Deleter > indexSet_
 
GridType & grid_
 
DofManagerType & dofManager_
 

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

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

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: