Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
hp2D::TraceSpace Class Reference

Builds the trace space of an FE space. More...

#include <traces.hh>

Inheritance diagram for hp2D::TraceSpace:
Inheritance graph
[legend]
Collaboration diagram for hp2D::TraceSpace:
Collaboration graph
[legend]

List of all members.

Public Types

typedef concepts::Scan
< hp1D::Element< Real > > 
Scan
typedef Scan< ElementWithCell
< Real > > 
Scanner
enum  traceTypes { FIRST, MEAN, JUMP }
typedef
concepts::ElementAndFacette
< hp2D::Element< Real > > 
UnderlyingElement

Public Member Functions

virtual uint dim () const
 Returns the dimension of the space.
virtual uint nelm () const
 Returns the number of elements in the space.
virtual void recomputeShapefunctions ()
 Recompute shape functions, e.g.
virtual Scanscan () const
 Returns a scanner to iterate over the elements of the space.
 TraceSpace (concepts::SpaceOnCells< Real > &spc, const concepts::CellConditions *cc=0, enum traceTypes type=FIRST)
 Constructor.
 TraceSpace (const concepts::SpaceOnCells< Real > &spc, const concepts::Set< uint > edgeAttr, enum traceTypes type=FIRST)
 Constructor.
 TraceSpace (const concepts::SpaceOnCells< Real > &spc, const concepts::CellConditions *cc=0, enum traceTypes type=FIRST)
const concepts::Sequence
< UnderlyingElement
uelm (const concepts::Edge edge) const
 Returns the underlying 2D elements.
const concepts::HashMap
< concepts::Sequence
< UnderlyingElement > > 
uelm () const
 Returns the mapping from the key of (topological) edge to the underlying 2D elements.
virtual ~TraceSpace ()

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Private Member Functions

template<class F >
bool build_ (const Quad< Real > *elm, F condition)
 Builds elements for the edges w.r.t.
void constructType_ (enum traceTypes type)
template<class F >
void test_ (const concepts::ElementWithCell< Real > &elm, F condition)
 Test if not implemented elements have edges w.r.t.

Private Attributes

const uint dim_
 Dimension of the FE space.
concepts::HashMap
< hp1D::Element< Real > * > 
edges_
 Map from key of (topological) edge to the element.
concepts::Joiner
< hp1D::Element< Real > *, 1 > * 
elm_
 Linked list of the elements.
uint nelm_
 Number of elements currently active in the mesh.
std::auto_ptr< QuadEdgeBasequadEdge_
concepts::HashMap
< concepts::Sequence
< UnderlyingElement > > 
uelm_
 Map from key of (topological) edge to the underlying 2D elements.
bool warn_edgeBuildMissElem_

Detailed Description

Builds the trace space of an FE space.

The elements are from type hp2D::Edge.

One can restrict the trace operation by cell conditions.

If the FE space is rebuild, one has to construct the trace space again.

Additonally a map from the topological edge to the set of the underlying elements is stored.

Author:
Kersten Schmidt, 2007
Examples:

BGT_0.cc, exactDtN.cc, inhomDirichletBCsLagrange.cc, inhomNeumannBCs.cc, and RobinBCs.cc.

Definition at line 44 of file traces.hh.


Member Typedef Documentation

Definition at line 46 of file traces.hh.

typedef Scan<ElementWithCell<Real > > concepts::SpaceOnCells< Real >::Scanner [inherited]

Reimplemented from concepts::Space< Real >.

Reimplemented in linDG3D::FvdgSpace.

Definition at line 74 of file space.hh.

Definition at line 47 of file traces.hh.


Member Enumeration Documentation

Enumerator:
FIRST 
MEAN 
JUMP 

Definition at line 49 of file traces.hh.


Constructor & Destructor Documentation

hp2D::TraceSpace::TraceSpace ( const concepts::SpaceOnCells< Real > &  spc,
const concepts::Set< uint >  edgeAttr,
enum traceTypes  type = FIRST 
)

Constructor.

Parameters:
spcunderlying space
edgeAttrset of edge attributes
hp2D::TraceSpace::TraceSpace ( concepts::SpaceOnCells< Real > &  spc,
const concepts::CellConditions cc = 0,
enum traceTypes  type = FIRST 
)

Constructor.

Parameters:
spcunderlying space
ccbuild trace space w.r.t. cell conditions

If no cell conditions are given, the trace to all edges in the mesh is taken.

hp2D::TraceSpace::TraceSpace ( const concepts::SpaceOnCells< Real > &  spc,
const concepts::CellConditions cc = 0,
enum traceTypes  type = FIRST 
)
virtual hp2D::TraceSpace::~TraceSpace ( ) [virtual]

Member Function Documentation

template<class F >
bool hp2D::TraceSpace::build_ ( const Quad< Real > *  elm,
condition 
) [private]

Builds elements for the edges w.r.t.

to condition of the element elm, if it is a hp2D::Quad.

void hp2D::TraceSpace::constructType_ ( enum traceTypes  type) [private]
virtual uint hp2D::TraceSpace::dim ( ) const [inline, virtual]

Returns the dimension of the space.

Implements concepts::Space< Real >.

Definition at line 79 of file traces.hh.

virtual std::ostream& hp2D::TraceSpace::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::SpaceOnCells< Real >.

virtual uint hp2D::TraceSpace::nelm ( ) const [inline, virtual]

Returns the number of elements in the space.

Implements concepts::Space< Real >.

Definition at line 82 of file traces.hh.

virtual void hp2D::TraceSpace::recomputeShapefunctions ( ) [virtual]

Recompute shape functions, e.g.

for other abscissas redefined through setIntegrationRule

virtual Scan* hp2D::TraceSpace::scan ( ) const [inline, virtual]

Returns a scanner to iterate over the elements of the space.

Implements concepts::SpaceOnCells< Real >.

Examples:
inhomDirichletBCsLagrange.cc.

Definition at line 85 of file traces.hh.

template<class F >
void hp2D::TraceSpace::test_ ( const concepts::ElementWithCell< Real > &  elm,
condition 
) [private]

Test if not implemented elements have edges w.r.t.

to condition and throws an exception in that case.

const concepts::Sequence<UnderlyingElement> hp2D::TraceSpace::uelm ( const concepts::Edge  edge) const [inline]

Returns the underlying 2D elements.

Definition at line 91 of file traces.hh.

Here is the call graph for this function:

const concepts::HashMap<concepts::Sequence<UnderlyingElement> > hp2D::TraceSpace::uelm ( ) const [inline]

Returns the mapping from the key of (topological) edge to the underlying 2D elements.

Definition at line 103 of file traces.hh.


Member Data Documentation

const uint hp2D::TraceSpace::dim_ [private]

Dimension of the FE space.

Definition at line 115 of file traces.hh.

Map from key of (topological) edge to the element.

Definition at line 127 of file traces.hh.

Linked list of the elements.

Definition at line 121 of file traces.hh.

uint hp2D::TraceSpace::nelm_ [private]

Number of elements currently active in the mesh.

Definition at line 118 of file traces.hh.

std::auto_ptr<QuadEdgeBase> hp2D::TraceSpace::quadEdge_ [private]

Definition at line 129 of file traces.hh.

Map from key of (topological) edge to the underlying 2D elements.

Definition at line 124 of file traces.hh.

Definition at line 131 of file traces.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)