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

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
hp2D::H1Extension< F > Class Template Reference

Continuous extension of a formula on edges, e.g. More...

#include <formula.hh>

Inheritance diagram for hp2D::H1Extension< F >:
Inheritance graph
[legend]
Collaboration diagram for hp2D::H1Extension< F >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef F value_type

Public Member Functions

virtual H1Extension< F > * clone () const
 Virtual copy constructor.
 H1Extension (const concepts::ElementFormula< F > &frm, const concepts::Set< concepts::Attribute > attributes)
 Constructor.
 H1Extension (const concepts::ElementFormula< F > &frm)
 Constructor for extension from formula on edges.
virtual F operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real p, const Real t=0.0) const =0
 Evaluates the formula.
virtual F operator() (const concepts::ElementWithCell< Real > &elm, const concepts::Real3d &p, const Real t=0.0) const
virtual F operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const =0
virtual F operator() (const concepts::ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
virtual F operator() (const concepts::ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
virtual F operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const =0
virtual ~H1Extension ()

Protected Member Functions

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

Private Member Functions

void clear_ () const
 Clear the temporary information (elmEdges_, cellEdges_).
bool compute_ (const hp2D::Quad< Real > *quad, const Real2d &p, const Real t, F &val) const

Private Attributes

const concepts::Set
< concepts::Attribute
attributes_
 Attributes of the cells taken into account.
concepts::Sequence
< concepts::Edge2d * > 
cellEdges_
 List of the generated cells on the edges.
concepts::HashMap< const
concepts::Edge * > 
edges_
 The last used edges.
const
concepts::ElementWithCell
< Real > * 
elm_
 The last used element.
concepts::Array
< concepts::ElementWithCell
< Real > * > 
elmEdges_
 The last used elements on the edges of elm_.
std::auto_ptr< const
concepts::ElementFormula< F > > 
frm_
 The formula on the edges.
concepts::HashMap< F > vtxValues_
 Values on the vertices.

Detailed Description

template<class F>
class hp2D::H1Extension< F >

Continuous extension of a formula on edges, e.g.

boundary or interface edges, to the interior.

The user has to ensure, that the data on the edges is given continuously. The name H1Extension is not fully appropiate, since the data on the edges could be continuous given, but need not be in

\[H^{1/2}(\Gamma)\]

.

Author:
Kersten Schmidt, 2007

Definition at line 64 of file formula.hh.


Member Typedef Documentation

typedef F concepts::ElementFormula< F, typename Realtype<F>::type >::value_type [inherited]

Definition at line 31 of file elementFormula.hh.


Constructor & Destructor Documentation

template<class F>
hp2D::H1Extension< F >::H1Extension ( const concepts::ElementFormula< F > &  frm)

Constructor for extension from formula on edges.

Example of such an (element) formula is a the Dirichlet data.

Extension is continuous, if the mesh has no hanging nodes in the first layer around the edges of the given formula.

Parameters:
frmelement formula on edges (hp2D::Edge)
See also:
hp2D::TraceSpace
concepts::DirichletElementFormula
concepts::ElementFormulaVector
template<class F>
hp2D::H1Extension< F >::H1Extension ( const concepts::ElementFormula< F > &  frm,
const concepts::Set< concepts::Attribute attributes 
)

Constructor.

Parameters:
frmelement formula on edges (hp2D::Edge)
attributesattributes of the cells taken into account
template<class F>
virtual hp2D::H1Extension< F >::~H1Extension ( ) [virtual]

Member Function Documentation

template<class F>
void hp2D::H1Extension< F >::clear_ ( ) const [private]

Clear the temporary information (elmEdges_, cellEdges_).

template<class F>
virtual H1Extension<F>* hp2D::H1Extension< F >::clone ( ) const [inline, virtual]

Virtual copy constructor.

Implements concepts::ElementFormula< F >.

Definition at line 98 of file formula.hh.

template<class F>
bool hp2D::H1Extension< F >::compute_ ( const hp2D::Quad< Real > *  quad,
const Real2d &  p,
const Real  t,
F &  val 
) const [private]
template<class F>
virtual std::ostream& hp2D::H1Extension< F >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

virtual F concepts::ElementFormula< F, typename Realtype<F>::type >::operator() ( const ElementWithCell< typename Realtype<F>::type > &  elm,
const Real3d p,
const Real  t = 0.0 
) const [pure virtual, inherited]
template<class F>
virtual F hp2D::H1Extension< F >::operator() ( const concepts::ElementWithCell< Real > &  elm,
const concepts::Real3d p,
const Real  t = 0.0 
) const [virtual]
template<class F>
virtual F hp2D::H1Extension< F >::operator() ( const concepts::ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const [virtual]
template<class F>
virtual F hp2D::H1Extension< F >::operator() ( const concepts::ElementWithCell< Real > &  elm,
const Real2d &  p,
const Real  t = 0.0 
) const [virtual]
virtual F concepts::ElementFormula< F, typename Realtype<F>::type >::operator() ( const ElementWithCell< typename Realtype<F>::type > &  elm,
const Real2d p,
const Real  t = 0.0 
) const [pure virtual, inherited]
virtual F concepts::ElementFormula< F, typename Realtype<F>::type >::operator() ( const ElementWithCell< typename Realtype<F>::type > &  elm,
const Real  p,
const Real  t = 0.0 
) const [pure virtual, inherited]

Evaluates the formula.

Parameters:
elmElement
pPoint in space in local element coordinates
tPoint in time

Member Data Documentation

template<class F>
const concepts::Set<concepts::Attribute> hp2D::H1Extension< F >::attributes_ [private]

Attributes of the cells taken into account.

No attributes means, that all cells are taken.

Definition at line 109 of file formula.hh.

template<class F>
concepts::Sequence<concepts::Edge2d*> hp2D::H1Extension< F >::cellEdges_ [mutable, private]

List of the generated cells on the edges.

Definition at line 115 of file formula.hh.

template<class F>
concepts::HashMap<const concepts::Edge*> hp2D::H1Extension< F >::edges_ [mutable, private]

The last used edges.

Definition at line 117 of file formula.hh.

template<class F>
const concepts::ElementWithCell<Real>* hp2D::H1Extension< F >::elm_ [mutable, private]

The last used element.

Definition at line 111 of file formula.hh.

template<class F>
concepts::Array<concepts::ElementWithCell<Real>*> hp2D::H1Extension< F >::elmEdges_ [mutable, private]

The last used elements on the edges of elm_.

Definition at line 113 of file formula.hh.

template<class F>
std::auto_ptr<const concepts::ElementFormula<F> > hp2D::H1Extension< F >::frm_ [private]

The formula on the edges.

Definition at line 105 of file formula.hh.

template<class F>
concepts::HashMap<F> hp2D::H1Extension< F >::vtxValues_ [mutable, private]

Values on the vertices.

Definition at line 119 of file formula.hh.


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

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