Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | Static Private Attributes
hp2D::InfiniteQuad Class Reference

A 2D FEM element: an infinite quad. More...

#include <quad.hh>

Inheritance diagram for hp2D::InfiniteQuad:
Inheritance graph
[legend]
Collaboration diagram for hp2D::InfiniteQuad:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Real type

Public Member Functions

void appendT (concepts::TColumn< Real > *T)
 Appends the T columns to the T matrix.
const concepts::InfiniteQuad2dcell () const
 Returns the cell on which the element is built.
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 =0
 InfiniteQuad (concepts::InfiniteQuad2d &cell, const ushort *p, concepts::TColumn< Real > *T0, concepts::TColumn< Real > *T1)
 Constructor.
const concepts::QuadratureRuleintegrationX () const
 Returns the integration rule in x direction.
const concepts::QuadratureRuleintegrationY () const
 Returns the integration rule in y direction.
const ushort * p () const
 Returns the polynomial degree.
const concepts::Karniadakis< 1, 1 > * shpfctDX () const
 Returns the derivatives of the shape functions in x direction.
virtual const
concepts::LaguerreBasis< 1 > * 
shpfctDY () const =0
 Returns the derivatives of the shape functions in x direction.
const concepts::Karniadakis< 1, 0 > * shpfctX () const
 Returns the shape functions in x direction.
virtual const
concepts::LaguerreBasis< 0 > * 
shpfctY () const =0
 Returns the shape functions in x direction.
const concepts::Connector2support () const
 Returns the topological support of the element.
virtual const
concepts::TMatrix< Real > & 
T () const
 Returns the T matrix of the element.
uint & tag ()
 Returns the tag.
concepts::Real3d vertex (uint i) const
 Returns the coordinates of the ith vertex of this element.
virtual ~InfiniteQuad ()

Static Public Member Functions

static Real & borderY ()
 Largest value in local y coordinates. Default is 1.0.
static std::string integrationRule ()
 Returns information on the settings of the quadrature rule.
static void resetIntegrationRule ()
 Set the standard type of integration.
static void setIntegrationRuleX (enum concepts::intRule rule, bool constant, uint points)
 Sets the type of integration rule in x direction to use.
static void setIntegrationRuleY (bool constant, uint points, const Real border)
 Sets the type of integration rule in y direction to use.

Protected Member Functions

void computeIntegrationRule_ (const uint nq[2])
void computeIntegrationRuleFromP_ (const ushort *p)
void computeShapefunctionsX_ ()
 gets the shapefunctions in x direction
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

std::auto_ptr
< concepts::QuadratureRule
intX_
 The integration rules.
std::auto_ptr
< concepts::QuadratureRule
intY_
ushort p_ [2]
 Polynomial degree.
concepts::TMatrix< Real > T_
 T matrix of the element.

Private Attributes

static uint addNumberOfPointsY_
concepts::InfiniteQuad2dcell_
 The cell.
static uint constNumerOfPointsY_
std::auto_ptr
< concepts::Karniadakis< 1, 1 > > 
shpfctDX_
 The derivatives of the shape functions.
std::auto_ptr
< concepts::Karniadakis< 1, 0 > > 
shpfctX_
 The shape functions.
static bool useConstantNumberOfPointsY_

Static Private Attributes

static uint addNumberOfPointsX_
 Number of integration points to add to approximation order when varying number of integration points is requested.
static Real borderY_
 Largest value in local y coordinates. Default is 1.0.
static uint constNumerOfPointsX_
 Number of integration points to use when constant number is requested.
static enum concepts::intRule integrationTypeX_
 Default behaviour: integration rule Gauss Jacobi (highest order).
static enum concepts::intRule integrationTypeY_
 Default behaviour: uniform points in [0, border] (Trapezoidal rule).
static bool useConstantNumberOfPointsX_
 Use constant number of integration points (true) or not (false).

Detailed Description

A 2D FEM element: an infinite quad.

Author:
Kersten Schmidt, 2009.

