Class documentation of Concepts

Loading...
Searching...
No Matches

#include <quad.hh>

Inheritance diagram for hp2D::InfiniteQuad:
hp2D::Element< Real > concepts::ElementWithCell< F > concepts::Element< F > concepts::OutputOperator hp2D::InfiniteLaguerreQuad

Public Types

typedef F type
 

Public Member Functions

 InfiniteQuad (concepts::InfiniteQuad2d &cell, const ushort *p, concepts::TColumn< Real > *T0, concepts::TColumn< Real > *T1)
 
const concepts::Connector2support () const
 
concepts::Real3d vertex (uint i) const
 
const concepts::InfiniteQuad2dcell () const
 Returns the cell on which the element is built.
 
const ushort * p () const
 
const concepts::QuadratureRule1dintegrationX () const
 Returns the integration rule in x direction.
 
const concepts::QuadratureRule1dintegrationY () const
 Returns the integration rule in y direction.
 
const concepts::Karniadakis< 1, 0 > * shpfctX () const
 Returns the shape functions in x direction.
 
const concepts::Karniadakis< 1, 1 > * shpfctDX () const
 Returns the derivatives of the shape functions in x direction.
 
virtual const concepts::LaguerreBasis< 0 > * shpfctY () const =0
 Returns the shape functions in x direction.
 
virtual const concepts::LaguerreBasis< 1 > * shpfctDY () const =0
 Returns the derivatives of the shape functions in x direction.
 
virtual const concepts::ElementGraphics< Real > * graphics () const =0
 
virtual const concepts::TMatrix< Real > & T () const
 Returns the T matrix of the element.
 
void appendT (concepts::TColumn< Real > *T)
 Appends the T columns to the T matrix.
 
Real3d elemMap (const Real coord_local) const
 
Real3d elemMap (const Real2d &coord_local) const
 
Real3d elemMap (const Real3d &coord_local) const
 
uint & tag ()
 Returns the tag.
 

Static Public Member Functions

static void setIntegrationRuleX (enum concepts::intRule rule, bool constant, uint points)
 
static void setIntegrationRuleY (bool constant, uint points, const Real border)
 
static void resetIntegrationRule ()
 Set the standard type of integration.
 
static std::string integrationRule ()
 Returns information on the settings of the quadrature rule.
 
static Real & borderY ()
 Largest value in local y coordinates. Default is 1.0.
 

Protected Member Functions

void computeIntegrationRuleFromP_ (const ushort *p)
 
void computeIntegrationRule_ (const uint nq[2])
 
void computeShapefunctionsX_ ()
 gets the shapefunctions in x direction
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Protected Attributes

ushort p_ [2]
 Polynomial degree.
 
std::unique_ptr< concepts::QuadratureRule1dintX_
 The integration rules.
 
std::unique_ptr< concepts::QuadratureRule1dintY_
 
concepts::TMatrix< Real > T_
 T matrix of the element.
 

Detailed Description

A 2D FEM element: an infinite quad.

Author
Kersten Schmidt, 2009.

Definition at line 316 of file quad.hh.

Member Typedef Documentation

◆ type

template<typename F >
typedef F concepts::ElementWithCell< F >::type
inherited

Definition at line 81 of file element.hh.

Constructor & Destructor Documentation

◆ InfiniteQuad()

