Intrepid::Basis_HGRAD_LINE_Cn_FEM< Scalar, ArrayScalar > Class Template Reference

Implementation of the locally H(grad)-compatible FEM basis of variable order on the [-1,1] reference line cell, using Lagrange polynomials. More...

#include <Intrepid_HGRAD_LINE_Cn_FEM.hpp>

Inheritance diagram for Intrepid::Basis_HGRAD_LINE_Cn_FEM< Scalar, ArrayScalar >:
Intrepid::Basis< Scalar, ArrayScalar >

List of all members.

Public Member Functions

 Basis_HGRAD_LINE_Cn_FEM (int order, const ArrayScalar &pts)
 Constructor.
 Basis_HGRAD_LINE_Cn_FEM (int order, const EPointType &pointType)
 Constructor.
void getValues (ArrayScalar &outputValues, const ArrayScalar &inputPoints, const EOperator operatorType) const
 Evaluation of a FEM basis on a reference Line cell.
void getValues (ArrayScalar &outputValues, const ArrayScalar &inputPoints, const ArrayScalar &cellVertices, const EOperator operatorType=OPERATOR_VALUE) const
 FVD basis evaluation: invocation of this method throws an exception.

Private Member Functions

void initializeTags ()
 Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays.

Private Attributes

FieldContainer< Scalar > latticePts_
 Holds the points defining the Lagrange basis.
Basis_HGRAD_LINE_Cn_FEM_JACOBI
< Scalar, FieldContainer
< Scalar > > 
Phis_
 orthogonal basis
FieldContainer< Scalar > V_
 Generalized Vandermonde matrix V_{ij} = phis_i(x_j).
FieldContainer< Scalar > Vinv_
 inverse of Generalized Vandermonde matrix, whose columns store the expansion coefficients of the nodal basis in terms of phis_

Detailed Description

template<class Scalar, class ArrayScalar>
class Intrepid::Basis_HGRAD_LINE_Cn_FEM< Scalar, ArrayScalar >

Implementation of the locally H(grad)-compatible FEM basis of variable order on the [-1,1] reference line cell, using Lagrange polynomials.

Implements Lagrange basis of variable order $n$ on the reference [-1,1] line cell. The distribution of the points may be equispaced points with our without the endpoints, the Gauss-Legendre or Gauss-Lobatto points. These points are {x_i}_{i=0}^n. with x_i < x_{i+1}

The basis has cardinality $n+1$ and spans a COMPLETE linear polynomial space. Basis functions are dual to a unisolvent set of degrees of freedom (DoF) n_i( psi ) = psi(x_i). The DoF are ordered by i. The DoF at points -1 and 1 (if included in {x_i} are attached to the vertices, and the rest of the DoF are attached to the edge itself.

Definition at line 64 of file Intrepid_HGRAD_LINE_Cn_FEM.hpp.


Constructor & Destructor Documentation

template<class Scalar , class ArrayScalar >
Intrepid::Basis_HGRAD_LINE_Cn_FEM< Scalar, ArrayScalar >::Basis_HGRAD_LINE_Cn_FEM ( int  order,
const EPointType &  pointType 
) [inline]

Member Function Documentation

template<class Scalar , class ArrayScalar >
void Intrepid::Basis_HGRAD_LINE_Cn_FEM< Scalar, ArrayScalar >::getValues ( ArrayScalar &  outputValues,
const ArrayScalar &  inputPoints,
const EOperator  operatorType 
) const [inline, virtual]

Evaluation of a FEM basis on a reference Line cell.

Returns values of operatorType acting on FEM basis functions for a set of points in the reference Line cell. For rank and dimensions of I/O array arguments see Section MD array template arguments for basis methods .

Parameters:
outputValues [out] - variable rank array with the basis values
inputPoints [in] - rank-2 array (P,D) with the evaluation points
operatorType [in] - the operator acting on the basis functions

Implements Intrepid::Basis< Scalar, ArrayScalar >.

Definition at line 233 of file Intrepid_HGRAD_LINE_Cn_FEMDef.hpp.

References Intrepid::Basis< Scalar, ArrayScalar >::getBaseCellTopology(), Intrepid::Basis< Scalar, ArrayScalar >::getCardinality(), Intrepid::Basis_HGRAD_LINE_Cn_FEM_JACOBI< Scalar, ArrayScalar >::getValues(), Intrepid::Basis_HGRAD_LINE_Cn_FEM< Scalar, ArrayScalar >::Phis_, and Intrepid::Basis_HGRAD_LINE_Cn_FEM< Scalar, ArrayScalar >::Vinv_.


The documentation for this class was generated from the following files:
Generated on Wed Mar 31 15:02:19 2010 for Intrepid by  doxygen 1.6.3