Definition at line 255 of file quad.hh.


Member Typedef Documentation

typedef Real concepts::Element< Real >::type [inherited]

Definition at line 53 of file element.hh.


Constructor & Destructor Documentation

hp2D::InfiniteQuad::InfiniteQuad ( concepts::InfiniteQuad2d cell,
const ushort *  p,
concepts::TColumn< Real > *  T0,
concepts::TColumn< Real > *  T1 
)

Constructor.

Parameters:
cellCell on which the element is defined
pPolynomial degree (might be anisotropic)
T0Part of the T matrix
T1Part of the T matrix
virtual hp2D::InfiniteQuad::~InfiniteQuad ( ) [virtual]

Member Function Documentation

void hp2D::Element< Real >::appendT ( concepts::TColumn< Real > *  T) [inline, inherited]

Appends the T columns to the T matrix.

Definition at line 41 of file element.hh.

static Real& hp2D::InfiniteQuad::borderY ( ) [inline, static]

Largest value in local y coordinates. Default is 1.0.

Definition at line 326 of file quad.hh.

const concepts::InfiniteQuad2d& hp2D::InfiniteQuad::cell ( ) const [inline, virtual]

Returns the cell on which the element is built.

Possible are tetrahedrons, hexahedron, prims and pyramids.

Implements hp2D::Element< Real >.

Definition at line 270 of file quad.hh.

void hp2D::InfiniteQuad::computeIntegrationRule_ ( const uint  nq[2]) [protected]
void hp2D::InfiniteQuad::computeIntegrationRuleFromP_ ( const ushort *  p) [protected]
void hp2D::InfiniteQuad::computeShapefunctionsX_ ( ) [protected]

gets the shapefunctions in x direction

Real3d concepts::ElementWithCell< Real >::elemMap ( const Real  coord_local) const [inline, inherited]

Definition at line 83 of file element.hh.

Here is the call graph for this function:

Real3d concepts::ElementWithCell< Real >::elemMap ( const Real2d coord_local) const [inline, inherited]

Definition at line 87 of file element.hh.

Here is the call graph for this function:

Real3d concepts::ElementWithCell< Real >::elemMap ( const Real3d coord_local) const [inline, inherited]

Definition at line 91 of file element.hh.

Here is the call graph for this function:

virtual const concepts::ElementGraphics<Real>* hp2D::InfiniteQuad::graphics ( ) const [pure virtual]

Reimplemented from concepts::Element< Real >.

Implemented in hp2D::InfiniteLaguerreQuad.

virtual std::ostream& hp2D::InfiniteQuad::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from hp2D::Element< Real >.

Reimplemented in hp2D::InfiniteLaguerreQuad.

static std::string hp2D::InfiniteQuad::integrationRule ( ) [static]

Returns information on the settings of the quadrature rule.

const concepts::QuadratureRule* hp2D::InfiniteQuad::integrationX ( ) const [inline]

Returns the integration rule in x direction.

Definition at line 277 of file quad.hh.

const concepts::QuadratureRule* hp2D::InfiniteQuad::integrationY ( ) const [inline]

Returns the integration rule in y direction.

Definition at line 281 of file quad.hh.

const ushort* hp2D::InfiniteQuad::p ( ) const [inline]

Returns the polynomial degree.

The returned array has 2 elements.

Definition at line 274 of file quad.hh.

static void hp2D::InfiniteQuad::resetIntegrationRule ( ) [static]

Set the standard type of integration.

static void hp2D::InfiniteQuad::setIntegrationRuleX ( enum concepts::intRule  rule,
bool  constant,
uint  points 
) [static]

Sets the type of integration rule in x direction to use.

Parameters:
ruleDetermines the integration rule
constantUse constant number of points
pointsNumber of points to use (for constant = true) or points to add to approximation order (for constant = false)
static void hp2D::InfiniteQuad::setIntegrationRuleY ( bool  constant,
uint  points,
const Real  border 
) [static]

