49 #ifndef INTREPID_HGRAD_TRI_Cn_FEM_ORTHHPP
50 #define INTREPID_HGRAD_TRI_Cn_FEM_ORTHHPP
65 template<
class Scalar,
class ArrayScalar>
90 void getValues(ArrayScalar & outputValues,
91 const ArrayScalar & inputPoints,
97 void getValues(ArrayScalar & outputValues,
98 const ArrayScalar & inputPoints,
99 const ArrayScalar & cellVertices,
100 const EOperator operatorType = OPERATOR_VALUE)
const;
117 template<
typename Scalar,
typename ArrayScalar,
unsigned derivOrder>
130 static void tabulate( ArrayScalar & outputValues ,
132 const ArrayScalar &inputPoints );
143 template<
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) );
211 template<
typename Scalar,
typename ArrayScalar>
224 static void tabulate( ArrayScalar & outputValues ,
226 const ArrayScalar &inputPoints );