#include <gridInfo.hh>
Public Types | |
enum | Type { regular = 0 , cIrregular = 1 , sIrregular = 2 } |
typedef concepts::ElementAndFacette< hp2D::Element< F > > | UnderlyingElement |
typedef concepts::HashMap< concepts::Sequence< UnderlyingElement > > | EdgeToElms |
typedef concepts::HashMap< concepts::Sequence< uint > > | CoarseToSuccessor |
Public Member Functions | |
GridInfo (const concepts::SpaceOnCells< F > &spc, const concepts::Set< uint > &edgeAttr) | |
const EdgeToElms & | get (Type type) const |
const CoarseToSuccessor & | get () const |
const concepts::Set< uint > & | attribute () const |
Returns the setted attributes. | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
Class that represents grid information of a given 2d Fem space.
The class stores mappings from edges to underlying elements of the Fem space.
Class works on spaces with hanging nodes, i.e. k-irregular grids.
If a edge is regular there are at most 2 underlying elements. If a edge is irregular it has only 1 underlying element.
Addition for coarse irregular edges a mapping to keys of succussor irregular edges is stores.
This class e.g. applicates for Tracespaces in hp2D package.
Definition at line 42 of file gridInfo.hh.
typedef concepts::HashMap<concepts::Sequence<uint> > hp2D::GridInfo< F >::CoarseToSuccessor |
Definition at line 46 of file gridInfo.hh.
typedef concepts::HashMap<concepts::Sequence<UnderlyingElement> > hp2D::GridInfo< F >::EdgeToElms |
Definition at line 45 of file gridInfo.hh.
typedef concepts::ElementAndFacette<hp2D::Element<F> > hp2D::GridInfo< F >::UnderlyingElement |
Definition at line 44 of file gridInfo.hh.
enum hp2D::GridInfo::Type |
Enumeration for type of grid edges regular = a regular edge, edge with two neighbouring cells, boundary edge, edge with only one active adjacent element. cIrregular = coarse irregular edge, that has successor edges that are irregular sIrregular = small irregular edge, that are successors of a coarse irregular edge. These edges have two adjacent elements, where that edge is edge of exactly of the two adjacent elements, i.e. elements have different level (size).
Definition at line 59 of file gridInfo.hh.
hp2D::GridInfo< F >::GridInfo | ( | const concepts::SpaceOnCells< F > & | spc, |
const concepts::Set< uint > & | edgeAttr | ||
) |
Constructor
spc | a Space providing hp2D::Quad Elements |
edgeAttr | attributes of edges to be considered |
const CoarseToSuccessor & hp2D::GridInfo< F >::get | ( | ) | const |
Returns a map from coarse irregular edges to sequence of keys, that represent successor (small irregular) edges in order.
const EdgeToElms & hp2D::GridInfo< F >::get | ( | Type | type | ) | const |
Returns a map from requested edge keys to underlying elements. Here the type of edge is specified by input type
.
type | specification for regular, coarse/successor irregular edge map |
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.