#include <quad.hh>
Public Types | |
typedef F | type |
enum | intFormType { ZERO , ONE , TWO , THREE } |
Public Member Functions | |
Quad (concepts::QuadNd &cell, const ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1) | |
virtual const concepts::ElementGraphics< F > * | graphics () const |
Returns element graphics class. | |
void | recomputeShapefunctions () |
void | recomputeShapefunctions (const uint nq[2]) |
void | edgeP (const uint i, const uint &p) |
Set polynomial degree of edge i to p . | |
const uint | edgeP (const uint i) const |
virtual const concepts::Quad & | support () const |
virtual concepts::Real3d | vertex (uint i) const |
virtual const concepts::QuadNd & | cell () const |
Returns the cell on which the element is built. | |
virtual const concepts::TMatrix< F > & | T () const |
Returns the T matrix of the element. | |
void | appendT (concepts::TColumn< F > *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. | |
concepts::Real2d | chi (const Real x, const Real y) const |
concepts::MapReal2d | jacobian (const Real x, const Real y) const |
Computes the Jacobian. | |
concepts::MapReal2d | jacobianInverse (const Real x, const Real y) const |
Computes the inverse of the Jacobian. | |
concepts::MapReal2d | inverseLaplace (const Real x, const Real y) const |
Real | gramDeterminantRoot (const Real x, const Real y) const |
void | setStrategy (const concepts::Quad2dSubdivision *strategy=0) |
const concepts::Quad2dSubdivision * | getStrategy () const |
virtual bool | quadraturePoint (uint i, intPoint &p, intFormType form=ZERO, bool localCoord=false) const |
const concepts::QuadratureRule2d *const | intRule () const |
const ushort * | p () const |
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. | |
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. | |
Static Public Member Functions | |
static std::unique_ptr< concepts::QuadRuleFactoryTensor2d > & | factory () |
static concepts::QuadRuleFactoryTensor2d * | factory_rp () |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
void | computeShapefunctions_ (const concepts::QuadratureRule2d *intRule) |
gets the shapefunctions, used in both constructors | |
Protected Attributes | |
concepts::TMatrix< F > | T_ |
T matrix of the element. | |
std::unique_ptr< concepts::QuadratureRule2d > | intRule_ |
The integration rules. | |
concepts::QuadNd & | cell_ |
The cell. | |
Static Protected Attributes | |
static std::unique_ptr< concepts::QuadRuleFactoryTensor2d > | factory_ |
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.
|
inherited |
Definition at line 81 of file element.hh.
|
inherited |
Integration form, which determines terms coming from integration over reference element
Definition at line 29 of file integral.hh.
hp2D::Quad< F >::Quad | ( | concepts::QuadNd & | 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 |
|
inlineinherited |
Appends the T columns to the T matrix.
Definition at line 43 of file element.hh.
|
inlinevirtualinherited |
Returns the cell on which the element is built.
Implements hp2D::Element< F >.
|
inlineinherited |
|
protectedinherited |
gets the shapefunctions, used in both constructors
gets the shapefunctions, used in both constructors
|
inline |
|
inline |
|
inlineinherited |
Definition at line 86 of file element.hh.
|
inlineinherited |
Definition at line 90 of file element.hh.
|
inlineinherited |
Definition at line 94 of file element.hh.
|
inlinestaticinherited |
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.
|
inlinestaticinherited |
|
inlineinherited |
|
inlineinherited |
|
virtual |
Returns element graphics class.
Implements hp2D::BaseQuad< F >.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from hp2D::BaseQuad< F >.
Reimplemented in hp3D::NeumannTraceElement3d< F >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
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
|
inlineinherited |
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) |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
Returns the topological support of the element. Possible supports for an element are quadrilaterals and triangles.
Implements hp2D::Element< F >.
|
inlinevirtualinherited |
Returns the T matrix of the element.
Implements concepts::ElementWithCell< F >.
Reimplemented in hp3D::NeumannTraceElement3d< F >.
Definition at line 40 of file element.hh.
|
inlineinherited |
Returns the tag.
Definition at line 66 of file element.hh.
|
inlinevirtualinherited |
Returns the coordinates of the ith vertex of this element.
i | Index of the vertex |
Implements hp2D::Element< F >.
|
protectedinherited |
|
staticprotectedinherited |
|
protectedinherited |
|
protectedinherited |
T matrix of the element.
Definition at line 57 of file element.hh.