dune-grid  2.3.0
Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
Dune::AlbertaGridEntity< 0, dim, Grid > Class Template Reference

#include <dune/grid/albertagrid/entity.hh>

Inheritance diagram for Dune::AlbertaGridEntity< 0, dim, Grid >:
Dune::EntityDefaultImplementation< 0, dim, Grid, AlbertaGridEntity >

Classes

struct  Codim
 

Public Types

typedef Grid::template Codim
< 0 >::Entity 
Entity
 
typedef Grid::template Codim
< 0 >::EntitySeed 
EntitySeed
 
typedef Grid::template Codim
< 0 >::Geometry 
Geometry
 
typedef Grid::template Codim
< 0 >::LocalGeometry 
LocalGeometry
 
typedef Grid::Traits::template
Codim< 0 >::GeometryImpl 
GeometryImpl
 
typedef Grid::HierarchicIterator HierarchicIterator
 
typedef Grid::template Codim
< 0 >::EntityPointer 
EntityPointer
 
typedef
Dune::AlbertaGridLeafIntersectionIterator
< Grid
AlbertaGridLeafIntersectionIterator
 
typedef
AlbertaGridLeafIntersectionIterator 
AlbertaGridLevelIntersectionIterator
 
typedef Alberta::ElementInfo
< dimension
ElementInfo
 
enum  
 know your own codimension More...
 
enum  
 Dimension of the grid. More...
 
enum  
 Know dimension of the entity. More...
 
typedef Grid::ctype ctype
 define type used for coordinates in grid module More...
 

Public Member Functions

 AlbertaGridEntity (const Grid &grid)
 constructor More...
 
 AlbertaGridEntity (const Grid &grid, const ElementInfo &elementInfo, int subEntity)
 constructor More...
 
int level () const
 level of this element More...
 
int boundaryId () const
 index of the boundary which is associated with the entity, 0 for inner entities More...
 
Geometry geometry () const
 geometry of this entity More...
 
GeometryType type () const
 type of geometry of this entity More...
 
EntitySeed seed () const
 obtain entity seed More...
 
template<int codim>
int count () const
 
template<int codim>
Codim< codim >::EntityPointer subEntity (int i) const
 
AlbertaGridLeafIntersectionIterator ileafbegin () const
 
AlbertaGridLeafIntersectionIterator ileafend () const
 Reference to one past the last intersection with neighbor. More...
 
AlbertaGridLevelIntersectionIterator ilevelbegin () const
 
AlbertaGridLevelIntersectionIterator ilevelend () const
 
bool isLeaf () const
 returns true if entity is leaf entity, i.e. has no children More...
 
EntityPointer father () const
 
bool hasFather () const
 returns true if father entity exists More...
 
LocalGeometry geometryInFather () const
 Location of this element relative to the father's reference element. More...
 
HierarchicIterator hbegin (int maxlevel) const
 
HierarchicIterator hend (int maxlevel) const
 Returns iterator to one past the last son. More...
 
bool isNew () const
 Was the entity created during the last adaptation cycle? More...
 
bool mightVanish () const
 Might the entity vanish during the next adaptation cycle? More...
 
bool hasBoundaryIntersections () const
 Returns true, if entity has intersections with boundary. More...
 
PartitionType partitionType () const
 return partition type of this entity More...
 
bool equals (const This &i) const
 equality of entities More...
 
ALBERTA EL_INFO * getElInfo () const
 
const ElementInfoelementInfo () const
 
void clearElement ()
 
void setElement (const ElementInfo &elementInfo, int subEntity)
 
void setEntity (const This &other)
 
const Gridgrid () const
 obtain a reference to the grid More...
 
int subEntity () const
 obtain number of the subentity within the element (in ALBERTA numbering) More...
 
int twist () const
 obtain twist More...
 
template<int codim>
int twist (int i) const
 obtain twist of a subentity More...
 
template<int codim>
AlbertaGridEntity< 0, dim,
Grid >::template Codim< codim >
::EntityPointer 
subEntity (int i) const
 

Static Public Attributes

static const int dimension = dim
 
static const int codimension = 0
 
static const int mydimension = dimension - codimension
 
static const int dimensionworld
 know your own dimension of world More...
 

Friends

class AlbertaGrid< dim, dimworld >
 
class AlbertaGridLeafIntersection< Grid >
 
class AlbertaGridHierarchicIterator< Grid >
 
template<int , class , bool >
class AlbertaGridTreeIterator
 
class AlbertaGridEntityPointer< 0, Grid >
 

Detailed Description

template<int dim, class Grid>
class Dune::AlbertaGridEntity< 0, dim, Grid >

A grid is a container of grid entities. An entity is parametrized by the codimension. An entity of codimension c in dimension d is a d-c dimensional object.

Entities of codimension 0 ("elements") are defined through template specialization. Note that this specialization has an extended interface compared to the general case

Member Typedef Documentation

define type used for coordinates in grid module

Deprecated:
"Use Geometry::ctype instead!"
template<int dim, class Grid >
typedef Alberta::ElementInfo< dimension > Dune::AlbertaGridEntity< 0, dim, Grid >::ElementInfo
template<int dim, class Grid >
typedef Grid::template Codim< 0 >::Entity Dune::AlbertaGridEntity< 0, dim, Grid >::Entity
template<int dim, class Grid >
typedef Grid::template Codim< 0 >::EntityPointer Dune::AlbertaGridEntity< 0, dim, Grid >::EntityPointer
template<int dim, class Grid >
typedef Grid::template Codim< 0 >::EntitySeed Dune::AlbertaGridEntity< 0, dim, Grid >::EntitySeed
template<int dim, class Grid >
typedef Grid::template Codim< 0 >::Geometry Dune::AlbertaGridEntity< 0, dim, Grid >::Geometry
template<int dim, class Grid >
typedef Grid::Traits::template Codim< 0 >::GeometryImpl Dune::AlbertaGridEntity< 0, dim, Grid >::GeometryImpl
template<int dim, class Grid >
typedef Grid::HierarchicIterator Dune::AlbertaGridEntity< 0, dim, Grid >::HierarchicIterator
template<int dim, class Grid >
typedef Grid::template Codim< 0 >::LocalGeometry Dune::AlbertaGridEntity< 0, dim, Grid >::LocalGeometry

Member Enumeration Documentation

anonymous enum
inherited

know your own codimension

anonymous enum
inherited

Dimension of the grid.

anonymous enum
inherited

Know dimension of the entity.

Constructor & Destructor Documentation

template<int dim, class Grid >
Dune::AlbertaGridEntity< 0, dim, Grid >::AlbertaGridEntity ( const Grid grid)
inlineexplicit

constructor

template<int dim, class Grid >
Dune::AlbertaGridEntity< 0, dim, Grid >::AlbertaGridEntity ( const Grid grid,
const ElementInfo elementInfo,
int  subEntity 
)
inline

constructor

Member Function Documentation

template<int dim, class Grid >
int Dune::AlbertaGridEntity< 0, dim, Grid >::boundaryId ( ) const
inline

index of the boundary which is associated with the entity, 0 for inner entities

template<int dim, class Grid >
void Dune::AlbertaGridEntity< 0, dim, Grid >::clearElement ( )
inline
template<int dim, class Grid >
template<int codim>
int Dune::AlbertaGridEntity< 0, dim, Grid >::count ( ) const
inline

obtain the number of subentities of a codimension

Template Parameters
codimcodimension
Returns
the number of subentities of the given codimension
template<int dim, class Grid >
const ElementInfo& Dune::AlbertaGridEntity< 0, dim, Grid >::elementInfo ( ) const
inline

Referenced by equals().

template<int dim, class Grid >
bool Dune::AlbertaGridEntity< 0, dim, Grid >::equals ( const This i) const
inline
template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::EntityPointer Dune::AlbertaGridEntity< 0, dim, Grid >::father ( ) const
inline

Inter-level access to father element on coarser grid. Assumes that meshes are nested.

References Dune::Alberta::ElementInfo< dim >::father(), and Dune::AlbertaGridEntity< codim, dim, Grid >::grid().

template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::Geometry Dune::AlbertaGridEntity< 0, dim, Grid >::geometry ( ) const
inline

geometry of this entity

References Dune::AlbertaGridEntity< codim, dim, Grid >::grid().

template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::LocalGeometry Dune::AlbertaGridEntity< 0, dim, Grid >::geometryInFather ( ) const
inline

Location of this element relative to the father's reference element.

This information is sufficient to interpolate all dofs in conforming case. Nonconforming may require access to neighbors of father and computations with local coordinates. On the fly case is somewhat inefficient since dofs are visited several times. If we store interpolation matrices, this is tolerable.

References Dune::Alberta::ElementInfo< dim >::indexInFather(), and Dune::Alberta::ElementInfo< dim >::type().

template<int dim, class Grid >
ALBERTA EL_INFO * Dune::AlbertaGridEntity< 0, dim, Grid >::getElInfo ( ) const
inline
template<int dim, class Grid >
const Grid& Dune::AlbertaGridEntity< 0, dim, Grid >::grid ( ) const
inline

obtain a reference to the grid

template<int dim, class Grid >
bool Dune::AlbertaGridEntity< 0, dim, Grid >::hasBoundaryIntersections ( ) const
inline

Returns true, if entity has intersections with boundary.

References Dune::Alberta::ElementInfo< dim >::isBoundary().

template<int dim, class Grid >
bool Dune::AlbertaGridEntity< 0, dim, Grid >::hasFather ( ) const
inline

returns true if father entity exists

References Dune::AlbertaGridEntity< codim, dim, Grid >::level().

template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::HierarchicIterator Dune::AlbertaGridEntity< 0, dim, Grid >::hbegin ( int  maxlevel) const
inline

Inter-level access to son elements on higher levels<=maxlevel. This is provided for sparsely stored nested unstructured meshes. Returns iterator to first son.

References Dune::AlbertaGridEntity< codim, dim, Grid >::grid().

template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::HierarchicIterator Dune::AlbertaGridEntity< 0, dim, Grid >::hend ( int  maxlevel) const
inline
template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::AlbertaGridLeafIntersectionIterator Dune::AlbertaGridEntity< 0, dim, Grid >::ileafbegin ( ) const
inline

Intra-level access to intersection with neighboring elements. A neighbor is an entity of codimension 0 which has an entity of codimension 1 in commen with this entity. Access to neighbors is provided using iterators. This allows meshes to be nonmatching. Returns iterator referencing the first neighbor.

References Dune::AlbertaGridEntity< codim, dim, Grid >::dimension, and Dune::AlbertaGridEntity< codim, dim, Grid >::getElInfo().

template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::AlbertaGridLeafIntersectionIterator Dune::AlbertaGridEntity< 0, dim, Grid >::ileafend ( ) const
inline

Reference to one past the last intersection with neighbor.

template<int dim, class Grid >
AlbertaGridLevelIntersectionIterator Dune::AlbertaGridEntity< 0, dim, Grid >::ilevelbegin ( ) const
inline
template<int dim, class Grid >
AlbertaGridLevelIntersectionIterator Dune::AlbertaGridEntity< 0, dim, Grid >::ilevelend ( ) const
inline
template<int dim, class Grid >
bool Dune::AlbertaGridEntity< 0, dim, Grid >::isLeaf ( ) const
inline

returns true if entity is leaf entity, i.e. has no children

References Dune::Alberta::ElementInfo< dim >::isLeaf().

template<int dim, class Grid >
bool Dune::AlbertaGridEntity< 0, dim, Grid >::isNew ( ) const
inline

Was the entity created during the last adaptation cycle?

References Dune::AlbertaGridEntity< codim, dim, Grid >::grid().

template<int dim, class Grid >
int Dune::AlbertaGridEntity< 0, dim, Grid >::level ( ) const
inline
template<int dim, class Grid >
bool Dune::AlbertaGridEntity< 0, dim, Grid >::mightVanish ( ) const
inline

Might the entity vanish during the next adaptation cycle?

References Dune::Alberta::ElementInfo< dim >::mightVanish().

template<int dim, class Grid >
PartitionType Dune::AlbertaGridEntity< 0, dim, Grid >::partitionType ( ) const
inline

return partition type of this entity

References Dune::InteriorEntity.

template<int dim, class Grid >
EntitySeed Dune::AlbertaGridEntity< 0, dim, Grid >::seed ( ) const
inline
template<int dim, class Grid >
void Dune::AlbertaGridEntity< 0, dim, Grid >::setElement ( const ElementInfo elementInfo,
int  subEntity 
)
inline
template<int dim, class Grid >
void Dune::AlbertaGridEntity< 0, dim, Grid >::setEntity ( const This other)
inline
template<int dim, class Grid >
template<int codim>
AlbertaGridEntity< 0, dim, Grid >::template Codim< codim >::EntityPointer Dune::AlbertaGridEntity< 0, dim, Grid >::subEntity ( int  i) const
inline
template<int dim, class Grid >
template<int codim>
Codim< codim >::EntityPointer Dune::AlbertaGridEntity< 0, dim, Grid >::subEntity ( int  i) const

obtain a subentity

Template Parameters
codimcodimension of the desired subentity
Parameters
[in]inumber of the subentity (in generic numbering)
Returns
an EntityPointer to the subentity
Note
: The subentities are numbered 0, ..., count< codim >-1
template<int dim, class Grid >
int Dune::AlbertaGridEntity< 0, dim, Grid >::subEntity ( ) const
inline

obtain number of the subentity within the element (in ALBERTA numbering)

template<int dim, class Grid >
int Dune::AlbertaGridEntity< 0, dim, Grid >::twist ( ) const
inline
template<int dim, class Grid >
template<int codim>
int Dune::AlbertaGridEntity< 0, dim, Grid >::twist ( int  i) const
inline
template<int dim, class Grid >
GeometryType Dune::AlbertaGridEntity< 0, dim, Grid >::type ( ) const
inline

type of geometry of this entity

Friends And Related Function Documentation

template<int dim, class Grid >
friend class AlbertaGrid< dim, dimworld >
friend
template<int dim, class Grid >
friend class AlbertaGridEntityPointer< 0, Grid >
friend
template<int dim, class Grid >
friend class AlbertaGridHierarchicIterator< Grid >
friend
template<int dim, class Grid >
friend class AlbertaGridLeafIntersection< Grid >
friend
template<int dim, class Grid >
template<int , class , bool >
friend class AlbertaGridTreeIterator
friend

Member Data Documentation

template<int dim, class Grid >
const int Dune::AlbertaGridEntity< 0, dim, Grid >::codimension = 0
static
template<int dim, class Grid >
const int Dune::AlbertaGridEntity< 0, dim, Grid >::dimension = dim
static
const int Dune::EntityDefaultImplementation< cd, dim, Grid , AlbertaGridEntity >::dimensionworld
staticinherited

know your own dimension of world

Deprecated:
"Use Geometry::coorddimension instead!"
template<int dim, class Grid >
const int Dune::AlbertaGridEntity< 0, dim, Grid >::mydimension = dimension - codimension
static

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