Dune Core Modules (2.11.0)

Dune::FoamGridEntity< 0, 2, GridImp > Class Template Reference

Specialization for codim-0-entities, i.e., elements for dimgrid==2. More...

#include <dune/foamgrid/foamgrid/foamgridentity.hh>

Public Types

typedef FoamGridLevelIntersectionIterator< GridImp > LevelIntersectionIterator
 The Iterator over intersections on this level.
 
typedef FoamGridLeafIntersectionIterator< GridImp > LeafIntersectionIterator
 The Iterator over intersections on the leaf level.
 
typedef FoamGridHierarchicIterator< GridImp > HierarchicIterator
 Iterator over descendants of the entity.
 
typedef GridImp::template Codim< 0 >::EntitySeed EntitySeed
 The type of the EntitySeed interface class.
 

Public Member Functions

 FoamGridEntity (const FoamGridEntityImp< dimgrid, dimgrid, dimworld, ctype > *hostEntity)
 Constructor for an entity in a given grid level.
 
 FoamGridEntity (const FoamGridEntity &original)
 Copy constructor.
 
 FoamGridEntity ()
 Default constructor.
 
FoamGridEntityoperator= (const FoamGridEntity &original)
 
int level () const
 Level of this element.
 
PartitionType partitionType () const
 The partition type for parallel computing.
 
Geometry geometry () const
 Geometry of this entity.
 
EntitySeed seed () const
 Create EntitySeed.
 
template<int cc>
int count () const
 Return the number of subEntities of codimension cc.
 
unsigned int count (unsigned int codim) const
 Return the number of subEntities of codimension cc.
 
unsigned int subEntities (unsigned int codim) const
 
int subId (int i, unsigned int codim) const
 Return index of sub entity with codim = cc and local number i.
 
template<int codim>
std::enable_if< codim==0, typenameCodim< 0 >::Entity >::type subEntity (int i) const
 Access to codim 0 subentities.
 
template<int codim>
std::enable_if< codim==1, typenameCodim< 1 >::Entity >::type subEntity (int i) const
 Access to codim 1 subentities.
 
template<int codim>
std::enable_if< codim==2, typenameCodim< 2 >::Entity >::type subEntity (int i) const
 Access to codim 2 subentities.
 
FoamGridLevelIntersectionIterator< GridImp > ilevelbegin () const
 First level intersection.
 
FoamGridLevelIntersectionIterator< GridImp > ilevelend () const
 Reference to one past the last neighbor.
 
FoamGridLeafIntersectionIterator< GridImp > ileafbegin () const
 First leaf intersection.
 
FoamGridLeafIntersectionIterator< GridImp > ileafend () const
 Reference to one past the last leaf intersection.
 
bool isLeaf () const
 returns true if Entity has NO children
 
bool hasFather () const
 Return true if this element has a father element.
 
Entity father () const
 
LocalGeometry geometryInFather () const
 Location of this element relative to the reference element element of the father. This 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. We assume that on-the-fly implementation of numerical algorithms is only done for simple discretizations. Assumes that meshes are nested.
 
FoamGridHierarchicIterator< GridImp > hbegin (int maxLevel) const
 Inter-level access to son elements on higher levels<=maxlevel. This is provided for sparsely stored nested unstructured meshes. Returns iterator to first son.
 
FoamGridHierarchicIterator< GridImp > hend (int maxLevel) const
 Returns iterator to one past the last son.
 
void setToTarget (const FoamGridEntityImp< dimgrid, dimgrid, dimworld, ctype > *target)
 Make this class point to a new FoamGridEntityImp object.
 
bool equals (const Dune::FoamGridEntity< 0, dimgrid, GridImp > &other) const
 equality
 
GeometryType type () const
 return the entity's type
 

Public Attributes

const FoamGridEntityImp< dimgrid, dimgrid,dimworld, ctype > * target_
 pointer to the implementation
 

Static Public Attributes

static constexpr int codimension
 know your own codimension
 
static constexpr int dimension
 Dimension of the grid.
 
static constexpr int mydimension
 Know dimension of the entity.
 

Detailed Description

template<class GridImp>
class Dune::FoamGridEntity< 0, 2, GridImp >

Specialization for codim-0-entities, i.e., elements for dimgrid==2.

This class embodies the topological parts of elements of the grid. It has an extended interface compared to the general entity class. For example, Entities of codimension 0 allow to visit all neighbors.

Member Function Documentation

◆ father()

template<class GridImp >
Entity Dune::FoamGridEntity< 0, 2, GridImp >::father ( ) const
inline

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

◆ operator=()

template<class GridImp >
FoamGridEntity & Dune::FoamGridEntity< 0, 2, GridImp >::operator= ( const FoamGridEntity< 0, 2, GridImp > &  original)
inline

◆ subEntities()

template<class GridImp >
unsigned int Dune::FoamGridEntity< 0, 2, GridImp >::subEntities ( unsigned int  codim) const
inline

Return number of subentities with codimension cc.

That number is (dim over (dim-codim)) times 2^codim


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Feb 14, 23:39, 2026)