A 2D FEM element: an infinite quad. 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 =0 |
| InfiniteQuad (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. | |
| const concepts::Karniadakis< 1, 1 > * | shpfctDX () const |
| Returns the derivatives of the shape functions in x direction. | |
| virtual const concepts::LaguerreBasis< 1 > * | shpfctDY () const =0 |
| Returns the derivatives of the shape functions in x direction. | |
| const concepts::Karniadakis< 1, 0 > * | shpfctX () const |
| Returns the shape functions in x direction. | |
| virtual const concepts::LaguerreBasis< 0 > * | shpfctY () const =0 |
| 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 | ~InfiniteQuad () |
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 Attributes | |
| static uint | addNumberOfPointsY_ |
| concepts::InfiniteQuad2d & | cell_ |
| The cell. | |
| static uint | constNumerOfPointsY_ |
| std::auto_ptr < concepts::Karniadakis< 1, 1 > > | shpfctDX_ |
| The derivatives of the shape functions. | |
| std::auto_ptr < concepts::Karniadakis< 1, 0 > > | shpfctX_ |
| The shape functions. | |
| static bool | useConstantNumberOfPointsY_ |
Static Private Attributes | |
| static uint | addNumberOfPointsX_ |
| Number of integration points to add to approximation order when varying number of integration points is requested. | |
| static Real | borderY_ |
| Largest value in local y coordinates. Default is 1.0. | |
| static uint | constNumerOfPointsX_ |
| Number of integration points to use when constant number is requested. | |
| static enum concepts::intRule | integrationTypeX_ |
| Default behaviour: integration rule Gauss Jacobi (highest order). | |
| static enum concepts::intRule | integrationTypeY_ |
| Default behaviour: uniform points in [0, border] (Trapezoidal rule). | |
| static bool | useConstantNumberOfPointsX_ |
| Use constant number of integration points (true) or not (false). | |
typedef Real concepts::Element< Real >::type [inherited] |
Definition at line 53 of file element.hh.
| hp2D::InfiniteQuad::InfiniteQuad | ( | 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::InfiniteQuad::~InfiniteQuad | ( | ) | [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] |
| const concepts::InfiniteQuad2d& hp2D::InfiniteQuad::cell | ( | ) | const [inline, virtual] |
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] |
| void hp2D::InfiniteQuad::computeIntegrationRuleFromP_ | ( | const ushort * | p | ) | [protected] |
| void hp2D::InfiniteQuad::computeShapefunctionsX_ | ( | ) | [protected] |
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::InfiniteQuad::graphics | ( | ) | const [pure virtual] |
Reimplemented from concepts::Element< Real >.
Implemented in hp2D::InfiniteLaguerreQuad.
| virtual std::ostream& hp2D::InfiniteQuad::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from hp2D::Element< Real >.
Reimplemented in hp2D::InfiniteLaguerreQuad.
| static std::string hp2D::InfiniteQuad::integrationRule | ( | ) | [static] |
Returns information on the settings of the quadrature rule.
| const concepts::QuadratureRule* hp2D::InfiniteQuad::integrationX | ( | ) | const [inline] |
| const concepts::QuadratureRule* hp2D::InfiniteQuad::integrationY | ( | ) | const [inline] |
| const ushort* hp2D::InfiniteQuad::p | ( | ) | const [inline] |
| static void hp2D::InfiniteQuad::resetIntegrationRule | ( | ) | [static] |
Set the standard type of integration.
| 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.
| 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] |
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] |
| 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.
| const concepts::Karniadakis<1,0>* hp2D::InfiniteQuad::shpfctX | ( | ) | const [inline] |
| virtual const concepts::LaguerreBasis<0>* hp2D::InfiniteQuad::shpfctY | ( | ) | const [pure virtual] |
Returns the shape functions in x direction.
Implemented in hp2D::InfiniteLaguerreQuad.
| const concepts::Connector2& hp2D::InfiniteQuad::support | ( | ) | const [inline, virtual] |
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] |
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.

uint hp2D::InfiniteQuad::addNumberOfPointsX_ [static, private] |
uint hp2D::InfiniteQuad::addNumberOfPointsY_ [private] |
Real hp2D::InfiniteQuad::borderY_ [static, private] |
uint hp2D::InfiniteQuad::constNumerOfPointsX_ [static, private] |
uint hp2D::InfiniteQuad::constNumerOfPointsY_ [private] |
enum concepts::intRule hp2D::InfiniteQuad::integrationTypeX_ [static, private] |
enum concepts::intRule hp2D::InfiniteQuad::integrationTypeY_ [static, private] |
std::auto_ptr<concepts::QuadratureRule> hp2D::InfiniteQuad::intX_ [protected] |
std::auto_ptr<concepts::QuadratureRule> hp2D::InfiniteQuad::intY_ [protected] |
ushort hp2D::InfiniteQuad::p_[2] [protected] |
std::auto_ptr<concepts::Karniadakis<1,1> > hp2D::InfiniteQuad::shpfctDX_ [private] |
std::auto_ptr<concepts::Karniadakis<1,0> > hp2D::InfiniteQuad::shpfctX_ [private] |
concepts::TMatrix<Real > hp2D::Element< Real >::T_ [protected, inherited] |
T matrix of the element.
Definition at line 57 of file element.hh.
bool hp2D::InfiniteQuad::useConstantNumberOfPointsX_ [static, private] |
bool hp2D::InfiniteQuad::useConstantNumberOfPointsY_ [private] |