51 #ifndef INTREPID_POINTTOOLS_HPP
52 #define INTREPID_POINTTOOLS_HPP
54 #include "Shards_CellTopology.hpp"
55 #include "Teuchos_Assert.hpp"
216 const int offset = 0 )
218 switch( cellType.getKey() ) {
219 case shards::Tetrahedron<4>::key:
220 case shards::Tetrahedron<8>::key:
221 case shards::Tetrahedron<10>::key:
223 const int effectiveOrder = order - 4 * offset;
224 if (effectiveOrder < 0)
return 0;
225 else return (effectiveOrder+1)*(effectiveOrder+2)*(effectiveOrder+3)/6;
228 case shards::Triangle<3>::key:
229 case shards::Triangle<4>::key:
230 case shards::Triangle<6>::key:
232 const int effectiveOrder = order - 3 * offset;
233 if (effectiveOrder < 0)
return 0;
234 else return (effectiveOrder+1)*(effectiveOrder+2)/2;
237 case shards::Line<2>::key:
238 case shards::Line<3>::key:
240 const int effectiveOrder = order - 2 * offset;
241 if (effectiveOrder < 0)
return 0;
242 else return (effectiveOrder+1);
246 TEUCHOS_TEST_FOR_EXCEPTION(
true , std::invalid_argument ,
247 ">>> ERROR (Intrepid::PointTools::getLatticeSize): Illegal cell type" );
268 template<
class Scalar,
class ArrayType>
270 const shards::CellTopology& cellType ,
272 const int offset = 0 ,
273 const EPointType pointType = POINTTYPE_EQUISPACED );
281 template<
class Scalar,
class ArrayType>
302 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeIn1,
class ArrayTypeIn2>
304 const ArrayTypeIn1 & cartValues ,
305 const ArrayTypeIn2 & vertices );
324 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeIn1,
class ArrayTypeIn2>
326 const ArrayTypeIn1 & baryValues ,
327 const ArrayTypeIn2 & vertices );
346 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeIn1,
class ArrayTypeIn2>
348 const ArrayTypeIn1 & cartValues ,
349 const ArrayTypeIn2 & vertices );
367 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeIn1,
class ArrayTypeIn2>
369 const ArrayTypeIn1 & baryValues ,
370 const ArrayTypeIn2 & vertices );
388 template<
class Scalar,
class ArrayType>
392 const int offset = 0 );
410 template<
class Scalar,
class ArrayType>
414 const int offset = 0);
431 template<
class Scalar,
class ArrayType>
434 const int offset = 0 );
450 template<
class Scalar,
class ArrayType>
453 const int offset = 0 );
469 template<
class Scalar,
class ArrayType>
472 const int offset = 0 );
488 template<
class Scalar,
class ArrayType>
491 const int offset = 0 );
499 template<
class Scalar,
class ArrayType>
501 const ArrayType &xnodes ,
502 const ArrayType &xout ,
519 template<
class Scalar,
class ArrayType>
522 const int offset = 0 );
537 template<
class Scalar,
class ArrayType>
540 const int offset = 0 );
553 template<
class Scalar,
class ArrayType>
571 template<
class Scalar,
class ArrayType>
574 const ArrayType &L1 ,
575 const ArrayType &L2 ,
576 const ArrayType &L3 ,
585 template<
class Scalar,
class ArrayType>
586 static void evalwarp( ArrayType &warp ,
588 const ArrayType &xnodes ,
589 const ArrayType &xout );
Header file for utility class to provide multidimensional containers.
Header file for a set of functions providing orthogonal polynomial polynomial calculus and interpolat...