quad.hh
Go to the documentation of this file.
void computeIntegrationRuleFromP_(const ushort *p)
void computeShapefunctions_(const concepts::QuadratureRule2d *intRule)
gets the shapefunctions, used in both constructors
virtual Real gramDeterminantRoot(const Real xi, const Real eta) const =0
Returns the square root of the Gram determinant.
Mapping< F, DimX, DimY > inverse() const
Returns the inverse of the matrix.
Handles graphics output (to a file) of a specific element.
Definition: element.hh:16
QuadShapeFunctions(const ushort *p, const concepts::QuadratureRule2d *intRule)
Constructor.
virtual std::ostream & info(std::ostream &os) const
MapReal2d jacobian(const Real xi, const Real eta) const
Computes the Jacobian for xi, eta .
const concepts::LaguerreBasis< 1 > * shpfctDY() const
Returns the derivatives of the shape functions in x direction.
Definition: quad.hh:470
void computeIntegrationRule_(const uint nq[2])
static std::unique_ptr< concepts::QuadRuleFactoryTensor2d > & factory()
Access to the quadrature rule, which is valid for all elements of this type (hp2D::IntegrableQuad).
Definition: quad.hh:145
std::unique_ptr< concepts::Karniadakis< 1, 1 > > shpfctDY_
Definition: quad.hh:260
std::unique_ptr< concepts::Karniadakis< 1, 0 > > shpfctX_
The shape functions.
Definition: quad.hh:434
Integration point consisting of coordinates and intermediate data.
Definition: integral.hh:34
const concepts::QuadratureRule1d * integrationX() const
Returns the integration rule in x direction.
Definition: quad.hh:339
static void setIntegrationRuleX(enum concepts::intRule rule, bool constant, uint points)
Sets the type of integration rule in x direction to use.
QuadShapeFunctions(const ushort *p, const concepts::QuadratureRule2d *intRule)
Constructor.
A 2D FEM element: an infinite quad with basis based on Laguerre functions.
Definition: quad.hh:452
virtual const concepts::LaguerreBasis< 1 > * shpfctDY() const =0
Returns the derivatives of the shape functions in x direction.
concepts::Real3d vertex(uint i) const
Returns the coordinates of the ith vertex of this element.
Definition: quad.hh:331
static enum concepts::intRule integrationTypeX_
Default behaviour: integration rule Gauss Jacobi (highest order).
Definition: quad.hh:414
intFormType
Integration form, which determines terms coming from integration over reference element.
Definition: integral.hh:29
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
std::unique_ptr< concepts::Karniadakis< 1, 1 > > shpfctDX_
The derivatives of the shape functions.
Definition: quad.hh:260
Quad(concepts::QuadNd &cell, const ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1)
Constructor.
std::unique_ptr< concepts::LaguerreBasis< 0 > > shpfctY_
The shape functions in local y-direction.
Definition: quad.hh:483
InfiniteLaguerreQuad(concepts::InfiniteQuad2d &cell, const ushort *p, concepts::TColumn< Real > *T0, concepts::TColumn< Real > *T1)
Constructor.
virtual ~QuadShapeFunctions()
static uint constNumerOfPointsX_
Number of integration points to use when constant number is requested.
Definition: quad.hh:421
#define conceptsAssert(cond, exc)
Assert that a certain condition is fulfilled.
Definition: exceptions.hh:394
virtual const concepts::ElementGraphics< F > * graphics() const
static enum concepts::intRule integrationTypeY_
Default behaviour: uniform points in [0, border] (Trapezoidal rule).
Definition: quad.hh:417
static std::unique_ptr< concepts::ElementGraphics< Real > > graphics_
Appropiate element graphics object.
Definition: quad.hh:480
MapReal2d inverseLaplace(const Real xi, const Real eta) const
Computes the second partial derivatives of the inverse Mapping.
static std::unique_ptr< concepts::QuadRuleFactoryTensor2d > factory_
Definition: quad.hh:166
const concepts::Karniadakis< 1, 0 > * shpfctX() const
Returns the shape functions in x direction.
Definition: quad.hh:233
concepts::MapReal2d jacobianInverse(const Real x, const Real y) const
Computes the inverse of the Jacobian.
Definition: quad.hh:59
void recomputeShapefunctions()
Recompute shape functions, e.g.
virtual ~BaseQuad()
concepts::MapReal2d jacobian(const Real x, const Real y) const
Computes the Jacobian.
Definition: quad.hh:45
static std::string integrationRule()
Returns information on the settings of the quadrature rule.
void computeShapefunctionsX_()
gets the shapefunctions in x direction
static bool useConstantNumberOfPointsY_
Definition: quad.hh:429
std::unique_ptr< concepts::Karniadakis< 1, 0 > > shpfctY_
Definition: quad.hh:258
A class for holding the shape functions of nodal elements on quadrilaterials for a particular polynom...
Definition: quad.hh:550
void recomputeShapefunctions(const uint nq[2])
virtual ~InfiniteQuad()
const concepts::QuadratureRule2d *const intRule() const
Definition: quad.hh:136
void setStrategy(const concepts::Quad2dSubdivision *strategy=0)
Sets the subdivision strategy of the underlying cell of this element.
Definition: quad.hh:109
Class holding the quadrature rule and the cell of a quadrilateral element.
Definition: quad.hh:31
virtual ~Quad()
BaseQuad(concepts::QuadNd &cell, const ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1)
Constructor.
const KarniadakisDeriv2 * shpfctY() const
Returns the shape functions in y direction.
Definition: quad.hh:574
InfiniteQuad & connector() const
Returns the quadrilateral connector (topology)
Definition: cell2D.hh:629
const Quad2dSubdivision * getStrategy() const
Returns the subdivision strategy of this quad.
Definition: cell2D.hh:559
virtual std::ostream & info(std::ostream &os) const
Class to represent the quadrature weights on all quadrature points.
Definition: quad.hh:495
virtual const concepts::ElementGraphics< F > * graphics() const =0
Returns element graphics class.
Part of the multidimensional expansion bases for the shape functions of Karniadakis and Sherwin.
Definition: quad.hh:517
const concepts::LaguerreBasis< 0 > * shpfctY() const
Returns the shape functions in x direction.
Definition: quad.hh:466
const concepts::Karniadakis< 1, 0 > * shpfctX() const
Returns the shape functions in x direction.
Definition: quad.hh:371
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.
Definition: quad.hh:40
std::unique_ptr< concepts::LaguerreBasis< 1 > > shpfctDY_
The derivatives of the shape functions in local y-direction.
Definition: quad.hh:485
virtual std::ostream & info(std::ostream &os) const
concepts::MapReal2d inverseLaplace(const Real x, const Real y) const
Definition: quad.hh:66
const concepts::Karniadakis< 1, 1 > * shpfctDX() const
Returns the derivatives of the shape functions in x direction.
Definition: quad.hh:376
void setQuadrature(enum concepts::intRule rule, uint noP)
Tensor integration setter routine in hp2D for hp2D::IntegrableQuads.
const concepts::QuadratureRule1d * integrationY() const
Returns the integration rule in y direction.
Definition: quad.hh:343
void recomputeShapefunctions()
void recomputeShapefunctions(const uint nq[2])
std::unique_ptr< concepts::Karniadakis< 1, 0 > > shpfctX_
The shape functions.
Definition: quad.hh:258
Quad(concepts::QuadNd &cell, const ushort *p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1)
Constructor.
void computeShapefunctions_(const concepts::QuadratureRule2d *intRule)
gets the shapefunctions, used in both constructors
Interface for geometrical subdivision strategies for quadrilaterals.
Definition: cell2D.hh:283
static uint addNumberOfPointsX_
Number of integration points to add to approximation order when varying number of integration points ...
Definition: quad.hh:425
const concepts::Quad2dSubdivision * getStrategy() const
Returns the subdivision strategy of the underlying cell of this element.
Definition: quad.hh:122
virtual std::ostream & info(std::ostream &os) const
QuadShapeFunctions(const ushort p, const concepts::QuadratureRule2d *intRule)
Constructor.
static void setIntegrationRuleY(bool constant, uint points, const Real border)
Sets the type of integration rule in y direction to use.
virtual std::ostream & info(std::ostream &os) const
A class for holding the shape functions of nodal elements on quadrilaterials for a particular polynom...
Definition: quad.hh:213
A base of a 2D quad FEM element for different basis functions.
Definition: arrayElementFormula.hh:17
IntegrableQuad(concepts::QuadNd &cell)
virtual const concepts::ElementGraphics< F > * graphics() const
virtual bool quadraturePoint(uint i, intPoint &p, intFormType form=ZERO, bool localCoord=false) const
Delivers a quadrature point.
virtual ~Quad()
virtual void setStrategy(const Quad2dSubdivision *strategy=0)
Sets the subdivision strategy of this quad.
InfiniteQuad(concepts::InfiniteQuad2d &cell, const ushort *p, concepts::TColumn< Real > *T0, concepts::TColumn< Real > *T1)
Constructor.
std::unique_ptr< concepts::Karniadakis< 1, 1 > > shpfctDX_
The derivatives of the shape functions.
Definition: quad.hh:436
Polynomial functions which gives a basis of the semi-infinite intervals after multiplication with fac...
Definition: laguerre.hh:67
const concepts::Karniadakis< 1, 1 > * shpfctDY() const
Returns the shape functions in y direction.
Definition: quad.hh:244
static bool useConstantNumberOfPointsX_
Use constant number of integration points (true) or not (false).
Definition: quad.hh:429
static concepts::QuadRuleFactoryTensor2d * factory_rp()
Access to the quadrature rule ( as factory() ) through a raw pointer.
Definition: quad.hh:149
virtual const concepts::ElementGraphics< Real > * graphics() const =0
const KarniadakisDeriv2 * shpfctX() const
Returns the shape functions in x direction.
Definition: quad.hh:570
const concepts::Karniadakis< 1, 1 > * shpfctDX() const
Returns the derivatives of the shape functions in x direction.
Definition: quad.hh:241
virtual ~InfiniteLaguerreQuad()
virtual Real3d elemMap(const Real2d &coord_local) const =0
Element map from point local coordinates in 2D.
static std::unique_ptr< concepts::ElementGraphics< F > > graphics_
Appropiate element graphics object.
Definition: quad.hh:620
virtual ~QuadShapeFunctions()
virtual const concepts::ElementGraphics< Real > * graphics() const
static void resetIntegrationRule()
Set the standard type of integration.
QuadShapeFunctions(const ushort p, const concepts::QuadratureRule2d *intRule)
Constructor.
void computeShapefunctionsY_()
gets the shapefunctions in x direction
virtual const concepts::LaguerreBasis< 0 > * shpfctY() const =0
Returns the shape functions in x direction.
This class is the same as QuadRuleFactory, but returning integration rules in 2d.
Definition: quadRule.hh:594
std::unique_ptr< KarniadakisDeriv2 > shpfctY_
Definition: quad.hh:583
static std::unique_ptr< concepts::ElementGraphics< F > > graphics_
Appropiate element graphics object.
Definition: quad.hh:305
Real3d vertex(uint i) const
Returns the coordinates of the ith vertex.
Real gramDeterminantRoot(const Real x, const Real y) const
Computes the sqaure root of the Gram determinant multiplied by 0.25 to incorporate the transformation...
Definition: quad.hh:91
KarniadakisDeriv2(const int P, const Real *xP, const int NxP, const bool cache=true)
Constructor.
const concepts::Karniadakis< 1, 0 > * shpfctY() const
Returns the shape functions in y direction.
Definition: quad.hh:237
Part of the multidimensional expansion bases for the shape functions of Karniadakis and Sherwin.
Definition: karniadakis.hh:163