49 #ifndef INTREPID_FUNCTIONSPACETOOLS_HPP
50 #define INTREPID_FUNCTIONSPACETOOLS_HPP
52 #include "Intrepid_ConfigDefs.hpp"
58 #include <Intrepid_KokkosRank.hpp>
106 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeIn>
108 const ArrayTypeIn & inVals);
149 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeJac,
class ArrayTypeIn>
151 const ArrayTypeJac & jacobianInverse,
152 const ArrayTypeIn & inVals,
153 const char transpose =
'T');
196 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeJac,
class ArrayTypeIn>
198 const ArrayTypeJac & jacobianInverse,
199 const ArrayTypeIn & inVals,
200 const char transpose =
'T');
244 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeJac,
class ArrayTypeDet,
class ArrayTypeIn>
246 const ArrayTypeJac & jacobian,
247 const ArrayTypeDet & jacobianDet,
248 const ArrayTypeIn & inVals,
249 const char transpose =
'N');
294 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeJac,
class ArrayTypeDet,
class ArrayTypeIn>
296 const ArrayTypeJac & jacobian,
297 const ArrayTypeDet & jacobianDet,
298 const ArrayTypeIn & inVals,
299 const char transpose =
'N');
343 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeDet,
class ArrayTypeIn>
345 const ArrayTypeDet & jacobianDet,
346 const ArrayTypeIn & inVals);
389 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeDet,
class ArrayTypeIn>
391 const ArrayTypeDet & jacobianDet,
392 const ArrayTypeIn & inVals);
408 template<
class Scalar>
412 const ECompEngine compEngine,
413 const bool sumInto =
false);
415 template<
class Scalar,
class ArrayOut,
class ArrayInLeft,
class ArrayInRight>
416 static void integrate(ArrayOut & outputValues,
417 const ArrayInLeft & leftValues,
418 const ArrayInRight & rightValues,
419 const ECompEngine compEngine,
420 const bool sumInto =
false);
429 template<
class Scalar,
class ArrayOut,
class ArrayInLeft,
class ArrayInRight,
int leftrank,
int outrank>
455 template<
class Scalar,
class ArrayOutFields,
class ArrayInFieldsLeft,
class ArrayInFieldsRight>
457 const ArrayInFieldsLeft & leftFields,
458 const ArrayInFieldsRight & rightFields,
459 const ECompEngine compEngine,
460 const bool sumInto =
false);
489 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
491 const ArrayInData & inputData,
492 const ArrayInFields & inputFields,
493 const ECompEngine compEngine,
494 const bool sumInto =
false);
521 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
523 const ArrayInDataLeft & inputDataLeft,
524 const ArrayInDataRight & inputDataRight,
525 const ECompEngine compEngine,
526 const bool sumInto =
false);
564 template<
class Scalar,
class ArrayOut,
class ArrayDet,
class ArrayWeights>
566 const ArrayDet & inDet,
567 const ArrayWeights & inWeights);
617 template<
class Scalar,
class ArrayOut,
class ArrayJac,
class ArrayWeights>
619 const ArrayJac & inJac,
620 const ArrayWeights & inWeights,
622 const shards::CellTopology & parentCell);
672 template<
class Scalar,
class ArrayOut,
class ArrayJac,
class ArrayWeights>
674 const ArrayJac & inJac,
675 const ArrayWeights & inWeights,
677 const shards::CellTopology & parentCell);
693 template<
class Scalar,
class ArrayTypeOut,
class ArrayTypeMeasure,
class ArrayTypeIn>
695 const ArrayTypeMeasure & inMeasure,
696 const ArrayTypeIn & inVals);
734 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
736 ArrayInData & inputData,
737 ArrayInFields & inputFields,
738 const bool reciprocal =
false);
772 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
774 ArrayInDataLeft & inputDataLeft,
775 ArrayInDataRight & inputDataRight,
776 const bool reciprocal =
false);
809 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
811 const ArrayInData & inputData,
812 const ArrayInFields & inputFields);
844 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
846 const ArrayInDataLeft & inputDataLeft,
847 const ArrayInDataRight & inputDataRight);
883 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
885 const ArrayInData & inputData,
886 const ArrayInFields & inputFields);
921 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
923 const ArrayInDataLeft & inputDataLeft,
924 const ArrayInDataRight & inputDataRight);
976 template<
class Scalar,
class ArrayOutFields,
class ArrayInData,
class ArrayInFields>
978 const ArrayInData & inputData,
979 const ArrayInFields & inputFields,
980 const char transpose =
'N');
1031 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight>
1033 const ArrayInDataLeft & inputDataLeft,
1034 const ArrayInDataRight & inputDataRight,
1035 const char transpose =
'N');
1043 template<
class Scalar,
class ArrayOutData,
class ArrayInDataLeft,
class ArrayInDataRight,
int outvalRank>
1071 template<
class Scalar,
class ArrayTypeInOut,
class ArrayTypeSign>
1073 const ArrayTypeSign & fieldSigns);
1101 template<
class Scalar,
class ArrayTypeInOut,
class ArrayTypeSign>
1103 const ArrayTypeSign & fieldSigns);
1127 template<
class Scalar,
class ArrayTypeInOut,
class ArrayTypeSign>
1129 const ArrayTypeSign & fieldSigns);
1169 template<
class Scalar,
class ArrayOutPo
intVals,
class ArrayInCoeffs,
class ArrayInFields>
1170 static void evaluate(ArrayOutPointVals & outPointVals,
1171 const ArrayInCoeffs & inCoeffs,
1172 const ArrayInFields & inFields);
Header file for utility class to provide multidimensional containers.