An edge of a 2D FEM edge element quad. More...

#include <bf_graduv.hh>

Public Member Functions

concepts::Real2d chi (const Real t) const
 Computes the element map. More...
 
Real diffElement (const Real t) const
 Computes the differential element for integration over [-1,1]. More...
 
const ushort direction () const
 Returns direction of edge on reference quad [0,1]^2, 0 - x, 1 - y. More...
 
const ushort edge () const
 Returns number of the edge. More...
 
 Edge (const Quad< F > &elm, const ushort k)
 Constructor. More...
 
const Quad< F > & elm () const
 Returns element. More...
 
const concepts::QuadratureRule1dintegration () const
 Returns the integration rule. More...
 
concepts::MapReal2d jacobian (const Real t) const
 Computes the Jacobian matrix of element transformation on the edge. More...
 
Real jacobianDeterminant (const Real t) const
 Computes the determinant of the Jacobian. More...
 
concepts::MapReal2d jacobianInverse (const Real t) const
 Computes the inverse of the Jacobian. More...
 
concepts::Real2d localCoords (const Real t) const
 coordinate of point on the edge inside reference element [0,1]^2 More...
 
const hp2D::KarniadakisDeriv2shpfct () const
 
const Real sign () const
 Returns sign of outer normal vector, e.g. left edge -1, right edge +1. More...
 
virtual const concepts::Edgesupport () const
 
virtual const concepts::TMatrixBase< F > & T () const
 T-Matrix of the appropiate Quad, not used. More...
 
concepts::Real2d vertex (uint i) const
 
virtual ~Edge ()
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 

Private Attributes

const Quad< F > & elm_
 The element. More...
 
const concepts::QuadratureRule1dint_
 The integration rule. More...
 
const ushort k_
 The number of the edge. More...
 
const ushort l_
 Direction of edge on reference element, 0 - x, 1 - y. More...
 
const hp2D::KarniadakisDeriv2shpfct_
 The shape functions. More...
 
const concepts::TMatrixBase< F > * T_
 T matrix from edge dof to element dof. More...
 
concepts::Real x_
 Local coordinate on the element, perpendicular to edge, e.g. More...
 

Detailed Description

template<class F = Real>
class hp2Dedge::Edge< F >

An edge of a 2D FEM edge element quad.

Useful for integration over the edge, in a bilinearform or linearform. E.g. hp2Dedge::Dirichlet need it to calculate the local coefficients.

Definition at line 47 of file bf_graduv.hh.

Constructor & Destructor Documentation

◆ Edge()

template<class F = Real>
hp2Dedge::Edge< F >::Edge ( const Quad< F > &  elm,
const ushort  k 
)

Constructor.

Parameters
elmelement, on which the edge lies
knumber of edge, 0 - left, 1 - upper, 2 - right, 3 - bottom

◆ ~Edge()

template<class F = Real>
virtual hp2Dedge::Edge< F >::~Edge ( )
virtual

Member Function Documentation

◆ chi()

template<class F = Real>
concepts::Real2d hp2Dedge::Edge< F >::chi ( const Real  t) const
inline

Computes the element map.

The reference element is [0,1]

Definition at line 232 of file quad.hh.

◆ diffElement()

template<class F = Real>
Real hp2Dedge::Edge< F >::diffElement ( const Real  t) const
inline

Computes the differential element for integration over [-1,1].

Definition at line 260 of file quad.hh.

◆ direction()

template<class F = Real>
const ushort hp2Dedge::Edge< F >::direction ( ) const
inline

Returns direction of edge on reference quad [0,1]^2, 0 - x, 1 - y.

Definition at line 197 of file quad.hh.

◆ edge()

template<class F = Real>
const ushort hp2Dedge::Edge< F >::edge ( ) const
inline

Returns number of the edge.

Definition at line 185 of file quad.hh.

◆ elm()

template<class F = Real>
const Quad<F>& hp2Dedge::Edge< F >::elm ( ) const
inline

