A 2D FEM element: a quad. More...
#include <quad.hh>


Public Types | |
| enum | intFormType { ZERO, ONE, TWO, THREE } |
| Integration form, which determines terms coming from integration over reference element. More... | |
| typedef F | type |
Public Member Functions | |
| void | appendT (concepts::TColumn< F > *T) |
| Appends the T columns to the T matrix. | |
| virtual const concepts::Quad2d & | cell () const |
| Returns the cell on which the element is built. | |
| concepts::Real2d | chi (const Real x, const Real y) const |
| Computes the element map, the map from the reference element to the real geometry of the quad. | |
| void | edgeP (const uint i, const uint &p) |
Set polynomial degree of edge i to p. | |
| const uint | edgeP (const uint i) const |
| Real3d | elemMap (const Real coord_local) const |
| Real3d | elemMap (const Real2d &coord_local) const |
| Real3d | elemMap (const Real3d &coord_local) const |
| const concepts::Quad2dSubdivision * | getStrategy () const |
| Returns the subdivision strategy of the underlying cell of this element. | |
| virtual const concepts::ElementGraphics< F > * | graphics () const |
| Returns element graphics class. | |
| const concepts::QuadratureRule * | integrationX () const |
| Returns the integration rule in x direction. | |
| const concepts::QuadratureRule * | integrationY () const |
| Returns the integration rule in y direction. | |
| concepts::MapReal2d | jacobian (const Real x, const Real y) const |
| Computes the Jacobian. | |
| Real | jacobianDeterminant (const Real x, const Real y) const |
| Computes the determinant of the Jacobian. | |
| concepts::MapReal2d | jacobianInverse (const Real x, const Real y) const |
| Computes the inverse of the Jacobian. | |
| const ushort * | p () const |
| Returns the polynomial degree. | |
| Quad (concepts::Quad2d &cell, const ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1) | |
| Constructor. | |
| virtual bool | quadraturePoint (uint i, intPoint &p, intFormType form=ZERO, bool localCoord=false) const |
| Delivers a quadrature point. | |
| void | recomputeShapefunctions () |
| Recompute shape functions, e.g. | |
| void | recomputeShapefunctions (const uint nq[2]) |
| void | setStrategy (const concepts::Quad2dSubdivision *strategy=0) throw (concepts::StrategyChange) |
| Sets the subdivision strategy of the underlying cell of this element. | |
| const concepts::Karniadakis< 1, 1 > * | shpfctDX () const |
| Returns the derivatives of the shape functions in x direction. | |
| const concepts::Karniadakis< 1, 1 > * | shpfctDY () const |
| Returns the shape functions in y direction. | |
| const concepts::Karniadakis< 1, 0 > * | shpfctX () const |
| Returns the shape functions in x direction. | |
| const concepts::Karniadakis< 1, 0 > * | shpfctY () const |
| Returns the shape functions in y direction. | |
| virtual const concepts::Quad & | support () const |
| Returns the topological support of the element. | |
| virtual const concepts::TMatrix< F > & | T () const |
| Returns the T matrix of the element. | |
| uint & | tag () |
| Returns the tag. | |
| virtual concepts::Real3d | vertex (uint i) const |
| Returns the coordinates of the ith vertex of this element. | |
| virtual | ~Quad () |
Static Public Member Functions | |
| static concepts::QuadRuleFactory & | rule () |
| Access to the quadrature rule, which is valid for all elements of this type (hp2D::IntegrableQuad). | |
Protected Member Functions | |
| void | computeShapefunctions_ (const concepts::QuadratureRule *intX, const concepts::QuadratureRule *intY) |
| gets the shapefunctions, used in both constructors | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Protected Attributes | |
| concepts::Quad2d & | cell_ |
| The cell. | |
| std::auto_ptr < concepts::QuadratureRule > | intX_ |
| The integration rules. | |
| std::auto_ptr < concepts::QuadratureRule > | intY_ |
| concepts::TMatrix< F > | T_ |
| T matrix of the element. | |
Static Protected Attributes | |
| static concepts::QuadRuleFactory | rule_ |
Private Attributes | |
| const uint * | edges_ [4] |
| Polynomial degree of edges. | |
Static Private Attributes | |
| static std::auto_ptr < concepts::ElementGraphics< F > > | graphics_ |
| Appropiate element graphics object. | |
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.
typedef F concepts::Element< F >::type [inherited] |
Definition at line 53 of file element.hh.
enum concepts::IntegrationCell::intFormType [inherited] |
Integration form, which determines terms coming from integration over reference element.
Definition at line 27 of file integral.hh.
| hp2D::Quad< F >::Quad | ( | concepts::Quad2d & | cell, |
| const ushort * | p, | ||
| concepts::TColumn< F > * | T0, | ||
| concepts::TColumn< F > * | 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::Quad< F >::~Quad | ( | ) | [virtual] |
| void hp2D::Element< F >::appendT | ( | concepts::TColumn< F > * | T | ) | [inline, inherited] |
Appends the T columns to the T matrix.
Definition at line 41 of file element.hh.
| virtual const concepts::Quad2d& hp2D::BaseQuad< F >::cell | ( | ) | const [inline, virtual, inherited] |
Returns the cell on which the element is built.
Possible are tetrahedrons, hexahedron, prims and pyramids.
Implements hp2D::Element< F >.
| concepts::Real2d hp2D::IntegrableQuad::chi | ( | const Real | x, |
| const Real | y | ||
| ) | const [inline, inherited] |
| void hp2D::QuadShapeFunctions::computeShapefunctions_ | ( | const concepts::QuadratureRule * | intX, |
| const concepts::QuadratureRule * | intY | ||
| ) | [protected, inherited] |
gets the shapefunctions, used in both constructors
| const uint hp2D::Quad< F >::edgeP | ( | const uint | i | ) | const [inline] |
| void hp2D::Quad< F >::edgeP | ( | const uint | i, |
| const uint & | p | ||
| ) | [inline] |
| Real3d concepts::ElementWithCell< F >::elemMap | ( | const Real2d & | coord_local | ) | const [inline, inherited] |
Definition at line 87 of file element.hh.
| Real3d concepts::ElementWithCell< F >::elemMap | ( | const Real | coord_local | ) | const [inline, inherited] |
Definition at line 83 of file element.hh.
| Real3d concepts::ElementWithCell< F >::elemMap | ( | const Real3d & | coord_local | ) | const [inline, inherited] |
Definition at line 91 of file element.hh.
| const concepts::Quad2dSubdivision* hp2D::IntegrableQuad::getStrategy | ( | ) | const [inline, inherited] |
| virtual const concepts::ElementGraphics<F>* hp2D::Quad< F >::graphics | ( | ) | const [virtual] |
Returns element graphics class.
Implements hp2D::BaseQuad< F >.
| virtual std::ostream& hp2D::Quad< F >::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from hp2D::BaseQuad< F >.
| const concepts::QuadratureRule* hp2D::IntegrableQuad::integrationX | ( | ) | const [inline, inherited] |
| const concepts::QuadratureRule* hp2D::IntegrableQuad::integrationY | ( | ) | const [inline, inherited] |
| concepts::MapReal2d hp2D::IntegrableQuad::jacobian | ( | const Real | x, |
| const Real | y | ||
| ) | const [inline, inherited] |
| Real hp2D::IntegrableQuad::jacobianDeterminant | ( | const Real | x, |
| const Real | y | ||
| ) | const [inline, inherited] |
| concepts::MapReal2d hp2D::IntegrableQuad::jacobianInverse | ( | const Real | x, |
| const Real | y | ||
| ) | const [inline, inherited] |
| const ushort* hp2D::QuadShapeFunctions::p | ( | ) | const [inline, inherited] |
| virtual bool hp2D::IntegrableQuad::quadraturePoint | ( | uint | i, |
| intPoint & | p, | ||
| intFormType | form = ZERO, |
||
| bool | localCoord = false |
||
| ) | const [virtual, inherited] |
Delivers a quadrature point.
Quadrature point consists of coordinates (for evaluation of formulas) and intermediate data, consisting of the weight and term coming from mapping.
Returns false, if the number of quadrature points is overstepped.
| i | number of quadrature point |
| intPoint | data given back |
| form | Integration form |
| localCoord | If true, local coordinates are returned. Else physical coordinates. |
Implements concepts::IntegrationCell.
| void hp2D::Quad< F >::recomputeShapefunctions | ( | ) |
Recompute shape functions, e.g.
for other abscissas redefined through setIntegrationRule
| void hp2D::Quad< F >::recomputeShapefunctions | ( | const uint | nq[2] | ) |
| static concepts::QuadRuleFactory& hp2D::IntegrableQuad::rule | ( | ) | [inline, static, inherited] |
Access to the quadrature rule, which is valid for all elements of this type (hp2D::IntegrableQuad).
Change of the quadrature rule is put into practice for newly created elements and for already created elements by precomputing the integration points and shape functions on them.
| void hp2D::IntegrableQuad::setStrategy | ( | const concepts::Quad2dSubdivision * | strategy = 0 | ) | throw (concepts::StrategyChange) [inline, inherited] |
Sets the subdivision strategy of the underlying cell of this element.
It calls Quad2d::setStrategy.
| strategy | Pointer to an instance of a subdivision strategy. |
| StrategyChange | if the change is not allowed (the change is not allowed if there are children present) |
Definition at line 87 of file quad.hh.

| const concepts::Karniadakis<1,1>* hp2D::QuadShapeFunctions::shpfctDX | ( | ) | const [inline, inherited] |
| const concepts::Karniadakis<1,1>* hp2D::QuadShapeFunctions::shpfctDY | ( | ) | const [inline, inherited] |
| const concepts::Karniadakis<1,0>* hp2D::QuadShapeFunctions::shpfctX | ( | ) | const [inline, inherited] |
| const concepts::Karniadakis<1,0>* hp2D::QuadShapeFunctions::shpfctY | ( | ) | const [inline, inherited] |
| virtual const concepts::Quad& hp2D::BaseQuad< F >::support | ( | ) | const [inline, virtual, inherited] |
Returns the topological support of the element.
Possible supports for an element are quadrilaterals and triangles.
Implements hp2D::Element< F >.
| virtual const concepts::TMatrix<F>& hp2D::Element< F >::T | ( | ) | const [inline, virtual, inherited] |
Returns the T matrix of the element.
Implements concepts::Element< F >.
Definition at line 38 of file element.hh.
| uint& concepts::Element< F >::tag | ( | ) | [inline, inherited] |
Returns the tag.
Definition at line 65 of file element.hh.
| virtual concepts::Real3d hp2D::BaseQuad< F >::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< F >.
concepts::Quad2d& hp2D::IntegrableQuad::cell_ [protected, inherited] |
const uint* hp2D::Quad< F >::edges_[4] [private] |
std::auto_ptr<concepts::ElementGraphics<F> > hp2D::Quad< F >::graphics_ [static, private] |
std::auto_ptr<concepts::QuadratureRule> hp2D::IntegrableQuad::intX_ [protected, inherited] |
std::auto_ptr<concepts::QuadratureRule> hp2D::IntegrableQuad::intY_ [protected, inherited] |
concepts::QuadRuleFactory hp2D::IntegrableQuad::rule_ [static, protected, inherited] |
concepts::TMatrix<F> hp2D::Element< F >::T_ [protected, inherited] |
T matrix of the element.
Definition at line 57 of file element.hh.