49#ifndef INTREPID_HGRAD_TRI_Cn_FEM_ORTHHPP
50#define INTREPID_HGRAD_TRI_Cn_FEM_ORTHHPP
65template<
class Scalar,
class ArrayScalar>
90 void getValues(ArrayScalar & outputValues,
91 const ArrayScalar & inputPoints,
92 const EOperator operatorType)
const;
97 void getValues(ArrayScalar & outputValues,
98 const ArrayScalar & inputPoints,
99 const ArrayScalar & cellVertices,
100 const EOperator operatorType = OPERATOR_VALUE)
const;
117template<
typename Scalar,
typename ArrayScalar,
unsigned derivOrder>
130 static void tabulate( ArrayScalar & outputValues ,
132 const ArrayScalar &inputPoints );
143template<
typename Scalar,
typename ArrayScalar>
155 static void tabulate( ArrayScalar & outputValues ,
157 const ArrayScalar &inputPoints );
164 static int idx(
int p,
int q)
166 return (p+q)*(p+q+1)/2+q;
187 static void jrc(
const Scalar &alpha ,
const Scalar &beta ,
189 Scalar &an , Scalar &bn, Scalar &cn )
191 an = (2.0 * n + 1.0 + alpha + beta) * ( 2.0 * n + 2.0 + alpha + beta )
192 / ( 2.0 * ( n + 1 ) * ( n + 1 + alpha + beta ) );
193 bn = (alpha*alpha-beta*beta)*(2.0*n+1.0+alpha+beta)
194 / ( 2.0*(n+1.0)*(2.0*n+alpha+beta)*(n+1.0+alpha+beta) );
195 cn = (n+alpha)*(n+beta)*(2.0*n+2.0+alpha+beta)
196 / ( (n+1.0)*(n+1.0+alpha+beta)*(2.0*n+alpha+beta) );
211template<
typename Scalar,
typename ArrayScalar>
224 static void tabulate( ArrayScalar & outputValues ,
226 const ArrayScalar &inputPoints );
Header file for the abstract base class Intrepid::Basis.
Definition file for FEM orthogonal basis functions of arbitrary degree for H(grad) functions on TRI.
Implementation of the default H(grad)-compatible orthogonal basis (Dubiner) of arbitrary degree on tr...
void getValues(ArrayScalar &outputValues, const ArrayScalar &inputPoints, const EOperator operatorType) const
Evaluation of a FEM basis on a reference Triangle cell.
void initializeTags()
Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays.
An abstract base class that defines interface for concrete basis implementations for Finite Element (...
static void jrc(const Scalar &alpha, const Scalar &beta, const int &n, Scalar &an, Scalar &bn, Scalar &cn)
function for computing the Jacobi recurrence coefficients so that
static int idx(int p, int q)
function for indexing from orthogonal expansion indices into linear space p+q = the degree of the pol...
This is an internal class with a static member function for tabulating derivatives of orthogonal expa...
static void tabulate(ArrayScalar &outputValues, const int deg, const ArrayScalar &inputPoints)
basic tabulate mathod evaluates the derivOrder^th derivatives of the basis functions at inputPoints i...