Sets the type of integration rule in y direction to use.

Parameters:
constantUse constant number of points
pointsNumber of points to use (for constant = true) or points to add to approximation order (for constant = false)
borderLargest value in local y coordinates.
const concepts::Karniadakis<1,1>* hp2D::InfiniteQuad::shpfctDX ( ) const [inline]

Returns the derivatives of the shape functions in x direction.

Definition at line 314 of file quad.hh.

virtual const concepts::LaguerreBasis<1>* hp2D::InfiniteQuad::shpfctDY ( ) const [pure virtual]

Returns the derivatives of the shape functions in x direction.

Implemented in hp2D::InfiniteLaguerreQuad.

const concepts::Karniadakis<1,0>* hp2D::InfiniteQuad::shpfctX ( ) const [inline]

Returns the shape functions in x direction.

Definition at line 309 of file quad.hh.

virtual const concepts::LaguerreBasis<0>* hp2D::InfiniteQuad::shpfctY ( ) const [pure virtual]

Returns the shape functions in x direction.

Implemented in hp2D::InfiniteLaguerreQuad.

const concepts::Connector2& hp2D::InfiniteQuad::support ( ) const [inline, virtual]

Returns the topological support of the element.

Possible supports for an element are quadrilaterals and triangles.

Implements hp2D::Element< Real >.

Definition at line 268 of file quad.hh.

Here is the call graph for this function:

virtual const concepts::TMatrix<Real >& hp2D::Element< Real >::T ( ) const [inline, virtual, inherited]

Returns the T matrix of the element.

Implements concepts::Element< Real >.

Definition at line 38 of file element.hh.

uint& concepts::Element< Real >::tag ( ) [inline, inherited]

Returns the tag.

Definition at line 65 of file element.hh.

concepts::Real3d hp2D::InfiniteQuad::vertex ( uint  i) const [inline, virtual]

Returns the coordinates of the ith vertex of this element.

Parameters:
iIndex of the vertex

Implements hp2D::Element< Real >.

Definition at line 269 of file quad.hh.

Here is the call graph for this function:


Member Data Documentation

Number of integration points to add to approximation order when varying number of integration points is requested.

Default is 2.

Definition at line 363 of file quad.hh.

Definition at line 363 of file quad.hh.

Real hp2D::InfiniteQuad::borderY_ [static, private]

Largest value in local y coordinates. Default is 1.0.

Definition at line 369 of file quad.hh.

The cell.

Definition at line 345 of file quad.hh.

Number of integration points to use when constant number is requested.

Default values are 10 and 5.

Definition at line 359 of file quad.hh.

Definition at line 359 of file quad.hh.

Default behaviour: integration rule Gauss Jacobi (highest order).

The default value is 4 (Gauss Jacobi). Other possible values are 0 (Gauss Lobatto) for better graphics (connected elements). Use setIntegrationRule() to change it.

Definition at line 352 of file quad.hh.

Default behaviour: uniform points in [0, border] (Trapezoidal rule).

Definition at line 355 of file quad.hh.

The integration rules.

Definition at line 341 of file quad.hh.

Definition at line 342 of file quad.hh.

ushort hp2D::InfiniteQuad::p_[2] [protected]

Polynomial degree.

Definition at line 338 of file quad.hh.

std::auto_ptr<concepts::Karniadakis<1,1> > hp2D::InfiniteQuad::shpfctDX_ [private]

The derivatives of the shape functions.

Definition at line 374 of file quad.hh.

std::auto_ptr<concepts::Karniadakis<1,0> > hp2D::InfiniteQuad::shpfctX_ [private]

The shape functions.

Definition at line 372 of file quad.hh.

concepts::TMatrix<Real > hp2D::Element< Real >::T_ [protected, inherited]

T matrix of the element.

Definition at line 57 of file element.hh.

Use constant number of integration points (true) or not (false).

Default is false (ie. varying number of points).

Definition at line 367 of file quad.hh.

Definition at line 367 of file quad.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)