hp2FEM  0.1
Public Member Functions | Protected Attributes
Polynomials1D Class Reference

Polynomials1D is a container class. Its aim is to call the apropriate 1D polynomials class according to the given polynomial type. The following polynomial bases are implemented: Lagrange, Truncated Lagrange and Jacobi. Only one object of the available 1D polynomial basis is created for each instance of this class. More...

#include <Polynomials1D.h>

Collaboration diagram for Polynomials1D:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Polynomials1D ()
 Default constructor.
 Polynomials1D (PolynomialType_E PolynomialType, unsigned long Alpha, unsigned long Beta)
 Constructor with parameters.
 Polynomials1D (Polynomials1D &Instance)
 Copy-initializer constructor.
 ~Polynomials1D ()
 Class destructor.
Polynomials1Doperator= (Polynomials1D &Instance)
 Copies the contents of instance to the object.
void SetPolynomials1DAttributes (PolynomialType_E PolynomialType, unsigned long Alpha, unsigned long Beta)
 Sets the attributes for Polynomial1D.
void GetPolynomialValue (unsigned long PolyOrder, QuadCollocType_E QuadratureType, unsigned long Alpha, unsigned long Beta, double *const CollocCoordinates, double *const Coordinates, unsigned long NumCoordinates, double *Phi)
 Return the polynomial values on Coordinates.
void Get1stDerivative (unsigned long PolyOrder, QuadCollocType_E QuadratureType, unsigned long Alpha, unsigned long Beta, double *const CollocCoordinates, double *const Coordinates, unsigned long NumCoordinates, double *dPhi)
 Return the polynomial first derivatives values on Coordinates.
void Get2ndDerivative (unsigned long PolyOrder, QuadCollocType_E QuadratureType, unsigned long Alpha, unsigned long Beta, double *const CollocCoordinates, double *const Coordinates, unsigned long NumCoordinates, double *d2Phi)
 Return the polynomial second derivatives values on Coordinates.

Protected Attributes

PolynomialType_E PolyType
 Polynomial type.
unsigned long Alpha
 Orthogonal polynomial weight alpha.
unsigned long Beta
 Orthogonal polynomial weight beta.
LagrangeJacobi1D LagJacPoly
 Variable of the type LagrangeJacobi1D class.
Jacobi1D JacPoly
 Variable of the type Jacobi1D class.
Hermite1D HermPoly
 Variable of the type Hermite1D class.
StandardLagrange1D StLagPoly
 Variable of the type StandardLagrange1D class.
TruncatedLagrange1D TrLagPoly
 Variable of the type TruncatedLagrange1D class.
Lobatto1D LobattoPoly
 Variable of the type Lobatto1D class.

Detailed Description

Polynomials1D is a container class. Its aim is to call the apropriate 1D polynomials class according to the given polynomial type. The following polynomial bases are implemented: Lagrange, Truncated Lagrange and Jacobi. Only one object of the available 1D polynomial basis is created for each instance of this class.

Author:
Fabiano Fernandes Bargos/Marco Lcio Bittencourt
Date:
March/17/2011

Constructor & Destructor Documentation

Polynomials1D::Polynomials1D ( PolynomialType_E  PolynomialType,
unsigned long  Alpha,
unsigned long  Beta 
)

Constructor with parameters.

Parameters:
[in]PolynomialType- type of the 1D polynomial basis
[in]Alpha,Beta,:weights of the orthogonal polynomials.

Copy-initializer constructor.

Parameters:
[in]Instance- instance of the Polynomials1D class.

Member Function Documentation

void Polynomials1D::Get1stDerivative ( unsigned long  PolyOrder,
QuadCollocType_E  QuadratureType,
unsigned long  Alpha,
unsigned long  Beta,
double *const  CollocCoordinates,
double *const  Coordinates,
unsigned long  NumCoordinates,
double *  dPhi 
)

Return the polynomial first derivatives values on Coordinates.

Parameters:
[in]PolyOrder- polynomial order.
[in]CollocationType- Type of collocation quadrature. The following opitons are avaialble: 'GAUSS_JACOBI', 'GAUSS_LEGENDRE', 'GAUSS_RADAU_JACOBI', 'GAUSS_RADAU_LEGENDRE', 'GAUSS_LOBATTO_JACOBI', 'GAUSS_LOBATTO_LEGENDRE' and 'EQUALLY_SPACED'.
[in]Alpha,Beta- Weights of the Jacobi polynomials (integers and greater than -1).
[in]CollocCoordinates: Collocation points coordinates for nodal basis.
[in]Coordinates- Coordinates on which the polynomial first derivative values are calculated.
[in]NumCoordinates- number of coordinates where the polynomials are calculated for the Collocation points.
[out]dPhi: array with the polynomial first derivatives values for all coordinates.
void Polynomials1D::Get2ndDerivative ( unsigned long  PolyOrder,
QuadCollocType_E  QuadratureType,
unsigned long  Alpha,
unsigned long  Beta,
double *const  CollocCoordinates,
double *const  Coordinates,
unsigned long  NumCoordinates,
double *  d2Phi 
)

Return the polynomial second derivatives values on Coordinates.

Parameters:
[in]PolyOrder- polynomial order.
[in]CollocationType- Type of collocation quadrature. The following opitons are avaialble: 'GAUSS_JACOBI', 'GAUSS_LEGENDRE', 'GAUSS_RADAU_JACOBI', 'GAUSS_RADAU_LEGENDRE', 'GAUSS_LOBATTO_JACOBI', 'GAUSS_LOBATTO_LEGENDRE' and 'EQUALLY_SPACED'.
[in]Alpha,Beta- Weights of the Jacobi polynomials (integers and greater than -1).
[in]CollocCoordinates: Collocation points coordinates for nodal basis.
[in]Coordinates- Coordinates on which the polynomial second derivatives values are calculated.
[in]NumCollocCoordinates- number of coordinates where the polynomials are calculated..
[out]d2Phi: array with the polynomial second derivatives values for all coordinates.
void Polynomials1D::GetPolynomialValue ( unsigned long  PolyOrder,
QuadCollocType_E  QuadratureType,
unsigned long  Alpha,
unsigned long  Beta,
double *const  CollocCoordinates,
double *const  Coordinates,
unsigned long  NumCoordinates,
double *  Phi 
)

Return the polynomial values on Coordinates.

Parameters:
[in]PolyOrder- polynomial order.
[in]CollocationType- Type of collocation quadrature. The following opitons are avaialble: 'GAUSS_JACOBI', 'GAUSS_LEGENDRE', 'GAUSS_RADAU_JACOBI', 'GAUSS_RADAU_LEGENDRE', 'GAUSS_LOBATTO_JACOBI', 'GAUSS_LOBATTO_LEGENDRE' and 'EQUALLY_SPACED'.
[in]Alpha,Beta- Weights of the Jacobi polynomials (integers and greater than -1).
[in]CollocCoordinates: Collocation points coordinates for nodal basis.
[in]Coordinates- Coordinates on which the polynomial values are calculated.
[in]NumCoordinates- number of coordinates where the polynomials are calculated.
[out]Phi: array with the polynomial values for all coordinates.
Polynomials1D & Polynomials1D::operator= ( Polynomials1D Instance)

Copies the contents of instance to the object.

Parameters:
[in]Instance- instance of the Polynomials1D class
Returns:
Instance of the Polynomials1D class
void Polynomials1D::SetPolynomials1DAttributes ( PolynomialType_E  PolynomialType,
unsigned long  Alpha,
unsigned long  Beta 
)

Sets the attributes for Polynomial1D.

Parameters:
[in]PolynomialType- type of the 1D polynomial basis
[in]Alpha,Beta,:weights of the orthogonal polynomials.

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Friends Defines