dune-grid
2.2.0
|
#include <dune/grid/sgrid.hh>
Classes | |
struct | Codim |
Public Types | |
typedef GridImp::ctype | ctype |
typedef GridImp::template Codim< 0 >::Geometry | Geometry |
typedef GridImp::template Codim< 0 >::LocalGeometry | LocalGeometry |
typedef GridImp::template Codim< 0 >::EntityPointer | EntityPointer |
typedef GridImp::LeafIntersectionIterator | IntersectionIterator |
typedef GridImp::HierarchicIterator | HierarchicIterator |
typedef GridImp::PersistentIndexType | PersistentIndexType |
enum | |
know your own codimension More... | |
enum | |
know your own dimension More... | |
enum | |
Know dimension of the entity. More... | |
enum | |
know your own dimension of world More... | |
typedef GridImp::template Codim< cd >::EntitySeed | EntitySeed |
The corresponding entity seed (for storage of entities) |
Public Member Functions | |
template<int cc> | |
int | count () const |
template<int cc> | |
Codim< cc >::EntityPointer | subEntity (int i) const |
int | subCompressedIndex (int codim, int i) const |
subentity compressed index | |
int | subCompressedLeafIndex (int codim, int i) const |
PersistentIndexType | subPersistentIndex (int codim, int i) const |
subentity persistent index | |
IntersectionIterator | ibegin () const |
IntersectionIterator | ileafbegin () const |
IntersectionIterator | ilevelbegin () const |
IntersectionIterator | iend () const |
Reference to one past the last intersection. | |
IntersectionIterator | ileafend () const |
IntersectionIterator | ilevelend () const |
EntityPointer | father () const |
Inter-level access to father element on coarser grid. | |
bool | hasFather () const |
returns true if father entity exists | |
bool | isLeaf () const |
return true if the entity is leaf | |
LocalGeometry | geometryInFather () const |
Location of this element relative to the reference element element of the father. | |
HierarchicIterator | hbegin (int maxLevel) const |
Inter-level access to son elements on higher levels<=maxLevel. | |
HierarchicIterator | hend (int maxLevel) const |
Returns iterator to one past the last son. | |
SEntity (GridImp *_grid, int _l, int _index) | |
constructor | |
SEntity (const SEntity &other) | |
void | make (GridImp *_grid, int _l, int _id) |
Reinitialization. | |
void | make (int _l, int _id) |
Reinitialization. | |
int | level () const |
level of this element | |
int | globalIndex () const |
global index is calculated from the index and grid size | |
SEntitySeed< codim, GridImp > | seed () const |
Return the entity seed which contains sufficient information to generate the entity again and uses as less memory as possible. | |
GeometryType | type () const |
return the element type identifier | |
Geometry | geometry () const |
geometry of this entity | |
PartitionType | partitionType () const |
void | makegeometry () const |
geometry of this entity | |
PersistentIndexType | persistentIndex () const |
globally unique, persistent index | |
int | compressedIndex () const |
consecutive, codim-wise, level-wise index | |
int | compressedLeafIndex () const |
consecutive, codim-wise, level-wise index |
Protected Attributes | |
GridImp * | grid |
grid containes mapper, geometry, etc. | |
int | l |
level where element is on | |
int | index |
my consecutive index | |
array< int, dim > | z |
my coordinate, number of even components = codim | |
GeometryImpl | geo |
geometry, is only built on demand | |
bool | builtgeometry |
true if geometry has been constructed |
Friends | |
class | SEntityPointer< 0, GridImp > |
class | SIntersectionIterator< GridImp > |
class | SHierarchicIterator< GridImp > |
make HierarchicIterator a friend |
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
Entities of codimension 0 allow to visit all neighbors, where a neighbor is an entity of codimension 0 which has a common entity of codimension 1 with the entity. These neighbors are accessed via an iterator. This allows the implementation of non-matching meshes. The number of neigbors may be different from the number of faces/edges of an element! 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 ("Cells") are defined through template specialization. Note that this specialization has an extended interface compared to the general case
typedef GridImp::ctype Dune::SEntity< 0, dim, GridImp >::ctype |
typedef GridImp::template Codim<0>::EntityPointer Dune::SEntity< 0, dim, GridImp >::EntityPointer |
|
inherited |
The corresponding entity seed (for storage of entities)
typedef GridImp::template Codim<0>::Geometry Dune::SEntity< 0, dim, GridImp >::Geometry |
typedef GridImp::HierarchicIterator Dune::SEntity< 0, dim, GridImp >::HierarchicIterator |
typedef GridImp::LeafIntersectionIterator Dune::SEntity< 0, dim, GridImp >::IntersectionIterator |
typedef GridImp::template Codim<0>::LocalGeometry Dune::SEntity< 0, dim, GridImp >::LocalGeometry |
typedef GridImp::PersistentIndexType Dune::SEntity< 0, dim, GridImp >::PersistentIndexType |
|
inherited |
know your own codimension
|
inherited |
know your own dimension
|
inherited |
Know dimension of the entity.
|
inherited |
know your own dimension of world
|
inline |
constructor
|
inline |
|
inlineinherited |
consecutive, codim-wise, level-wise index
|
inlineinherited |
consecutive, codim-wise, level-wise index
int Dune::SEntity< 0, dim, GridImp >::count | ( | ) | const |
Intra-element access to entities of codimension cc > codim. Return number of entities with codimension cc.
EntityPointer Dune::SEntity< 0, dim, GridImp >::father | ( | ) | const |
Inter-level access to father element on coarser grid.
Assumes that meshes are nested.
|
inlineinherited |
geometry of this entity
LocalGeometry Dune::SEntity< 0, dim, GridImp >::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.
|
inherited |
global index is calculated from the index and grid size
|
inline |
returns true if father entity exists
References Dune::SEntityBase< codim, dim, GridImp, SEntity >::level().
HierarchicIterator Dune::SEntity< 0, dim, 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.
HierarchicIterator Dune::SEntity< 0, dim, GridImp >::hend | ( | int | maxLevel | ) | const |
Returns iterator to one past the last son.
IntersectionIterator Dune::SEntity< 0, dim, GridImp >::ibegin | ( | ) | const |
Intra-level access to intersections 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.
IntersectionIterator Dune::SEntity< 0, dim, GridImp >::iend | ( | ) | const |
Reference to one past the last intersection.
IntersectionIterator Dune::SEntity< 0, dim, GridImp >::ileafbegin | ( | ) | const |
IntersectionIterator Dune::SEntity< 0, dim, GridImp >::ileafend | ( | ) | const |
IntersectionIterator Dune::SEntity< 0, dim, GridImp >::ilevelbegin | ( | ) | const |
IntersectionIterator Dune::SEntity< 0, dim, GridImp >::ilevelend | ( | ) | const |
|
inline |
return true if the entity is leaf
References Dune::SEntityBase< codim, dim, GridImp, SEntity >::grid, and Dune::SEntityBase< codim, dim, GridImp, SEntity >::level().
|
inlineinherited |
level of this element
|
inline |
Reinitialization.
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
References Dune::SEntityBase< codim, dim, GridImp, EntityImp >::make().
|
inline |
Reinitialization.
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
References Dune::SEntityBase< codim, dim, GridImp, EntityImp >::make().
|
inherited |
geometry of this entity
|
inlineinherited |
|
inlineinherited |
globally unique, persistent index
|
inlineinherited |
Return the entity seed which contains sufficient information to generate the entity again and uses as less memory as possible.
|
inline |
subentity compressed index
References Dune::SEntityBase< codim, dim, GridImp, SEntity >::compressedIndex(), Dune::SEntityBase< codim, dim, GridImp, SEntity >::grid, and Dune::SEntityBase< codim, dim, GridImp, SEntity >::l.
|
inline |
subentity leaf index
References Dune::SEntityBase< codim, dim, GridImp, SEntity >::compressedLeafIndex(), Dune::SEntityBase< codim, dim, GridImp, SEntity >::grid, and Dune::SEntityBase< codim, dim, GridImp, SEntity >::l.
Codim<cc>::EntityPointer Dune::SEntity< 0, dim, GridImp >::subEntity | ( | int | i | ) | const |
Provide access to mesh entity i of given codimension. Entities are numbered 0 ... count<cc>()-1
|
inline |
subentity persistent index
References Dune::SEntityBase< codim, dim, GridImp, SEntity >::grid, Dune::SEntityBase< codim, dim, GridImp, SEntity >::l, and Dune::SEntityBase< codim, dim, GridImp, SEntity >::persistentIndex().
|
inlineinherited |
return the element type identifier
Reimplemented from Dune::EntityDefaultImplementation< codim, dim, GridImp, SEntity >.
|
friend |
|
friend |
make HierarchicIterator a friend
|
friend |
|
mutableprotectedinherited |
true if geometry has been constructed
|
mutableprotectedinherited |
geometry, is only built on demand
|
protectedinherited |
grid containes mapper, geometry, etc.
|
protectedinherited |
my consecutive index
|
protectedinherited |
level where element is on
|
protectedinherited |
my coordinate, number of even components = codim