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

#include <bf_advection.hh>

Public Member Functions

const uint edgeP (const uint i) const
 
void edgeP (const uint i, const uint &p)
 Set polynomial degree of edge i to p. More...
 
virtual const concepts::ElementGraphics< F > * graphics () const
 
 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])
 
virtual ~Quad ()
 

Protected Member Functions

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

Private Attributes

const uint * edges_ [4]
 Polynomial degree of edges. More...
 

Static Private Attributes

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

Detailed Description

template<class F = Real>
class hp2D::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 44 of file bf_advection.hh.

Constructor & Destructor Documentation

◆ Quad()

template<class F = Real>
hp2D::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)
T0Part of the T matrix
T1Part of the T matrix

◆ ~Quad()

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

Member Function Documentation

◆ edgeP() [1/2]

template<class F = Real>
const uint hp2D::Quad< F >::edgeP ( const uint  i) const
inline

Definition at line 296 of file quad.hh.

◆ edgeP() [2/2]

template<class F = Real>
void hp2D::Quad< F >::edgeP ( const uint  i,
const uint &  p 
)
inline

Set polynomial degree of edge i to p.

Definition at line 293 of file quad.hh.

◆ graphics()

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

◆ info()

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

◆ recomputeShapefunctions() [1/2]

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

Recompute shape functions, e.g.

for other abscissas redefined through setIntegrationRule

◆ recomputeShapefunctions() [2/2]

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

Member Data Documentation

◆ edges_

template<class F = Real>
const uint* hp2D::Quad< F >::edges_[4]
private

Polynomial degree of edges.

Definition at line 307 of file quad.hh.

◆ graphics_

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

Appropiate element graphics object.

Definition at line 305 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