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

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

Element on an edge representing the normal derivative of neighbouring elements, especially their mean or jump. More...

#include <neumannTrace.hh>

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

List of all members.

Classes

class  ShapeFunction

Public Types

enum  intFormType { ZERO, ONE, TWO, THREE }
 Integration form, which determines terms coming from integration over reference element. More...
typedef F type
typedef
concepts::ElementAndFacette
< hp2D::Element< F > > 
UnderlyingElement

Public Member Functions

void addElement (const hp2D::Quad< Real > &quad, uint k, Real weight=1.0)
 Adds the contribution to the Neumann trace from the element on one of the (at most two) sides.
virtual const concepts::EdgeNdcell () const
 Returns the cell on which the element is built.
const concepts::Real3d chi (const Real x) const
 Computes the element map.
Real3d elemMap (const Real coord_local) const
Real3d elemMap (const Real2d &coord_local) const
Real3d elemMap (const Real3d &coord_local) const
virtual const ElementGraphics
< F > * 
graphics () const
const concepts::QuadratureRuleintegration () const
 Returns the integration rule.
Real jacobianDeterminant (const Real x) const
 Computes the determinant of the Jacobian.
 NeumannTraceElement (const concepts::Edge2d &cell)
 Constructor.
virtual bool quadraturePoint (uint i, intPoint &p, intFormType form=ZERO, bool localCoord=false) const
 Delivers a quadrature point.
void recomputeShapefunctions ()
 Recompute shape functions, e.g.
const
concepts::ShapeFunction1D
< Real > * 
shpfct () const
 Returns the shape functions.
const
concepts::ShapeFunction1D
< Real > * 
shpfctD () const
 Returns the derivatives of the shape functions.
virtual const concepts::Edgesupport () const
virtual const
vectorial::TMatrix< F > & 
T () const
 Returns the T matrix of the element.
uint & tag ()
 Returns the tag.
virtual concepts::Real3d vertex (uint i) const
virtual ~NeumannTraceElement ()

Static Public Member Functions

static concepts::QuadRuleFactoryrule ()
 Access to the quadrature rule, which is valid for all elements of this type (hp1D::IntegrableElm).

Protected Member Functions

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

Protected Attributes

std::auto_ptr
< concepts::QuadratureRule
int_
 The integration rule.
vectorial::TMatrix< Real > T_
 T matrix of the element.

Static Protected Attributes

static concepts::QuadRuleFactory rule_

Private Attributes

const concepts::Edge2dcell_
 The cell.
concepts::Sequence< uint > dim_
 Local number of shape functions coming from one side.
concepts::Sequence< uint > p_
 Polynomial degree along the edge for each side.
std::auto_ptr
< concepts::ShapeFunction1D
< Real > > 
shpfct_
 The shape functions, precomputed on quadrature points.
std::auto_ptr
< concepts::ShapeFunction1D
< Real > > 
shpfctD_
 The derivatives of the shape functions.
concepts::Sequence
< UnderlyingElement
uelm_
concepts::Array< Real > values_
 The actual storage of the values of the shape functions and their derivatives along the edge.
concepts::Array< Real > valuesD_
concepts::Sequence< Real > weights_
 Weight for each side.

Detailed Description

template<class F = Real>
class hp2D::NeumannTraceElement< F >

Element on an edge representing the normal derivative of neighbouring elements, especially their mean or jump.

The number of shape functions are the sum of the number of shape functions of the two neighbouring 2D elements.

Author:
Kersten Schmidt, 2010

Definition at line 38 of file neumannTrace.hh.


Member Typedef Documentation

template<class F>
typedef F concepts::Element< F >::type [inherited]

Definition at line 53 of file element.hh.

Definition at line 41 of file neumannTrace.hh.


Member Enumeration Documentation

Integration form, which determines terms coming from integration over reference element.

Enumerator:
ZERO 
ONE 
TWO 
THREE 

Definition at line 27 of file integral.hh.


Constructor & Destructor Documentation

template<class F = Real>
hp2D::NeumannTraceElement< F >::NeumannTraceElement ( const concepts::Edge2d cell)

Constructor.

Creates the Neumann trace from the element on one side.

template<class F = Real>
virtual hp2D::NeumannTraceElement< F >::~NeumannTraceElement ( ) [virtual]

Member Function Documentation

template<class F = Real>
void hp2D::NeumannTraceElement< F >::addElement ( const hp2D::Quad< Real > &  quad,
uint  k,
Real  weight = 1.0 
)

Adds the contribution to the Neumann trace from the element on one of the (at most two) sides.

template<class F = Real>
virtual const concepts::EdgeNd& hp2D::NeumannTraceElement< F >::cell ( ) const [inline, virtual]

Returns the cell on which the element is built.

Implements concepts::ElementWithCell< F >.

Definition at line 73 of file neumannTrace.hh.

const concepts::Real3d hp1D::IntegrableElm::chi ( const Real  x) const [inline, inherited]

Computes the element map.

The reference element is [0,1].

Definition at line 32 of file element.hh.

Here is the call graph for this function:

template<typename F>
Real3d concepts::ElementWithCell< F >::elemMap ( const Real  coord_local) const [inline, inherited]

Definition at line 83 of file element.hh.

template<typename F>
Real3d concepts::ElementWithCell< F >::elemMap ( const Real2d coord_local) const [inline, inherited]

Definition at line 87 of file element.hh.

template<typename F>
Real3d concepts::ElementWithCell< F >::elemMap ( const Real3d coord_local) const [inline, inherited]