hp2D::InfiniteQuad::InfiniteQuad ( concepts::InfiniteQuad2d cell,
const ushort *  p,
concepts::TColumn< Real > *  T0,
concepts::TColumn< Real > *  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

Member Function Documentation

◆ appendT()

void hp2D::Element< Real >::appendT ( concepts::TColumn< Real > *  T)
inlineinherited

Appends the T columns to the T matrix.

Definition at line 43 of file element.hh.

◆ borderY()

static Real & hp2D::InfiniteQuad::borderY ( )
inlinestatic

Largest value in local y coordinates. Default is 1.0.

Definition at line 387 of file quad.hh.

◆ cell()

const concepts::InfiniteQuad2d & hp2D::InfiniteQuad::cell ( ) const
inlinevirtual

Returns the cell on which the element is built.

Implements hp2D::Element< Real >.

Definition at line 331 of file quad.hh.

◆ elemMap() [1/3]

template<typename F >
Real3d concepts::ElementWithCell< F >::elemMap ( const Real  coord_local) const
inlineinherited

Definition at line 86 of file element.hh.

◆ elemMap() [2/3]

template<typename F >
Real3d concepts::ElementWithCell< F >::elemMap ( const Real2d coord_local) const
inlineinherited

Definition at line 90 of file element.hh.

◆ elemMap() [3/3]

template<typename F >
Real3d concepts::ElementWithCell< F >::elemMap ( const Real3d coord_local) const
inlineinherited

Definition at line 94 of file element.hh.

◆ graphics()

virtual const concepts::ElementGraphics< Real > * hp2D::InfiniteQuad::graphics ( ) const
pure virtual

Reimplemented from concepts::Element< F >.

◆ info()

virtual std::ostream & hp2D::InfiniteQuad::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from hp2D::Element< Real >.

Reimplemented in hp2D::InfiniteLaguerreQuad.

◆ integrationX()

const concepts::QuadratureRule1d * hp2D::InfiniteQuad::integrationX ( ) const
inline

Returns the integration rule in x direction.

Definition at line 338 of file quad.hh.

◆ integrationY()

const concepts::QuadratureRule1d * hp2D::InfiniteQuad::integrationY ( ) const
inline

Returns the integration rule in y direction.

Definition at line 342 of file quad.hh.

◆ p()

const ushort * hp2D::InfiniteQuad::p ( ) const
inline

Returns the polynomial degree. The returned array has 2 elements.

Definition at line 335 of file quad.hh.

◆ setIntegrationRuleX()

static void hp2D::InfiniteQuad::setIntegrationRuleX ( enum concepts::intRule  rule,
bool  constant,
uint  points 
)
static

Sets the type of integration rule in x direction to use.

Parameters
ruleDetermines the integration rule
constantUse constant number of points
pointsNumber of points to use (for constant = true) or points to add to approximation order (for constant = false)

◆ setIntegrationRuleY()

static void hp2D::InfiniteQuad::setIntegrationRuleY ( bool  constant,
uint  points,
const Real  border 
)
static

Sets the type of integration rule in y direction to use.

Parameters
constantUse constant number of points
pointsNumber of points to use (for constant = true) or points to add to approximation order (for constant = false)
borderLargest value in local y coordinates.

◆ shpfctDX()

const concepts::Karniadakis< 1, 1 > * hp2D::InfiniteQuad::shpfctDX ( ) const
inline

Returns the derivatives of the shape functions in x direction.

Definition at line 375 of file quad.hh.

◆ shpfctDY()

virtual const concepts::LaguerreBasis< 1 > * hp2D::InfiniteQuad::shpfctDY ( ) const
pure virtual

Returns the derivatives of the shape functions in x direction.

Implemented in hp2D::InfiniteLaguerreQuad.

◆ shpfctX()

const concepts::Karniadakis< 1, 0 > * hp2D::InfiniteQuad::shpfctX ( ) const
inline

Returns the shape functions in x direction.

Definition at line 370 of file quad.hh.

◆ shpfctY()

virtual const concepts::LaguerreBasis< 0 > * hp2D::InfiniteQuad::shpfctY ( ) const
pure virtual

Returns the shape functions in x direction.

Implemented in hp2D::InfiniteLaguerreQuad.

◆ support()

const concepts::Connector2 & hp2D::InfiniteQuad::support ( ) const
inlinevirtual

Returns the topological support of the element. Possible supports for an element are quadrilaterals and triangles.

Implements hp2D::Element< Real >.

Definition at line 329 of file quad.hh.

◆ T()

virtual const concepts::TMatrix< Real > & hp2D::Element< Real >::T ( ) const
inlinevirtualinherited

Returns the T matrix of the element.

Implements concepts::ElementWithCell< F >.

Definition at line 40 of file element.hh.

◆ tag()

template<class F >
uint & concepts::Element< F >::tag ( )
inlineinherited

Returns the tag.

Definition at line 66 of file element.hh.

◆ vertex()

concepts::Real3d hp2D::InfiniteQuad::vertex ( uint  i) const
inlinevirtual

Returns the coordinates of the ith vertex of this element.

Parameters
iIndex of the vertex

Implements hp2D::Element< Real >.

Definition at line 330 of file quad.hh.

Member Data Documentation

◆ intX_

std::unique_ptr<concepts::QuadratureRule1d> hp2D::InfiniteQuad::intX_
protected

The integration rules.

Definition at line 402 of file quad.hh.

◆ intY_

std::unique_ptr<concepts::QuadratureRule1d> hp2D::InfiniteQuad::intY_
protected

Definition at line 403 of file quad.hh.

◆ p_

ushort hp2D::InfiniteQuad::p_[2]
protected

Polynomial degree.

Definition at line 399 of file quad.hh.

◆ T_

concepts::TMatrix<Real > hp2D::Element< Real >::T_
protectedinherited

T matrix of the element.

Definition at line 57 of file element.hh.


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