Returns element.

Definition at line 191 of file quad.hh.

◆ info()

template<class F = Real>
virtual std::ostream& hp2Dedge::Edge< F >::info ( std::ostream &  os) const
protectedvirtual

◆ integration()

template<class F = Real>
const concepts::QuadratureRule1d* hp2Dedge::Edge< F >::integration ( ) const
inline

Returns the integration rule.

Definition at line 216 of file quad.hh.

◆ jacobian()

template<class F = Real>
concepts::MapReal2d hp2Dedge::Edge< F >::jacobian ( const Real  t) const
inline

Computes the Jacobian matrix of element transformation on the edge.

Definition at line 241 of file quad.hh.

◆ jacobianDeterminant()

template<class F = Real>
Real hp2Dedge::Edge< F >::jacobianDeterminant ( const Real  t) const
inline

Computes the determinant of the Jacobian.

Definition at line 254 of file quad.hh.

◆ jacobianInverse()

template<class F = Real>
concepts::MapReal2d hp2Dedge::Edge< F >::jacobianInverse ( const Real  t) const
inline

Computes the inverse of the Jacobian.

Definition at line 248 of file quad.hh.

◆ localCoords()

template<class F = Real>
concepts::Real2d hp2Dedge::Edge< F >::localCoords ( const Real  t) const
inline

coordinate of point on the edge inside reference element [0,1]^2

Definition at line 222 of file quad.hh.

◆ shpfct()

template<class F = Real>
const hp2D::KarniadakisDeriv2* hp2Dedge::Edge< F >::shpfct ( ) const
inline

Definition at line 211 of file quad.hh.

◆ sign()

template<class F = Real>
const Real hp2Dedge::Edge< F >::sign ( ) const
inline

Returns sign of outer normal vector, e.g. left edge -1, right edge +1.

Definition at line 203 of file quad.hh.

◆ support()

template<class F = Real>
virtual const concepts::Edge& hp2Dedge::Edge< F >::support ( ) const
inlinevirtual

Definition at line 179 of file quad.hh.

◆ T()

template<class F = Real>
virtual const concepts::TMatrixBase<F>& hp2Dedge::Edge< F >::T ( ) const
inlinevirtual

T-Matrix of the appropiate Quad, not used.

Definition at line 268 of file quad.hh.

◆ vertex()

template<class F = Real>
concepts::Real2d hp2Dedge::Edge< F >::vertex ( uint  i) const
inline

Definition at line 173 of file quad.hh.

Member Data Documentation

◆ elm_

template<class F = Real>
const Quad<F>& hp2Dedge::Edge< F >::elm_
private

The element.

Definition at line 276 of file quad.hh.

◆ int_

template<class F = Real>
const concepts::QuadratureRule1d* hp2Dedge::Edge< F >::int_
private

The integration rule.

Definition at line 288 of file quad.hh.

◆ k_

template<class F = Real>
const ushort hp2Dedge::Edge< F >::k_
private

The number of the edge.

Definition at line 278 of file quad.hh.

◆ l_

template<class F = Real>
const ushort hp2Dedge::Edge< F >::l_
private

Direction of edge on reference element, 0 - x, 1 - y.

Definition at line 280 of file quad.hh.

◆ shpfct_

template<class F = Real>
const hp2D::KarniadakisDeriv2* hp2Dedge::Edge< F >::shpfct_
private

The shape functions.

Definition at line 286 of file quad.hh.

◆ T_

template<class F = Real>
const concepts::TMatrixBase<F>* hp2Dedge::Edge< F >::T_
private

T matrix from edge dof to element dof.

Definition at line 290 of file quad.hh.

◆ x_

template<class F = Real>
concepts::Real hp2Dedge::Edge< F >::x_
private

Local coordinate on the element, perpendicular to edge, e.g.

on left x_ = 0

Definition at line 284 of file quad.hh.


The documentation for this class was generated from the following files:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich