|
opm-grid
|
#include <Entity.hpp>
Public Types | |
| typedef Entity | EntitySeed |
| template<int cd> | |
| using | Codim = typename Impl::CodimTraits<cd> |
| Export supported entity types. | |
| typedef cpgrid::Geometry< 3-codim, 3 > | Geometry |
| typedef Geometry | LocalGeometry |
| typedef cpgrid::IntersectionIterator | LeafIntersectionIterator |
| typedef cpgrid::IntersectionIterator | LevelIntersectionIterator |
| typedef cpgrid::HierarchicIterator | HierarchicIterator |
| typedef double | ctype |
| Public Types inherited from Dune::cpgrid::EntityRep< codim > | |
| enum | { codimension =codim } |
| enum | { InvalidIndex = INT_MAX } |
Public Member Functions | |
| Entity () | |
| Constructor taking a grid and an integer entity representation. | |
| Entity (const CpGridData &grid, EntityRep< codim > entityrep) | |
| Constructor taking a grid and an entity representation. | |
| Entity (const CpGridData &grid, int index_arg, bool orientation_arg) | |
| Constructor taking a grid, entity index, and orientation. | |
| Entity (int index_arg, bool orientation_arg) | |
| Constructor taking a entity index, and orientation. | |
| bool | operator== (const Entity &other) const |
| Equality. | |
| bool | operator!= (const Entity &other) const |
| Inequality. | |
| EntitySeed | seed () const |
| Return an entity seed (light-weight entity). | |
| const Geometry & | geometry () const |
| Return the geometry of the entity (does not depend on its orientation). | |
| int | level () const |
| Return the level of the entity in the grid hierarchy. Level = 0 represents the coarsest grid. | |
| bool | isLeaf () const |
| Check if the entity is in the leafview. | |
| bool | isRegular () const |
| Refinement is not defined for CpGrid. | |
| PartitionType | partitionType () const |
| In serial run, the only partitionType() is InteriorEntity. | |
| GeometryType | type () const |
| Return marker object (GeometryType object) representing the reference element of the entity. | |
| unsigned int | subEntities (const unsigned int cc) const |
| Return the number of all subentities of the entity of a given codimension cc. | |
| template<int cc> | |
| Codim< cc >::Entity | subEntity (int i) const |
| Obtain subentity. | |
| LevelIntersectionIterator | ilevelbegin () const |
| Start level-iterator for the cell-cell intersections of this entity. | |
| LevelIntersectionIterator | ilevelend () const |
| End level-iterator for the cell-cell intersections of this entity. | |
| LeafIntersectionIterator | ileafbegin () const |
| Start leaf-iterator for the cell-cell intersections of this entity. | |
| LeafIntersectionIterator | ileafend () const |
| End leaf-iterator for the cell-cell intersections of this entity. | |
| HierarchicIterator | hbegin (int) const |
| Iterator begin over the children. [If requested, also over descendants more than one generation away.]. | |
| HierarchicIterator | hend (int) const |
| Iterator end over the children/beyond last child iterator. | |
| bool | isNew () const |
| Returns true, if the entity has been created during the last call to adapt(). | |
| bool | mightVanish () const |
| Indicates whether the entity may be removed in the next call to adapt(). | |
| bool | hasFather () const |
| ONLY FOR CELLS (Entity<0>) Check if the entity comes from an LGR, i.e., it has been created via refinement from coarser level. | |
| Entity< 0 > | father () const |
| ONLY FOR CELLS (Entity<0>). | |
| Dune::cpgrid::Geometry< 3, 3 > | geometryInFather () const |
| Return LocalGeometry representing the embedding of the entity into its father (when hasFather() is true). | |
| bool | hasBoundaryIntersections () const |
| Returns true if any of my intersections are on the boundary. | |
| const Entity & | impl () const |
| Access the actual implementation class behind Entity interface class. | |
| Entity & | impl () |
| bool | isValid () const |
| isValid method for EntitySeed | |
| Entity< 0 > | getOrigin () const |
| Returns (1) oldest ancestor, i.e., oldest parent entity in the level-grid 0, if the entity was born in any refined level grid with level>0. | |
| Entity< 0 > | getLevelElem () const |
| Get equivalent element on the level grid where the entity was born, if grid = leaf-grid-view. Otherwise, return itself. | |
| int | getLevelCartesianIdx () const |
| Get Cartesian Index in the level grid view where the Entity was born. | |
| int | getIdxInParentCell () const |
| template<int cc> | |
| Entity< codim >::template Codim< cc >::Entity | subEntity (int i) const |
| Public Member Functions inherited from Dune::cpgrid::EntityRep< codim > | |
| EntityRep () | |
| Default constructor. | |
| EntityRep (int index_arg, bool orientation_arg) | |
| Constructor taking an entity index and an orientation. | |
| void | setValue (int index_arg, bool orientation_arg) |
| Set entity value. | |
| int | index () const |
| The (positive) index of an entity. | |
| int | signedIndex () const |
| The signed index that also tells us the orientation. | |
| bool | orientation () const |
| Returns true if the entity has positive orientation. | |
| EntityRep | opposite () const |
| Returns an EntityRep with opposite orientation. | |
| void | increment () |
| Increments the entityrep's index() by one. | |
| bool | operator< (const EntityRep &other) const |
| Ordering relation used for maps etc. | |
| bool | operator== (const EntityRep &other) const |
| Equality operator. | |
| bool | operator!= (const EntityRep &other) const |
| Inequality operator. | |
Static Public Attributes | |
| static constexpr int | codimension = codim |
| static constexpr int | dimension = 3 |
| static constexpr int | mydimension = dimension - codimension |
| static constexpr int | dimensionworld = 3 |
Protected Attributes | |
| const CpGridData * | pgrid_ |
Friends | |
| class | LevelGlobalIdSet |
| class | GlobalIdSet |
| class | HierarchicIterator |
| class | CpGridData |
| friend | void::refinePatch_and_check (Dune::CpGrid &, const std::vector< std::array< int, 3 > > &, const std::vector< std::array< int, 3 > > &, const std::vector< std::array< int, 3 > > &, const std::vector< std::string > &) |
|
inline |
Constructor taking a grid and an integer entity representation.
This constructor should probably be removed, since it exposes details of the implementation of
| Entity< 0 > Dune::cpgrid::Entity< codim >::father | ( | ) | const |
| Dune::cpgrid::Geometry< 3, 3 > Dune::cpgrid::Entity< codim >::geometryInFather | ( | ) | const |
Return LocalGeometry representing the embedding of the entity into its father (when hasFather() is true).
Map from the entity's reference element into the reference element of its father. Currently, LGR is built via refinement of a block-shaped patch from the coarse grid. So the LocalGeometry of an entity coming from the LGR is one of the refined cells of the unit cube, with suitable amount of cells in each direction.
| Dune::cpgrid::Entity< 0 > Dune::cpgrid::Entity< codim >::getOrigin | ( | ) | const |
Returns (1) oldest ancestor, i.e., oldest parent entity in the level-grid 0, if the entity was born in any refined level grid with level>0.
(2) if the entity has no father, and is a leaf-grid-view entity, it returns the equivalent element on the level that it was born. Namely, for coarse cells on the leaf never involved in any refinement process, we get the equivalent entity in the GLOBAL grid (level 0). (3) Otherwise, returns itself, which means that its grid is the level 0 and the entity itself is already its "origin".
| bool Dune::cpgrid::Entity< codim >::hasBoundaryIntersections | ( | ) | const |
Returns true if any of my intersections are on the boundary.
Implementation note: This is a slow, computed, function. Could be speeded up by putting boundary info in the CpGrid class.
| bool Dune::cpgrid::Entity< codim >::hasFather | ( | ) | const |
ONLY FOR CELLS (Entity<0>) Check if the entity comes from an LGR, i.e., it has been created via refinement from coarser level.
@TODO: When distributed_data_ is not empty, check whether the father element exists on the local process, which can be used to test whether it is safe to call father.
| HierarchicIterator Dune::cpgrid::Entity< codim >::hend | ( | int | maxLevel | ) | const |
Iterator end over the children/beyond last child iterator.
Dummy beyond last child iterator.
| bool Dune::cpgrid::Entity< codim >::isLeaf | ( | ) | const |
Check if the entity is in the leafview.
@TODO: Modify the definition to cover serial and parallel cases. Serial: an element is a leaf <-> hbegin and hend return the same iterator Parallel: true <-> the element is a leaf entity of the global refinement hierarchy.
| bool Dune::cpgrid::Entity< codim >::isNew | ( | ) | const |
Returns true, if the entity has been created during the last call to adapt().
Note: An element created during the last refinement step may still be refined further on a higher level (e.g., through nested refinement). The isNew flag is used to identify such newly created elements so that data interpolation is applied only to them.
| bool Dune::cpgrid::Entity< codim >::isValid | ( | ) | const |
isValid method for EntitySeed
| bool Dune::cpgrid::Entity< codim >::mightVanish | ( | ) | const |
Indicates whether the entity may be removed in the next call to adapt().
For CpGrid, this currently always returns false, since only refinement (and no coarsening) is supported. A return value of false guarantees that the entity will still exist after adaptation.
| PartitionType Dune::cpgrid::Entity< codim >::partitionType | ( | ) | const |
In serial run, the only partitionType() is InteriorEntity.
Only needed when distributed_data_ is not empty. In parallel run, the entity each cell inherits the partition type of its origin (either parent cell or equivalent cell in level 0). Only needed when distributed_data_ is not empty.
|
inline |
| Codim< cc >::Entity Dune::cpgrid::Entity< codim >::subEntity | ( | int | i | ) | const |
Obtain subentity.
Example: If cc = 3 and i = 5, it returns the 5th corner/vertex of the entity.
|
inline |
Return marker object (GeometryType object) representing the reference element of the entity.
Currently, cube type for all entities (cells and vertices).
|
staticconstexpr |