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

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

A 2D FEM element: an infinite quad with basis based on Laguerre functions. More...

#include <quad.hh>

Inheritance diagram for hp2D::InfiniteLaguerreQuad:
Inheritance graph
[legend]
Collaboration diagram for hp2D::InfiniteLaguerreQuad:
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
 InfiniteLaguerreQuad (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.
void recomputeShapefunctions ()
const concepts::Karniadakis< 1, 1 > * shpfctDX () const
 Returns the derivatives of the shape functions in x direction.
const concepts::LaguerreBasis< 1 > * shpfctDY () const
 Returns the derivatives of the shape functions in x direction.
const concepts::Karniadakis< 1, 0 > * shpfctX () const
 Returns the shape functions in x direction.
const concepts::LaguerreBasis< 0 > * shpfctY () const
 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 ~InfiniteLaguerreQuad ()

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 Member Functions

void computeShapefunctionsY_ ()
 gets the shapefunctions in x direction

Private Attributes

std::auto_ptr
< concepts::LaguerreBasis< 1 > > 
shpfctDY_
 The derivatives of the shape functions in local y-direction.
std::auto_ptr
< concepts::LaguerreBasis< 0 > > 
shpfctY_
 The shape functions in local y-direction.

Static Private Attributes

static std::auto_ptr
< concepts::ElementGraphics
< Real > > 
graphics_
 Appropiate element graphics object.

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.

Author:
Kersten Schmidt, 2009.

Definition at line 390 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::InfiniteLaguerreQuad::InfiniteLaguerreQuad ( 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::InfiniteLaguerreQuad::~InfiniteLaguerreQuad ( ) [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, inherited]

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, inherited]

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, inherited]
void hp2D::InfiniteQuad::computeIntegrationRuleFromP_ ( const ushort *  p) [protected, inherited]
void hp2D::InfiniteQuad::computeShapefunctionsX_ ( ) [protected, inherited]

gets the shapefunctions in x direction

void hp2D::InfiniteLaguerreQuad::computeShapefunctionsY_ ( ) [private]

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::InfiniteLaguerreQuad::graphics ( ) const [virtual]

Implements hp2D::InfiniteQuad.

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

Returns information in an output stream.

Reimplemented from hp2D::InfiniteQuad.

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

Returns information on the settings of the quadrature rule.

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

Returns the integration rule in x direction.

Definition at line 277 of file quad.hh.

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

Returns the integration rule in y direction.

Definition at line 281 of file quad.hh.

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

Returns the polynomial degree.

The returned array has 2 elements.

Definition at line 274 of file quad.hh.

void hp2D::InfiniteLaguerreQuad::recomputeShapefunctions ( )
static void hp2D::InfiniteQuad::resetIntegrationRule ( ) [static, inherited]

Set the standard type of integration.

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

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, inherited]

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, inherited]

Returns the derivatives of the shape functions in x direction.

Definition at line 314 of file quad.hh.

const concepts::LaguerreBasis<1>* hp2D::InfiniteLaguerreQuad::shpfctDY ( ) const [inline, virtual]

Returns the derivatives of the shape functions in x direction.

Implements hp2D::InfiniteQuad.

Definition at line 408 of file quad.hh.

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

Returns the shape functions in x direction.

Definition at line 309 of file quad.hh.

const concepts::LaguerreBasis<0>* hp2D::InfiniteLaguerreQuad::shpfctY ( ) const [inline, virtual]

Returns the shape functions in x direction.

Implements hp2D::InfiniteQuad.

Definition at line 404 of file quad.hh.

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

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, inherited]

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

std::auto_ptr<concepts::ElementGraphics<Real> > hp2D::InfiniteLaguerreQuad::graphics_ [static, private]

Appropiate element graphics object.

Definition at line 418 of file quad.hh.

std::auto_ptr<concepts::QuadratureRule> hp2D::InfiniteQuad::intX_ [protected, inherited]

The integration rules.

Definition at line 341 of file quad.hh.

std::auto_ptr<concepts::QuadratureRule> hp2D::InfiniteQuad::intY_ [protected, inherited]

Definition at line 342 of file quad.hh.

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

Polynomial degree.

Definition at line 338 of file quad.hh.

The derivatives of the shape functions in local y-direction.

Definition at line 423 of file quad.hh.

The shape functions in local y-direction.

Definition at line 421 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.


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

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