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

Implementation of the default H(grad)-compatible Lagrange basis of arbitrary degree on Triangle cell. More...

#include <Intrepid_HGRAD_TRI_Cn_FEM.hpp>

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

List of all members.

Public Member Functions

 Basis_HGRAD_TRI_Cn_FEM (const int n, const EPointType pointType)
 Constructor.
void getValues (ArrayScalar &outputValues, const ArrayScalar &inputPoints, const EOperator operatorType) const
 Evaluation of a FEM basis on a reference Triangle 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

virtual void initializeTags ()
 Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays.

Private Attributes

Basis_HGRAD_TRI_Cn_FEM_ORTH
< Scalar, FieldContainer
< Scalar > > 
Phis
 The orthogonal basis on triangles, out of which the nodal basis is constructed.
FieldContainer< Scalar > V
 The Vandermonde matrix with V_{ij} = phi_i(x_j), where x_j is the j_th point in the lattice.
FieldContainer< Scalar > Vinv
 The inverse of V. The columns of Vinv express the Lagrange basis in terms of the orthogonal basis.
FieldContainer< Scalar > latticePts
 stores the points at which degrees of freedom are located.

Detailed Description

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

Implementation of the default H(grad)-compatible Lagrange basis of arbitrary degree on Triangle cell.

Implements Lagrangian basis of degree n on the reference Triangle cell. The basis has cardinality (n+1)(n+2)/2 and spans a COMPLETE polynomial space of degree n. Basis functions are dual to a unisolvent set of degrees-of-freedom (DoF) defined on a lattice of order n (see PointTools). In particular, the degrees of freedom are point evaluation at

The distribution of these points is specified by the pointType argument to the class constructor. Currently, either equispaced lattice points or Warburton's warp-blend points are available.

The dof are enumerated according to the ordering on the lattice (see PointTools). In particular, dof number 0 is at the bottom left vertex (0,0). The dof increase along the lattice with points along the lines of constant x adjacent in the enumeration.

Definition at line 70 of file Intrepid_HGRAD_TRI_Cn_FEM.hpp.


Member Function Documentation

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

Evaluation of a FEM basis on a reference Triangle cell.

Returns values of operatorType acting on FEM basis functions for a set of points in the reference Triangle 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 171 of file Intrepid_HGRAD_TRI_Cn_FEMDef.hpp.

References Intrepid::Basis< Scalar, ArrayScalar >::getBaseCellTopology(), Intrepid::Basis< Scalar, ArrayScalar >::getCardinality(), Intrepid::Basis_HGRAD_TRI_Cn_FEM_ORTH< Scalar, ArrayScalar >::getValues(), Intrepid::Basis_HGRAD_TRI_Cn_FEM< Scalar, ArrayScalar >::Phis, and Intrepid::Basis_HGRAD_TRI_Cn_FEM< Scalar, ArrayScalar >::Vinv.

Referenced by main().


The documentation for this class was generated from the following files:
Generated on Mon Jan 31 09:55:55 2011 for Intrepid by  doxygen 1.6.3