A 2D FEM element: a quad. More...

#include <quad.hh>

Inheritance diagram for hp2D::l2::Quad< F >:
hp2D::BaseQuad< Real > hp2D::l2::QuadShapeFunctions

Public Member Functions

virtual const concepts::QuadNdcell () const
 
virtual const concepts::ElementGraphics< F > * graphics () const
 
virtual const concepts::ElementGraphics< Real > * graphics () const=0
 Returns element graphics class. More...
 
const ushort * p () const
 Returns the polynomial degree. More...
 
 Quad (concepts::QuadNd &cell, const ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1)
 Constructor. More...
 
void recomputeShapefunctions ()
 Recompute shape functions, e.g. More...
 
void recomputeShapefunctions (const uint nq[2])
 
const KarniadakisDeriv2shpfctX () const
 Returns the shape functions in x direction. More...
 
const KarniadakisDeriv2shpfctY () const
 Returns the shape functions in y direction. More...
 
virtual const concepts::Quadsupport () const
 
virtual concepts::Real3d vertex (uint i) const
 
virtual ~Quad ()
 

Protected Member Functions

void computeShapefunctions_ (const concepts::QuadratureRule2d *intRule)
 gets the shapefunctions, used in both constructors More...
 
virtual std::ostream & info (std::ostream &os) const
 

Private Attributes

ushort p_ [2]
 Polynomial degree. More...
 
std::unique_ptr< KarniadakisDeriv2shpfctX_
 The shape functions. More...
 
std::unique_ptr< KarniadakisDeriv2shpfctY_
 

Static Private Attributes

static std::unique_ptr< concepts::ElementGraphics< F > > graphics_
 Appropiate element graphics object. More...
 

Detailed Description

template<class F = Real>
class hp2D::l2::Quad< F >

A 2D FEM element: a quad.

The reference shape functions are products of the polynomials of Karniadakis and Sherwin. The index of the shape functions rises first over the polynomials in local x-direction.

Definition at line 595 of file quad.hh.

Constructor & Destructor Documentation

◆ Quad()

template<class F = Real>
hp2D::l2::Quad< F >::Quad ( concepts::QuadNd cell,
const ushort *  p,
concepts::TColumn< F > *  T0,
concepts::TColumn< F > *  T1 
)

Constructor.

Parameters
cellCell on which the element is defined
pPolynomial degree (might be anisotropic) take p = 1 for at most constant polynomials (shift according to deRham diagram)
T0Part of the T matrix
T1Part of the T matrix

◆ ~Quad()

template<class F = Real>
virtual hp2D::l2::Quad< F >::~Quad ( )
virtual

Member Function Documentation

◆ cell()

virtual const concepts::QuadNd& hp2D::BaseQuad< Real >::cell
inlinevirtualinherited

Definition at line 197 of file quad.hh.

◆ computeShapefunctions_()

void hp2D::l2::QuadShapeFunctions::computeShapefunctions_ ( const concepts::QuadratureRule2d intRule)
protectedinherited

gets the shapefunctions, used in both constructors

◆ graphics() [1/2]

template<class F = Real>
virtual const concepts::ElementGraphics<F>* hp2D::l2::Quad< F >::graphics ( ) const
virtual

◆ graphics() [2/2]

virtual const concepts::ElementGraphics<Real >* hp2D::BaseQuad< Real >::graphics
pure virtualinherited

Returns element graphics class.

◆ info()

template<class F = Real>
virtual std::ostream& hp2D::l2::Quad< F >::info ( std::ostream &  os) const
protectedvirtual

Reimplemented from hp2D::BaseQuad< Real >.

◆ p()

const ushort* hp2D::l2::QuadShapeFunctions::p ( ) const
inlineinherited

Returns the polynomial degree.

The returned array has 2 elements.

Definition at line 567 of file quad.hh.

◆ recomputeShapefunctions() [1/2]

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

Recompute shape functions, e.g.

for other abscissas redefined through setIntegrationRule

◆ recomputeShapefunctions() [2/2]

template<class F = Real>
void hp2D::l2::Quad< F >::recomputeShapefunctions ( const uint  nq[2])

◆ shpfctX()

const KarniadakisDeriv2* hp2D::l2::QuadShapeFunctions::shpfctX ( ) const
inlineinherited

Returns the shape functions in x direction.

Definition at line 570 of file quad.hh.

◆ shpfctY()

const KarniadakisDeriv2* hp2D::l2::QuadShapeFunctions::shpfctY ( ) const
inlineinherited

Returns the shape functions in y direction.

Definition at line 574 of file quad.hh.

◆ support()

virtual const concepts::Quad& hp2D::BaseQuad< Real >::support
inlinevirtualinherited

Definition at line 195 of file quad.hh.

◆ vertex()

virtual concepts::Real3d hp2D::BaseQuad< Real >::vertex ( uint  i) const
inlinevirtualinherited

Definition at line 196 of file quad.hh.

Member Data Documentation

◆ graphics_

template<class F = Real>
std::unique_ptr<concepts::ElementGraphics<F> > hp2D::l2::Quad< F >::graphics_
staticprivate

Appropiate element graphics object.

Definition at line 620 of file quad.hh.

◆ p_

ushort hp2D::l2::QuadShapeFunctions::p_[2]
privateinherited

Polynomial degree.

Definition at line 581 of file quad.hh.

◆ shpfctX_

std::unique_ptr<KarniadakisDeriv2 > hp2D::l2::QuadShapeFunctions::shpfctX_
privateinherited

The shape functions.

Definition at line 583 of file quad.hh.

◆ shpfctY_

std::unique_ptr<KarniadakisDeriv2 > hp2D::l2::QuadShapeFunctions::shpfctY_
privateinherited

Definition at line 583 of file quad.hh.


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