dune-grid 2.9.0
Classes | Public Types | Public Member Functions | Static Public Attributes | 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 >:
Inheritance graph

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 Dune::AlbertaGridLeafIntersectionIterator< GridAlbertaGridLeafIntersectionIterator
 
typedef AlbertaGridLeafIntersectionIterator AlbertaGridLevelIntersectionIterator
 
typedef Alberta::ElementInfo< dimensionElementInfo
 

Public Member Functions

 AlbertaGridEntity (const Grid &grid)
 constructor More...
 
 AlbertaGridEntity ()
 
 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...
 
unsigned int subEntities (unsigned int cd) const
 Obtain the number of subentities of a given codimension. More...
 
template<int codim>
Grid::template Codim< codim >::Entity 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...
 
Entity 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...
 

Static Public Attributes

static const int dimension = dim
 
static const int codimension = 0
 
static const int mydimension = dimension - codimension
 

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

◆ AlbertaGridLeafIntersectionIterator

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

◆ AlbertaGridLevelIntersectionIterator

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

◆ ElementInfo

template<int dim, class Grid >
typedef Alberta::ElementInfo< dimension > Dune::AlbertaGridEntity< 0, dim, Grid >::ElementInfo

◆ Entity

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

◆ EntitySeed

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

◆ Geometry

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

◆ GeometryImpl

template<int dim, class Grid >
typedef Grid::Traits::template Codim<0>::GeometryImpl Dune::AlbertaGridEntity< 0, dim, Grid >::GeometryImpl

◆ HierarchicIterator

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

◆ LocalGeometry

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

Constructor & Destructor Documentation

◆ AlbertaGridEntity() [1/3]

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

constructor

◆ AlbertaGridEntity() [2/3]

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

◆ AlbertaGridEntity() [3/3]

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

constructor

Member Function Documentation

◆ boundaryId()

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

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

◆ clearElement()

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

◆ elementInfo()

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

◆ equals()

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

equality of entities

◆ father()

template<int dim, class Grid >
Grid::template Codim< 0 >::Entity Dune::AlbertaGridEntity< 0, dim, Grid >::father
inline

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

◆ geometry()

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

geometry of this entity

◆ geometryInFather()

template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::LocalGeometry Dune::AlbertaGridEntity< 0, dim, Grid >::geometryInFather
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.

◆ getElInfo()

template<int dim, class Grid >
ALBERTA EL_INFO * Dune::AlbertaGridEntity< 0, dim, Grid >::getElInfo
inline

◆ grid()

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

obtain a reference to the grid

◆ hasBoundaryIntersections()

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

Returns true, if entity has intersections with boundary.

◆ hasFather()

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

returns true if father entity exists

◆ hbegin()

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.

◆ hend()

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

Returns iterator to one past the last son.

◆ ileafbegin()

template<int dim, class Grid >
AlbertaGridEntity< 0, dim, Grid >::AlbertaGridLeafIntersectionIterator Dune::AlbertaGridEntity< 0, dim, Grid >::ileafbegin
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.

◆ ileafend()

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

Reference to one past the last intersection with neighbor.

◆ ilevelbegin()

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

◆ ilevelend()

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

◆ isLeaf()

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

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

◆ isNew()

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

Was the entity created during the last adaptation cycle?

◆ level()

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

level of this element

◆ mightVanish()

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

Might the entity vanish during the next adaptation cycle?

◆ partitionType()

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

return partition type of this entity

◆ seed()

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

obtain entity seed

◆ setElement()

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

◆ setEntity()

template<int dim, class Grid >
void Dune::AlbertaGridEntity< 0, dim, Grid >::setEntity ( const This other)
inline

◆ subEntities()

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

Obtain the number of subentities of a given codimension.

That number is ((mydimension+1) over (dim-cd+1))

Parameters
cdcodimension
Returns
the number of subentities of the given codimension

◆ subEntity() [1/2]

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)

◆ subEntity() [2/2]

template<int dim, class Grid >
template<int codim>
Grid::template Codim< codim >::Entity Dune::AlbertaGridEntity< 0, dim, Grid >::subEntity ( int  i) const
inline

obtain a subentity

Template Parameters
codimcodimension of the desired subentity
Parameters
[in]inumber of the subentity (in generic numbering)
Returns
the subentity
Note
: The subentities are numbered 0, ..., subEntities(codim)-1

◆ twist() [1/2]

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

obtain twist

◆ twist() [2/2]

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

obtain twist of a subentity

◆ type()

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

type of geometry of this entity

Member Data Documentation

◆ codimension

template<int dim, class Grid >
const int Dune::AlbertaGridEntity< 0, dim, Grid >::codimension = 0
static

◆ dimension

template<int dim, class Grid >
const int Dune::AlbertaGridEntity< 0, dim, Grid >::dimension = dim
static

◆ mydimension

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: