dune-grid
2.1.1
|
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 Types | |
typedef EntityImp< 0, dim, GridImp > | ImplementationType |
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 remove_const< GridImp > ::type | mutableGridImp |
Protected Attributes | |
EntityImp< 0, dim, GridImp > | realEntity |
Exported types and constants | |
enum | { codimension = cd } |
enum | { dimension = dim } |
enum | { mydimension = dim-cd } |
enum | { dimensionworld = GridImp::dimensionworld } |
Protected methods | |
class | Dune::EntityPointer< GridImp, typename GridImp::GridFamily::Traits::template Codim< cd >::EntityPointerImpl > |
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 LeafIntersectionIterator type. | |
typedef GridImp::LevelIntersectionIterator | LevelIntersectionIterator |
The LevelIntersectionIterator type. | |
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 |
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. | |
const LocalGeometry & | geometryInFather () const |
Provides information how this element has been subdivided from its father element. The returned LocalGeometry is a model of Dune::Geometry<dimension,dimension,...> mapping from the reference element of the given element to the reference element of the father element. This is sufficient to interpolate all degrees of freedom in the conforming case. Nonconforming may require access to neighbors of father and computations with local coordinates. 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. | |
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 | GridDefaultImplementation< GridImp::dimension, GridImp::dimensionworld, typename GridImp::ctype, typename GridImp::GridFamily > |
class | Dune::EntityPointer< GridImp, typename GridImp::GridFamily::Traits::template Codim< 0 >::EntityPointerImpl > |
EntityImp< 0, dim, GridImp > & | getRealImp () |
return reference to the real implementation | |
const EntityImp< 0, dim, GridImp > & | getRealImp () const |
return reference to the real implementation | |
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 >::ImplementationType |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
typedef GridImp::LeafIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::LeafIntersectionIterator |
The LeafIntersectionIterator type.
typedef GridImp::LevelIntersectionIterator Dune::Entity< 0, dim, GridImp, EntityImp >::LevelIntersectionIterator |
The LevelIntersectionIterator type.
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.
const Geometry& Dune::Entity< 0, dim, GridImp, EntityImp >::geometry | ( | ) | const [inline] |
Each entity encapsulates an object of type Dune::Geometry<dimension-codimension,dimensionworld,...> that gives (among other things) the map from a reference element to world coordinates. This method delivers a const reference to such a geometry.
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
const 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 from the reference element of the given element to the reference element of the father element. This is sufficient to interpolate all degrees of freedom in the conforming case. Nonconforming may require access to neighbors of father and computations with local coordinates. 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.
EntityImp<0,dim,GridImp>& Dune::Entity< 0, dim, GridImp, EntityImp >::getRealImp | ( | ) | [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 EntityImp<0,dim,GridImp>& Dune::Entity< 0, dim, GridImp, EntityImp >::getRealImp | ( | ) | 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 >::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.
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< GridImp,typename GridImp::GridFamily::Traits::template Codim< 0 >::EntityPointerImpl > [friend] |
friend class Dune::EntityPointer< GridImp,typename GridImp::GridFamily::Traits::template Codim< cd >::EntityPointerImpl > [friend, inherited] |
friend class GridDefaultImplementation< GridImp::dimension, GridImp::dimensionworld,typename GridImp::ctype,typename GridImp::GridFamily > [friend] |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.
EntityImp<0,dim,GridImp> Dune::Entity< 0, dim, GridImp, EntityImp >::realEntity [protected] |
Reimplemented from Dune::Entity< cd, dim, GridImp, EntityImp >.