dune-grid
2.2.0
|
#include <dune/grid/sgrid.hh>
Classes | |
struct | Codim |
Public Types | |
typedef GridImp::ctype | ctype |
define type used for coordinates in grid module | |
typedef GridImp::template Codim< 0 >::Geometry | Geometry |
typedef GridImp::template Codim< 0 >::LocalGeometry | LocalGeometry |
typedef GridImp::template Codim< 0 >::EntityPointer | EntityPointer |
The corresponding entity seed (for storage of entities) | |
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 |
define type used for coordinates in grid module
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
typedef GridImp::template Codim<0>::EntityPointer Dune::SEntity< 0, dim, GridImp >::EntityPointer |
The corresponding entity seed (for storage of entities)
Reimplemented from Dune::EntityDefaultImplementation< codim, dim, GridImp, SEntity >.
typedef GridImp::template Codim<cd>::EntitySeed Dune::EntityDefaultImplementation< cd, dim, GridImp, SEntity >::EntitySeed [inherited] |
The corresponding entity seed (for storage of entities)
typedef GridImp::template Codim<0>::Geometry Dune::SEntity< 0, dim, GridImp >::Geometry |
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
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 |
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
anonymous enum [inherited] |
know your own codimension
anonymous enum [inherited] |
know your own dimension
anonymous enum [inherited] |
Know dimension of the entity.
anonymous enum [inherited] |
know your own dimension of world
Dune::SEntity< 0, dim, GridImp >::SEntity | ( | GridImp * | _grid, |
int | _l, | ||
int | _index | ||
) | [inline] |
constructor
Dune::SEntity< 0, dim, GridImp >::SEntity | ( | const SEntity< 0, dim, GridImp > & | other | ) | [inline] |
int Dune::SEntityBase< codim, dim, GridImp, SEntity >::compressedIndex | ( | ) | const [inline, inherited] |
consecutive, codim-wise, level-wise index
int Dune::SEntityBase< codim, dim, GridImp, SEntity >::compressedLeafIndex | ( | ) | const [inline, inherited] |
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.
Geometry Dune::SEntityBase< codim, dim, GridImp, SEntity >::geometry | ( | ) | const [inline, inherited] |
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.
int Dune::SEntityBase< codim, dim, GridImp, SEntity >::globalIndex | ( | ) | const [inherited] |
global index is calculated from the index and grid size
bool Dune::SEntity< 0, dim, GridImp >::hasFather | ( | ) | const [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 |
bool Dune::SEntity< 0, dim, GridImp >::isLeaf | ( | ) | 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().
int Dune::SEntityBase< codim, dim, GridImp, SEntity >::level | ( | ) | const [inline, inherited] |
level of this element
void Dune::SEntity< 0, dim, GridImp >::make | ( | GridImp * | _grid, |
int | _l, | ||
int | _id | ||
) | [inline] |
Reinitialization.
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
References Dune::SEntityBase< codim, dim, GridImp, EntityImp >::make().
void Dune::SEntity< 0, dim, GridImp >::make | ( | int | _l, |
int | _id | ||
) | [inline] |
Reinitialization.
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
References Dune::SEntityBase< codim, dim, GridImp, EntityImp >::make().
void Dune::SEntityBase< codim, dim, GridImp, SEntity >::makegeometry | ( | ) | const [inherited] |
geometry of this entity
PartitionType Dune::SEntityBase< codim, dim, GridImp, SEntity >::partitionType | ( | ) | const [inline, inherited] |
PersistentIndexType Dune::SEntityBase< codim, dim, GridImp, SEntity >::persistentIndex | ( | ) | const [inline, inherited] |
globally unique, persistent index
SEntitySeed<codim, GridImp> Dune::SEntityBase< codim, dim, GridImp, SEntity >::seed | ( | ) | const [inline, inherited] |
Return the entity seed which contains sufficient information to generate the entity again and uses as less memory as possible.
int Dune::SEntity< 0, dim, GridImp >::subCompressedIndex | ( | int | codim, |
int | i | ||
) | const [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.
int Dune::SEntity< 0, dim, GridImp >::subCompressedLeafIndex | ( | int | codim, |
int | i | ||
) | const [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
PersistentIndexType Dune::SEntity< 0, dim, GridImp >::subPersistentIndex | ( | int | codim, |
int | i | ||
) | const [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().
GeometryType Dune::SEntityBase< codim, dim, GridImp, SEntity >::type | ( | ) | const [inline, inherited] |
return the element type identifier
Reimplemented from Dune::EntityDefaultImplementation< codim, dim, GridImp, SEntity >.
friend class SEntityPointer< 0, GridImp > [friend] |
friend class SHierarchicIterator< GridImp > [friend] |
make HierarchicIterator a friend
friend class SIntersectionIterator< GridImp > [friend] |
Reimplemented from Dune::SEntityBase< 0, dim, GridImp, SEntity >.
bool Dune::SEntityBase< codim, dim, GridImp, SEntity >::builtgeometry [mutable, protected, inherited] |
true if geometry has been constructed
GeometryImpl Dune::SEntityBase< codim, dim, GridImp, SEntity >::geo [mutable, protected, inherited] |
geometry, is only built on demand
GridImp* Dune::SEntityBase< codim, dim, GridImp, SEntity >::grid [protected, inherited] |
grid containes mapper, geometry, etc.
int Dune::SEntityBase< codim, dim, GridImp, SEntity >::index [protected, inherited] |
my consecutive index
int Dune::SEntityBase< codim, dim, GridImp, SEntity >::l [protected, inherited] |
level where element is on
array<int,dim> Dune::SEntityBase< codim, dim, GridImp, SEntity >::z [protected, inherited] |
my coordinate, number of even components = codim