dune-grid
2.2.0
|
Template specialization of Dune::Entity for Elements (codim==0) More...
#include <dune/grid/common/entity.hh>
Classes | |
struct | Codim |
EntityPointer types of the different codimensions. More... | |
Public Member Functions | |
GeometryType | type () const |
Return the name of the reference element. The type can be used to access the Dune::GenericReferenceElement. | |
EntitySeed | seed () const |
Return the entity seed which contains sufficient information to generate the entity again and uses as less memory as possible. | |
Protected Types | |
typedef EntityImp< 0, dim, GridImp > | Implementation |
typedef remove_const< GridImp > ::type | mutableGridImp |
Protected Member Functions | |
Implementation & | impl () |
return reference to the real implementation | |
const Implementation & | impl () const |
return reference to the real implementation | |
Protected Attributes | |
Implementation | realEntity |
Friends | |
class | GridDefaultImplementation< GridImp::dimension, GridImp::dimensionworld, typename GridImp::ctype, typename GridImp::GridFamily > |
Exported types and constants | |
enum | { codimension = cd } |
enum | { dimension = dim } |
enum | { mydimension = dim-cd } |
enum | { dimensionworld = GridImp::dimensionworld } |
Exported types and constants | |
enum | { codimension = 0 } |
enum | { dimension = dim } |
enum | { mydimension = dim } |
enum | { dimensionworld = GridImp::dimensionworld } |
typedef GridImp::template Codim< 0 >::Geometry | Geometry |
The geometry type of this entity. | |
typedef GridImp::template Codim< 0 >::EntitySeed | EntitySeed |
The corresponding entity seed (for storage of entities) | |
typedef GridImp::template Codim< 0 >::LocalGeometry | LocalGeometry |
The geometry type of this entity when the geometry is expressed embedded in the father element. | |
typedef GridImp::template Codim< 0 >::EntityPointer | EntityPointer |
The codim==0 EntityPointer type. | |
typedef GridImp::LeafIntersectionIterator | LeafIntersectionIterator |
The Dune::IntersectionIterator type for the LeafGridView. | |
typedef GridImp::LevelIntersectionIterator | LevelIntersectionIterator |
The Dune::IntersectionIterator type for the LevelGridView. | |
typedef GridImp::HierarchicIterator | HierarchicIterator |
The HierarchicIterator type. | |
typedef GridImp::ctype | ctype |
Type used for coordinates. | |
Methods shared by entities of all codimensions | |
int | level () const |
PartitionType | partitionType () const |
Geometry | geometry () const |
Extended interface of entities of codimension 0 | |
template<int cc> | |
int | count () const |
Number of subentities with codimension cc . This method is in principle redundant because this information can be obtained via the reference element of the geometry. It is there for efficiency reasons and to make the interface self-contained. | |
template<int codim> | |
Codim< codim >::EntityPointer | subEntity (int i) const |
obtain a pointer to a subentity | |
LeafIntersectionIterator | ileafbegin () const |
Access to intersections with neighboring leaf elements. A neighbor is an entity of codimension 0 which has an intersection of codimension 1 in common with this entity. Access to those neighbors is provided using the IntersectionIterator. This method returns an iterator refering to the first neighbor. | |
LeafIntersectionIterator | ileafend () const |
Reference to an IntersectionIterator one past the last intersection. | |
LevelIntersectionIterator | ilevelbegin () const |
Intra-level access to intersections with neighboring elements. A neighbor is an entity of codimension 0 which has an intersection of codimension 1 in common with this entity. Access to those neighbors is provided using the IntersectionIterator. This method returns an iterator refering to the first neighbor. | |
LevelIntersectionIterator | ilevelend () const |
Reference to an IntersectionIterator one past the last intersection. | |
EntityPointer | father () const |
Inter-level access to father entity on the next-coarser grid. The given entity resulted directly from a subdivision of its father entity. For the macro elements dereferencing the EntityPointer is undefined. | |
bool | hasFather () const |
Return true if entity has a father entity which can be accessed using the father() method. | |
bool | isLeaf () const |
Returns true if the entity is contained in the leaf grid. | |
bool | isRegular () const |
Returns true if element is of regular type in red/green type refinement. In bisection or hanging node refinement this is always true. | |
LocalGeometry | geometryInFather () const |
Provides information how this element has been subdivided from its father element. | |
HierarchicIterator | hbegin (int maxlevel) const |
Inter-level access to elements that resulted from (recursive) subdivision of this element. | |
HierarchicIterator | hend (int maxlevel) const |
Returns iterator to one past the last son element. | |
bool | isNew () const |
Returns true, if the entity has been created during the last call to adapt() | |
bool | mightVanish () const |
Returns true, if entity might disappear during the next call to adapt(). If the method returns false, the entity is guaranteed to still be present after adaptation. | |
Interface for the implementor | |
bool | hasBoundaryIntersections () const |
Returns true, if entity has intersections with boundary, see default implementation. | |
Entity (const EntityImp< 0, dim, GridImp > &e) | |
Copy constructor from EntityImp. | |
Protected methods | |
class | Dune::EntityPointer |
Entity (const Entity &rhs) | |
Entity & | operator= (const Entity &rhs) |
Template specialization of Dune::Entity for Elements (codim==0)
<int cd, int dim, class GridImp, template<int,int,class> class EntityImp>
typedef GridImp::ctype Dune::Entity< 0, dim, GridImp, EntityImp >::ctype |
Type used for coordinates.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
typedef GridImp::template Codim<0>::EntityPointer Dune::Entity< 0, dim, GridImp, EntityImp >::EntityPointer |
The codim==0 EntityPointer type.
typedef GridImp::template Codim<0>::EntitySeed Dune::Entity< 0, dim, GridImp, EntityImp >::EntitySeed |
The corresponding entity seed (for storage of entities)
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
typedef GridImp::template Codim<0>::Geometry Dune::Entity< 0, dim, GridImp, EntityImp >::Geometry |
The geometry type of this entity.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
typedef GridImp::HierarchicIterator Dune::Entity< 0, dim, GridImp, EntityImp >::HierarchicIterator |
The HierarchicIterator type.
typedef EntityImp< 0, dim, GridImp > Dune::Entity< 0, dim, GridImp, EntityImp >::Implementation [protected] |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
typedef GridImp::LeafIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::LeafIntersectionIterator |
The Dune::IntersectionIterator type for the LeafGridView.
typedef GridImp::LevelIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::LevelIntersectionIterator |
The Dune::IntersectionIterator type for the LevelGridView.
typedef GridImp::template Codim<0>::LocalGeometry Dune::Entity< 0, dim, GridImp, EntityImp >::LocalGeometry |
The geometry type of this entity when the geometry is expressed embedded in the father element.
This differs from Geometry in particular when dim != dimworld, but even when dim == dimworld the implementation may choose to use a different type here.
typedef remove_const<GridImp>::type Dune::Entity< 0, dim, GridImp, EntityImp >::mutableGridImp [protected] |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
anonymous enum [inherited] |
anonymous enum [inherited] |
anonymous enum [inherited] |
anonymous enum [inherited] |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
Dune::Entity< 0, dim, GridImp, EntityImp >::Entity | ( | const EntityImp< 0, dim, GridImp > & | e | ) | [inline, explicit] |
Copy constructor from EntityImp.
Dune::Entity< 0, dim, GridImp, EntityImp >::Entity | ( | const Entity< 0, dim, GridImp, EntityImp > & | rhs | ) | [inline, protected] |
hide copy constructor
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
int Dune::Entity< 0, dim, GridImp, EntityImp >::count | ( | ) | const [inline] |
Number of subentities with codimension cc
. This method is in principle redundant because this information can be obtained via the reference element of the geometry. It is there for efficiency reasons and to make the interface self-contained.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
EntityPointer Dune::Entity< 0, dim, GridImp, EntityImp >::father | ( | ) | const [inline] |
Inter-level access to father entity on the next-coarser grid. The given entity resulted directly from a subdivision of its father entity. For the macro elements dereferencing the EntityPointer is undefined.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
Geometry Dune::Entity< 0, dim, GridImp, EntityImp >::geometry | ( | ) | const [inline] |
obtain geometric realization of the entity
Each entity provides an object of type Dune::Geometry< dimension-codimension, dimensionworld, ... > that represents the map from a reference element to world coordinates.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
LocalGeometry Dune::Entity< 0, dim, GridImp, EntityImp >::geometryInFather | ( | ) | const [inline] |
Provides information how this element has been subdivided from its father element.
The returned LocalGeometry is a model of Dune::Geometry<dimension,dimension,...>, mapping the reference element of the given entity to the reference element of its father.
This information is sufficient to interpolate all degrees of freedom in the conforming case. Nonconforming may require access to neighbors of the father and calculations with local coordinates. The on-the-fly case is somewhat inefficient since degrees of freedom may be visited several times. If we store interpolation matrices, this is tolerable. We assume that on-the-fly implementation of interpolation is only done for simple discretizations.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
bool Dune::Entity< 0, dim, GridImp, EntityImp >::hasBoundaryIntersections | ( | ) | const [inline] |
Returns true, if entity has intersections with boundary, see default implementation.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
bool Dune::Entity< 0, dim, GridImp, EntityImp >::hasFather | ( | ) | const [inline] |
Return true if entity has a father entity which can be accessed using the father() method.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
HierarchicIterator Dune::Entity< 0, dim, GridImp, EntityImp >::hbegin | ( | int | maxlevel | ) | const [inline] |
Inter-level access to elements that resulted from (recursive) subdivision of this element.
[in] | maxlevel | Iterator does not stop at elements with level greater than maxlevel. |
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
HierarchicIterator Dune::Entity< 0, dim, GridImp, EntityImp >::hend | ( | int | maxlevel | ) | const [inline] |
Returns iterator to one past the last son element.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
LeafIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::ileafbegin | ( | ) | const [inline] |
Access to intersections with neighboring leaf elements. A neighbor is an entity of codimension 0 which has an intersection of codimension 1 in common with this entity. Access to those neighbors is provided using the IntersectionIterator. This method returns an iterator refering to the first neighbor.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
LeafIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::ileafend | ( | ) | const [inline] |
Reference to an IntersectionIterator one past the last intersection.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
LevelIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::ilevelbegin | ( | ) | const [inline] |
Intra-level access to intersections with neighboring elements. A neighbor is an entity of codimension 0 which has an intersection of codimension 1 in common with this entity. Access to those neighbors is provided using the IntersectionIterator. This method returns an iterator refering to the first neighbor.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
LevelIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::ilevelend | ( | ) | const [inline] |
Reference to an IntersectionIterator one past the last intersection.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
Implementation& Dune::Entity< 0, dim, GridImp, EntityImp >::impl | ( | ) | [inline, protected] |
return reference to the real implementation
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
const Implementation& Dune::Entity< 0, dim, GridImp, EntityImp >::impl | ( | ) | const [inline, protected] |
return reference to the real implementation
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
bool Dune::Entity< 0, dim, GridImp, EntityImp >::isLeaf | ( | ) | const [inline] |
Returns true if the entity is contained in the leaf grid.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
bool Dune::Entity< 0, dim, GridImp, EntityImp >::isNew | ( | ) | const [inline] |
Returns true, if the entity has been created during the last call to adapt()
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
bool Dune::Entity< 0, dim, GridImp, EntityImp >::isRegular | ( | ) | const [inline] |
Returns true if element is of regular type in red/green type refinement. In bisection or hanging node refinement this is always true.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
int Dune::Entity< 0, dim, GridImp, EntityImp >::level | ( | ) | const [inline] |
The level of this entity.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
bool Dune::Entity< 0, dim, GridImp, EntityImp >::mightVanish | ( | ) | const [inline] |
Returns true, if entity might disappear during the next call to adapt(). If the method returns false, the entity is guaranteed to still be present after adaptation.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
Entity& Dune::Entity< 0, dim, GridImp, EntityImp >::operator= | ( | const Entity< 0, dim, GridImp, EntityImp > & | rhs | ) | [inline, protected] |
hide assignement operator
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
PartitionType Dune::Entity< 0, dim, GridImp, EntityImp >::partitionType | ( | ) | const [inline] |
Partition type of this entity.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
EntitySeed Dune::Entity< 0, dim, GridImp, EntityImp >::seed | ( | ) | const [inline] |
Return the entity seed which contains sufficient information to generate the entity again and uses as less memory as possible.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
Codim< codim >::EntityPointer Dune::Entity< 0, dim, GridImp, EntityImp >::subEntity | ( | int | i | ) | const [inline] |
obtain a pointer to a subentity
codim | codimension of the desired subentity |
[in] | i | number of the subentity (in generic numbering) |
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
GeometryType Dune::Entity< 0, dim, GridImp, EntityImp >::type | ( | ) | const [inline] |
Return the name of the reference element. The type can be used to access the Dune::GenericReferenceElement.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
friend class Dune::EntityPointer [friend] |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
friend class GridDefaultImplementation< GridImp::dimension, GridImp::dimensionworld,typename GridImp::ctype,typename GridImp::GridFamily > [friend] |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
Implementation Dune::Entity< 0, dim, GridImp, EntityImp >::realEntity [protected] |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.