hp2D::InfiniteLaguerreQuad Class Referenceabstract
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. More... | |
const concepts::InfiniteQuad2d & | cell () const |
virtual const concepts::Cell2 & | cell () const=0 |
Returns the cell on which the element is built. More... | |
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. More... | |
const concepts::QuadratureRule1d * | integrationX () const |
Returns the integration rule in x direction. More... | |
const concepts::QuadratureRule1d * | integrationY () const |
Returns the integration rule in y direction. More... | |
const ushort * | p () const |
Returns the polynomial degree. More... | |
void | recomputeShapefunctions () |
const concepts::Karniadakis< 1, 1 > * | shpfctDX () const |
Returns the derivatives of the shape functions in x direction. More... | |
const concepts::LaguerreBasis< 1 > * | shpfctDY () const |
Returns the derivatives of the shape functions in x direction. More... | |
const concepts::Karniadakis< 1, 0 > * | shpfctX () const |
Returns the shape functions in x direction. More... | |
const concepts::LaguerreBasis< 0 > * | shpfctY () const |
Returns the shape functions in x direction. More... | |
const concepts::Connector2 & | support () const |
virtual const concepts::Connector2 & | support () const=0 |
Returns the topological support of the element. More... | |
virtual const concepts::TMatrix< Real > & | T () const |
Returns the T matrix of the element. More... | |
concepts::Real3d | vertex (uint i) const |
Returns the coordinates of the ith vertex of this element. More... | |
virtual | ~InfiniteLaguerreQuad () |
Static Public Member Functions | |
static Real & | borderY () |
Largest value in local y coordinates. Default is 1.0. More... | |
static std::string | integrationRule () |
Returns information on the settings of the quadrature rule. More... | |
static void | resetIntegrationRule () |
Set the standard type of integration. More... | |
static void | setIntegrationRuleX (enum concepts::intRule rule, bool constant, uint points) |
Sets the type of integration rule in x direction to use. More... | |
static void | setIntegrationRuleY (bool constant, uint points, const Real border) |
Sets the type of integration rule in y direction to use. More... | |
Protected Member Functions | |
void | computeIntegrationRule_ (const uint nq[2]) |
void | computeIntegrationRuleFromP_ (const ushort *p) |
void | computeShapefunctionsX_ () |
gets the shapefunctions in x direction More... | |
virtual std::ostream & | info (std::ostream &os) const |
Protected Attributes | |
std::unique_ptr< concepts::QuadratureRule1d > | intX_ |
The integration rules. More... | |
std::unique_ptr< concepts::QuadratureRule1d > | intY_ |
ushort | p_ [2] |
Polynomial degree. More... | |
concepts::TMatrix< Real > | T_ |
T matrix of the element. More... | |
Private Member Functions | |
void | computeShapefunctionsY_ () |
gets the shapefunctions in x direction More... | |
Private Attributes | |
concepts::InfiniteQuad2d & | cell_ |
The cell. More... | |
std::unique_ptr< concepts::Karniadakis< 1, 1 > > | shpfctDX_ |
The derivatives of the shape functions. More... | |
std::unique_ptr< concepts::LaguerreBasis< 1 > > | shpfctDY_ |
The derivatives of the shape functions in local y-direction. More... | |
std::unique_ptr< concepts::Karniadakis< 1, 0 > > | shpfctX_ |
The shape functions. More... | |
std::unique_ptr< concepts::LaguerreBasis< 0 > > | shpfctY_ |
The shape functions in local y-direction. More... | |
Static Private Attributes | |
static uint | addNumberOfPointsX_ |
Number of integration points to add to approximation order when varying number of integration points is requested. More... | |
static uint | addNumberOfPointsY_ |
static Real | borderY_ |
Largest value in local y coordinates. Default is 1.0. More... | |
static uint | constNumerOfPointsX_ |
Number of integration points to use when constant number is requested. More... | |
static uint | constNumerOfPointsY_ |
static std::unique_ptr< concepts::ElementGraphics< Real > > | graphics_ |
Appropiate element graphics object. More... | |
static enum concepts::intRule | integrationTypeX_ |
Default behaviour: integration rule Gauss Jacobi (highest order). More... | |
static enum concepts::intRule | integrationTypeY_ |
Default behaviour: uniform points in [0, border] (Trapezoidal rule). More... | |
static bool | useConstantNumberOfPointsX_ |
Use constant number of integration points (true) or not (false). More... | |
static bool | useConstantNumberOfPointsY_ |
Detailed Description
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.
Member Typedef Documentation
◆ type
|
inherited |
Definition at line 81 of file element.hh.
Constructor & Destructor Documentation
◆ InfiniteLaguerreQuad()
hp2D::InfiniteLaguerreQuad::InfiniteLaguerreQuad | ( | concepts::InfiniteQuad2d & | cell, |
const ushort * | p, | ||
concepts::TColumn< Real > * | T0, | ||
concepts::TColumn< Real > * | T1 | ||
) |
Constructor.
- Parameters
-
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
◆ ~InfiniteLaguerreQuad()
|
virtual |
Member Function Documentation
◆ appendT()
|
inlineinherited |
Appends the T columns to the T matrix.
Definition at line 43 of file element.hh.
◆ borderY()
|
inlinestaticinherited |
◆ cell() [1/2]
|
inlineinherited |
◆ cell() [2/2]
|
pure virtualinherited |
Returns the cell on which the element is built.
Implements concepts::ElementWithCell< Real >.
◆ computeIntegrationRule_()
|
protectedinherited |
◆ computeIntegrationRuleFromP_()
|
protectedinherited |
◆ computeShapefunctionsX_()
|
protectedinherited |
gets the shapefunctions in x direction
◆ computeShapefunctionsY_()
|
private |
gets the shapefunctions in x direction
◆ elemMap() [1/3]
|
inlineinherited |
Definition at line 86 of file element.hh.
◆ elemMap() [2/3]
|
inlineinherited |
Definition at line 90 of file element.hh.
◆ elemMap() [3/3]
|
inlineinherited |
Definition at line 94 of file element.hh.
◆ graphics()
|
virtual |
Implements hp2D::InfiniteQuad.
◆ info()
|
protectedvirtual |
Reimplemented from hp2D::InfiniteQuad.
◆ integrationRule()
|
staticinherited |
Returns information on the settings of the quadrature rule.
◆ integrationX()
|
inlineinherited |
◆ integrationY()
|
inlineinherited |
◆ p()
|
inlineinherited |
◆ recomputeShapefunctions()
void hp2D::InfiniteLaguerreQuad::recomputeShapefunctions | ( | ) |
◆ resetIntegrationRule()
|
staticinherited |
Set the standard type of integration.
◆ setIntegrationRuleX()
|
staticinherited |
Sets the type of integration rule in x direction to use.
- Parameters
-
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 (forconstant = false
)
◆ setIntegrationRuleY()
|
staticinherited |
Sets the type of integration rule in y direction to use.
- Parameters
-
constant Use constant number of points points Number of points to use (for constant = true
) or points to add to approximation order (forconstant = false
)border Largest value in local y coordinates.
◆ shpfctDX()
|
inlineinherited |
◆ shpfctDY()
|
inlinevirtual |
Returns the derivatives of the shape functions in x direction.
Implements hp2D::InfiniteQuad.
◆ shpfctX()
|
inlineinherited |
◆ shpfctY()
|
inlinevirtual |
Returns the shape functions in x direction.
Implements hp2D::InfiniteQuad.
◆ support() [1/2]
|
inlineinherited |
◆ support() [2/2]
|
pure virtualinherited |
Returns the topological support of the element.
Possible supports for an element are quadrilaterals and triangles.
◆ T()
|
inlinevirtualinherited |
Returns the T matrix of the element.
Implements concepts::ElementWithCell< Real >.
Definition at line 40 of file element.hh.
◆ vertex()
|
inlinevirtualinherited |
Returns the coordinates of the ith vertex of this element.
- Parameters
-
i Index of the vertex
Implements hp2D::Element< Real >.
Member Data Documentation
◆ addNumberOfPointsX_
|
staticprivateinherited |
◆ addNumberOfPointsY_
|
staticprivateinherited |
◆ borderY_
|
staticprivateinherited |
◆ cell_
|
privateinherited |
◆ constNumerOfPointsX_
|
staticprivateinherited |
◆ constNumerOfPointsY_
|
staticprivateinherited |
◆ graphics_
|
staticprivate |
◆ integrationTypeX_
|
staticprivateinherited |
◆ integrationTypeY_
|
staticprivateinherited |
◆ intX_
|
protectedinherited |
◆ intY_
|
protectedinherited |
◆ p_
|
protectedinherited |
◆ shpfctDX_
|
privateinherited |
◆ shpfctDY_
|
private |
◆ shpfctX_
|
privateinherited |
◆ shpfctY_
|
private |
◆ T_
|
protectedinherited |
T matrix of the element.
Definition at line 57 of file element.hh.
◆ useConstantNumberOfPointsX_
|
staticprivateinherited |
◆ useConstantNumberOfPointsY_
|
staticprivateinherited |
The documentation for this class was generated from the following file:
- hp2D/quad.hh