A 2D FEM element: an infinite quad with basis based on Laguerre functions. More...
#include <quad.hh>


Public Types | |
| typedef Real | type |
Public Member Functions | |
| void | appendT (concepts::TColumn< Real > *T) |
| Appends the T columns to the T matrix. | |
| const concepts::InfiniteQuad2d & | cell () const |
| Returns the cell on which the element is built. | |
| Real3d | elemMap (const Real coord_local) const |
| Real3d | elemMap (const Real2d &coord_local) const |
| Real3d | elemMap (const Real3d &coord_local) const |
| virtual const concepts::ElementGraphics < Real > * | graphics () const |
| InfiniteLaguerreQuad (concepts::InfiniteQuad2d &cell, const ushort *p, concepts::TColumn< Real > *T0, concepts::TColumn< Real > *T1) | |
| Constructor. | |
| const concepts::QuadratureRule * | integrationX () const |
| Returns the integration rule in x direction. | |
| const concepts::QuadratureRule * | integrationY () const |
| Returns the integration rule in y direction. | |
| const ushort * | p () const |
| Returns the polynomial degree. | |
| void | recomputeShapefunctions () |
| const concepts::Karniadakis< 1, 1 > * | shpfctDX () const |
| Returns the derivatives of the shape functions in x direction. | |
| const concepts::LaguerreBasis< 1 > * | shpfctDY () const |
| Returns the derivatives of the shape functions in x direction. | |
| const concepts::Karniadakis< 1, 0 > * | shpfctX () const |
| Returns the shape functions in x direction. | |
| const concepts::LaguerreBasis< 0 > * | shpfctY () const |
| Returns the shape functions in x direction. | |
| const concepts::Connector2 & | support () const |
| Returns the topological support of the element. | |
| virtual const concepts::TMatrix< Real > & | T () const |
| Returns the T matrix of the element. | |
| uint & | tag () |
| Returns the tag. | |
| concepts::Real3d | vertex (uint i) const |
| Returns the coordinates of the ith vertex of this element. | |
| virtual | ~InfiniteLaguerreQuad () |
Static Public Member Functions | |
| static Real & | borderY () |
| Largest value in local y coordinates. Default is 1.0. | |
| static std::string | integrationRule () |
| Returns information on the settings of the quadrature rule. | |
| static void | resetIntegrationRule () |
| Set the standard type of integration. | |
| static void | setIntegrationRuleX (enum concepts::intRule rule, bool constant, uint points) |
| Sets the type of integration rule in x direction to use. | |
| static void | setIntegrationRuleY (bool constant, uint points, const Real border) |
| Sets the type of integration rule in y direction to use. | |
Protected Member Functions | |
| void | computeIntegrationRule_ (const uint nq[2]) |
| void | computeIntegrationRuleFromP_ (const ushort *p) |
| void | computeShapefunctionsX_ () |
| gets the shapefunctions in x direction | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Protected Attributes | |
| std::auto_ptr < concepts::QuadratureRule > | intX_ |
| The integration rules. | |
| std::auto_ptr < concepts::QuadratureRule > | intY_ |
| ushort | p_ [2] |
| Polynomial degree. | |
| concepts::TMatrix< Real > | T_ |
| T matrix of the element. | |
Private Member Functions | |
| void | computeShapefunctionsY_ () |
| gets the shapefunctions in x direction | |
Private Attributes | |
| std::auto_ptr < concepts::LaguerreBasis< 1 > > | shpfctDY_ |
| The derivatives of the shape functions in local y-direction. | |
| std::auto_ptr < concepts::LaguerreBasis< 0 > > | shpfctY_ |
| The shape functions in local y-direction. | |
Static Private Attributes | |
| static std::auto_ptr < concepts::ElementGraphics < Real > > | graphics_ |
| Appropiate element graphics object. | |
A 2D FEM element: an infinite quad with basis based on Laguerre functions.
The reference shape functions are products of the polynomials of Karniadakis and Sherwin in local x-direction and a basis based on Laguerre functions in local y-direction. The index of the shape functions rises first over the polynomials in local x-direction.
typedef Real concepts::Element< Real >::type [inherited] |
Definition at line 53 of file element.hh.
| hp2D::InfiniteLaguerreQuad::InfiniteLaguerreQuad | ( | concepts::InfiniteQuad2d & | cell, |
| const ushort * | p, | ||
| concepts::TColumn< Real > * | T0, | ||
| concepts::TColumn< Real > * | T1 | ||
| ) |
Constructor.
| cell | Cell on which the element is defined |
| p | Polynomial degree (might be anisotropic) |
| T0 | Part of the T matrix |
| T1 | Part of the T matrix |
| virtual hp2D::InfiniteLaguerreQuad::~InfiniteLaguerreQuad | ( | ) | [virtual] |
| void hp2D::Element< Real >::appendT | ( | concepts::TColumn< Real > * | T | ) | [inline, inherited] |
Appends the T columns to the T matrix.
Definition at line 41 of file element.hh.
| static Real& hp2D::InfiniteQuad::borderY | ( | ) | [inline, static, inherited] |
| const concepts::InfiniteQuad2d& hp2D::InfiniteQuad::cell | ( | ) | const [inline, virtual, inherited] |
Returns the cell on which the element is built.
Possible are tetrahedrons, hexahedron, prims and pyramids.
Implements hp2D::Element< Real >.
| void hp2D::InfiniteQuad::computeIntegrationRule_ | ( | const uint | nq[2] | ) | [protected, inherited] |
| void hp2D::InfiniteQuad::computeIntegrationRuleFromP_ | ( | const ushort * | p | ) | [protected, inherited] |
| void hp2D::InfiniteQuad::computeShapefunctionsX_ | ( | ) | [protected, inherited] |
gets the shapefunctions in x direction
| void hp2D::InfiniteLaguerreQuad::computeShapefunctionsY_ | ( | ) | [private] |
gets the shapefunctions in x direction
| Real3d concepts::ElementWithCell< Real >::elemMap | ( | const Real | coord_local | ) | const [inline, inherited] |
| Real3d concepts::ElementWithCell< Real >::elemMap | ( | const Real2d & | coord_local | ) | const [inline, inherited] |
| Real3d concepts::ElementWithCell< Real >::elemMap | ( | const Real3d & | coord_local | ) | const [inline, inherited] |
| virtual const concepts::ElementGraphics<Real>* hp2D::InfiniteLaguerreQuad::graphics | ( | ) | const [virtual] |
Implements hp2D::InfiniteQuad.
| virtual std::ostream& hp2D::InfiniteLaguerreQuad::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from hp2D::InfiniteQuad.
| static std::string hp2D::InfiniteQuad::integrationRule | ( | ) | [static, inherited] |
Returns information on the settings of the quadrature rule.
| const concepts::QuadratureRule* hp2D::InfiniteQuad::integrationX | ( | ) | const [inline, inherited] |
| const concepts::QuadratureRule* hp2D::InfiniteQuad::integrationY | ( | ) | const [inline, inherited] |
| const ushort* hp2D::InfiniteQuad::p | ( | ) | const [inline, inherited] |
| void hp2D::InfiniteLaguerreQuad::recomputeShapefunctions | ( | ) |
| static void hp2D::InfiniteQuad::resetIntegrationRule | ( | ) | [static, inherited] |
Set the standard type of integration.
| static void hp2D::InfiniteQuad::setIntegrationRuleX | ( | enum concepts::intRule | rule, |
| bool | constant, | ||
| uint | points | ||
| ) | [static, inherited] |
Sets the type of integration rule in x direction to use.
| rule | Determines the integration rule |
| constant | Use constant number of points |
| points | Number of points to use (for constant = true) or points to add to approximation order (for constant = false) |
| static void hp2D::InfiniteQuad::setIntegrationRuleY | ( | bool | constant, |
| uint | points, | ||
| const Real | border | ||
| ) | [static, inherited] |
Sets the type of integration rule in y direction to use.
| constant | Use constant number of points |
| points | Number of points to use (for constant = true) or points to add to approximation order (for constant = false) |
| border | Largest value in local y coordinates. |
| const concepts::Karniadakis<1,1>* hp2D::InfiniteQuad::shpfctDX | ( | ) | const [inline, inherited] |
| const concepts::LaguerreBasis<1>* hp2D::InfiniteLaguerreQuad::shpfctDY | ( | ) | const [inline, virtual] |
Returns the derivatives of the shape functions in x direction.
Implements hp2D::InfiniteQuad.
| const concepts::Karniadakis<1,0>* hp2D::InfiniteQuad::shpfctX | ( | ) | const [inline, inherited] |
| const concepts::LaguerreBasis<0>* hp2D::InfiniteLaguerreQuad::shpfctY | ( | ) | const [inline, virtual] |
Returns the shape functions in x direction.
Implements hp2D::InfiniteQuad.
| const concepts::Connector2& hp2D::InfiniteQuad::support | ( | ) | const [inline, virtual, inherited] |
Returns the topological support of the element.
Possible supports for an element are quadrilaterals and triangles.
Implements hp2D::Element< Real >.
Definition at line 268 of file quad.hh.