Definition at line 91 of file element.hh.

template<class F>
virtual const ElementGraphics<F>* concepts::Element< F >::graphics ( ) const [inline, virtual, inherited]
template<class F = Real>
virtual std::ostream& hp2D::NeumannTraceElement< F >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

const concepts::QuadratureRule* hp1D::IntegrableElm::integration ( ) const [inline, inherited]

Returns the integration rule.

Definition at line 41 of file element.hh.

Real hp1D::IntegrableElm::jacobianDeterminant ( const Real  x) const [inline, inherited]

Computes the determinant of the Jacobian.

Definition at line 35 of file element.hh.

Here is the call graph for this function:

virtual bool hp1D::IntegrableElm::quadraturePoint ( uint  i,
intPoint p,
intFormType  form = ZERO,
bool  localCoord = false 
) const [virtual, inherited]

Delivers a quadrature point.

Quadrature point consists of coordinates (for evaluation of formulas) and intermediate data, consisting of the weight and term coming from mapping.

Returns false, if the number of quadrature points is overstepped.

Parameters:
inumber of quadrature point
intPointdata given back
formIntegration form
localCoordIf true, local coordinates are returned. Else physical coordinates.

Implements concepts::IntegrationCell.

template<class F = Real>
void hp2D::NeumannTraceElement< F >::recomputeShapefunctions ( )

Recompute shape functions, e.g.

for other abscissas redefined through IntegrableElm::rule().set(...)

static concepts::QuadRuleFactory& hp1D::IntegrableElm::rule ( ) [inline, static, inherited]

Access to the quadrature rule, which is valid for all elements of this type (hp1D::IntegrableElm).

Change of the quadrature rule is put into practice for newly created elements and for already created elements by precomputing the integration points and shape functions on them.

Definition at line 52 of file element.hh.

template<class F = Real>
const concepts::ShapeFunction1D<Real>* hp2D::NeumannTraceElement< F >::shpfct ( ) const [inline]

Returns the shape functions.

Definition at line 83 of file neumannTrace.hh.

template<class F = Real>
const concepts::ShapeFunction1D<Real>* hp2D::NeumannTraceElement< F >::shpfctD ( ) const [inline]

Returns the derivatives of the shape functions.

TODO: implementation.

Definition at line 89 of file neumannTrace.hh.

template<class F = Real>
virtual const concepts::Edge& hp2D::NeumannTraceElement< F >::support ( ) const [inline, virtual]

Definition at line 70 of file neumannTrace.hh.

Here is the call graph for this function:

template<class F = Real>
virtual const vectorial::TMatrix<F>& hp2D::NeumannTraceElement< F >::T ( ) const [inline, virtual]

Returns the T matrix of the element.

Implements concepts::Element< F >.

Definition at line 75 of file neumannTrace.hh.

template<class F>
uint& concepts::Element< F >::tag ( ) [inline, inherited]

Returns the tag.

Definition at line 65 of file element.hh.

template<class F = Real>
virtual concepts::Real3d hp2D::NeumannTraceElement< F >::vertex ( uint  i) const [virtual]

Member Data Documentation

template<class F = Real>
const concepts::Edge2d& hp2D::NeumannTraceElement< F >::cell_ [private]

The cell.

Reimplemented from hp1D::IntegrableElm.

Definition at line 107 of file neumannTrace.hh.

template<class F = Real>
concepts::Sequence<uint> hp2D::NeumannTraceElement< F >::dim_ [private]

Local number of shape functions coming from one side.

Definition at line 120 of file neumannTrace.hh.

std::auto_ptr<concepts::QuadratureRule> hp1D::IntegrableElm::int_ [protected, inherited]

The integration rule.

Definition at line 61 of file element.hh.

template<class F = Real>
concepts::Sequence<uint> hp2D::NeumannTraceElement< F >::p_ [private]

Polynomial degree along the edge for each side.

Definition at line 122 of file neumannTrace.hh.

concepts::QuadRuleFactory hp1D::IntegrableElm::rule_ [static, protected, inherited]

Definition at line 63 of file element.hh.

template<class F = Real>
std::auto_ptr<concepts::ShapeFunction1D<Real> > hp2D::NeumannTraceElement< F >::shpfct_ [private]

The shape functions, precomputed on quadrature points.

Definition at line 112 of file neumannTrace.hh.

template<class F = Real>
std::auto_ptr<concepts::ShapeFunction1D<Real> > hp2D::NeumannTraceElement< F >::shpfctD_ [private]

The derivatives of the shape functions.

Definition at line 114 of file neumannTrace.hh.

template<class F = Real>
vectorial::TMatrix<Real> hp2D::NeumannTraceElement< F >::T_ [protected]

T matrix of the element.

Definition at line 104 of file neumannTrace.hh.

template<class F = Real>
concepts::Sequence<UnderlyingElement> hp2D::NeumannTraceElement< F >::uelm_ [private]

Definition at line 109 of file neumannTrace.hh.

template<class F = Real>
concepts::Array<Real> hp2D::NeumannTraceElement< F >::values_ [private]

The actual storage of the values of the shape functions and their derivatives along the edge.

Definition at line 118 of file neumannTrace.hh.

template<class F = Real>
concepts::Array<Real> hp2D::NeumannTraceElement< F >::valuesD_ [private]

Definition at line 118 of file neumannTrace.hh.

template<class F = Real>
concepts::Sequence<Real> hp2D::NeumannTraceElement< F >::weights_ [private]

Weight for each side.

Definition at line 124 of file neumannTrace.hh.


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

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