A base of a 2D quad FEM element for different basis functions. 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. | |
| BaseQuad (concepts::Quad2d &cell, const ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1) | |
| Constructor. | |
| 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. | |
| 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 =0 |
| 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. | |
| virtual bool | quadraturePoint (uint i, intPoint &p, intFormType form=ZERO, bool localCoord=false) const |
| Delivers a quadrature point. | |
| void | setStrategy (const concepts::Quad2dSubdivision *strategy=0) throw (concepts::StrategyChange) |
| Sets the subdivision strategy of the underlying cell of this element. | |
| 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 | ~BaseQuad () |
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 | |
| 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_ |
A base of a 2D quad FEM element for different basis functions.
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::BaseQuad< F >::BaseQuad | ( | 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::BaseQuad< F >::~BaseQuad | ( | ) | [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] |
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] |
| 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 Real2d & | coord_local | ) | const [inline, inherited] |
Definition at line 87 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::BaseQuad< F >::graphics | ( | ) | const [pure virtual] |
Returns element graphics class.
Reimplemented from concepts::Element< F >.
Implemented in hp2D::ThinSheetQuad, hp2D::Quad< F >, hp2Dedge::Quad< F >, and hp2D::Quad< Real >.
| virtual std::ostream& hp2D::BaseQuad< F >::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from hp2D::Element< F >.
Reimplemented in hp2D::ThinSheetQuad, hp2D::Quad< F >, hp2Dedge::Quad< F >, and hp2D::Quad< Real >.
| 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] |
| 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.
| 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.

| virtual const concepts::Quad& hp2D::BaseQuad< F >::support | ( | ) | const [inline, virtual] |
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] |
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] |
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.