| virtual const concepts::TMatrix<Real >& hp2D::Element< Real >::T | ( | ) | const [inline, virtual, inherited] |
Returns the T matrix of the element.
Implements concepts::Element< Real >.
Definition at line 38 of file element.hh.
| uint& concepts::Element< Real >::tag | ( | ) | [inline, inherited] |
Returns the tag.
Definition at line 65 of file element.hh.
| concepts::Real3d hp2D::InfiniteQuad::vertex | ( | uint | i | ) | const [inline, virtual, inherited] |
Returns the coordinates of the ith vertex of this element.
| i | Index of the vertex |
Implements hp2D::Element< Real >.
Definition at line 269 of file quad.hh.

std::auto_ptr<concepts::ElementGraphics<Real> > hp2D::InfiniteLaguerreQuad::graphics_ [static, private] |
std::auto_ptr<concepts::QuadratureRule> hp2D::InfiniteQuad::intX_ [protected, inherited] |
std::auto_ptr<concepts::QuadratureRule> hp2D::InfiniteQuad::intY_ [protected, inherited] |
ushort hp2D::InfiniteQuad::p_[2] [protected, inherited] |
std::auto_ptr<concepts::LaguerreBasis<1> > hp2D::InfiniteLaguerreQuad::shpfctDY_ [private] |
std::auto_ptr<concepts::LaguerreBasis<0> > hp2D::InfiniteLaguerreQuad::shpfctY_ [private] |
concepts::TMatrix<Real > hp2D::Element< Real >::T_ [protected, inherited] |
T matrix of the element.
Definition at line 57 of file element.hh.