Intrepid2
Intrepid2_FunctionSpaceTools.hpp
Go to the documentation of this file.
1 // @HEADER
2 // ************************************************************************
3 //
4 // Intrepid2 Package
5 // Copyright (2007) Sandia Corporation
6 //
7 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8 // license for use of this work by or on behalf of the U.S. Government.
9 //
10 // Redistribution and use in source and binary forms, with or without
11 // modification, are permitted provided that the following conditions are
12 // met:
13 //
14 // 1. Redistributions of source code must retain the above copyright
15 // notice, this list of conditions and the following disclaimer.
16 //
17 // 2. Redistributions in binary form must reproduce the above copyright
18 // notice, this list of conditions and the following disclaimer in the
19 // documentation and/or other materials provided with the distribution.
20 //
21 // 3. Neither the name of the Corporation nor the names of the
22 // contributors may be used to endorse or promote products derived from
23 // this software without specific prior written permission.
24 //
25 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 //
37 // Questions? Contact Kyungjoo Kim (kyukim@sandia.gov), or
38 // Mauro Perego (mperego@sandia.gov)
39 //
40 // ************************************************************************
41 // @HEADER
42 
49 #ifndef __INTREPID2_FUNCTIONSPACETOOLS_HPP__
50 #define __INTREPID2_FUNCTIONSPACETOOLS_HPP__
51 
52 #include "Intrepid2_ConfigDefs.hpp"
53 
54 #include "Shards_CellTopology.hpp"
55 #include "Shards_BasicTopologies.hpp"
56 
57 #include "Intrepid2_Types.hpp"
58 #include "Intrepid2_Utils.hpp"
59 
60 #include "Intrepid2_Kernels.hpp"
61 
62 #include "Intrepid2_ArrayTools.hpp"
64 #include "Intrepid2_CellTools.hpp"
65 
66 #include "Kokkos_Core.hpp"
67 
68 
69 namespace Intrepid2 {
70 
77  template<typename ExecSpaceType = void>
79  public:
119  template<typename outputValueType, class ...outputProperties,
120  typename inputValueType, class ...inputProperties>
121  static void
122  HGRADtransformVALUE( Kokkos::DynRankView<outputValueType,outputProperties...> output,
123  const Kokkos::DynRankView<inputValueType, inputProperties...> input );
124 
166  template<typename outputValValueType, class ...outputValProperties,
167  typename jacobianInverseValueType, class ...jacobianInverseProperties,
168  typename inputValValueType, class ...inputValProperties>
169  static void
170  HGRADtransformGRAD( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
171  const Kokkos::DynRankView<jacobianInverseValueType,jacobianInverseProperties...> jacobianInverse,
172  const Kokkos::DynRankView<inputValValueType, inputValProperties...> inputVals );
173 
214  template<typename outputValValueType, class ...outputValProperties,
215  typename jacobianInverseValueType, class ...jacobianInverseProperties,
216  typename inputValValueType, class ...inputValProperties>
217  static void
218  HCURLtransformVALUE( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
219  const Kokkos::DynRankView<jacobianInverseValueType,jacobianInverseProperties...> jacobianInverse,
220  const Kokkos::DynRankView<inputValValueType, inputValProperties...> inputVals );
221 
265  template<typename outputValValueType, class ...outputValProperties,
266  typename jacobianValueType, class ...jacobianProperties,
267  typename jacobianDetValueType, class ...jacobianDetProperties,
268  typename inputValValueType, class ...inputValProperties>
269  static void
270  HCURLtransformCURL( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
271  const Kokkos::DynRankView<jacobianValueType, jacobianProperties...> jacobian,
272  const Kokkos::DynRankView<jacobianDetValueType,jacobianDetProperties...> jacobianDet,
273  const Kokkos::DynRankView<inputValValueType, inputValProperties...> inputVals );
274 
318  template<typename outputValValueType, class ...outputValProperties,
319  typename jacobianValueType, class ...jacobianProperties,
320  typename jacobianDetValueType, class ...jacobianDetProperties,
321  typename inputValValueType, class ...inputValProperties>
322  static void
323  HDIVtransformVALUE( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
324  const Kokkos::DynRankView<jacobianValueType, jacobianProperties...> jacobian,
325  const Kokkos::DynRankView<jacobianDetValueType,jacobianDetProperties...> jacobianDet,
326  const Kokkos::DynRankView<inputValValueType, inputValProperties...> inputVals );
327 
369  template<typename outputValValueType, class ...outputValProperties,
370  typename jacobianDetValueType, class ...jacobianDetProperties,
371  typename inputValValueType, class ...inputValProperties>
372  static void
373  HDIVtransformDIV( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
374  const Kokkos::DynRankView<jacobianDetValueType,jacobianDetProperties...> jacobianDet,
375  const Kokkos::DynRankView<inputValValueType, inputValProperties...> inputVals );
376 
417  template<typename outputValValueType, class ...outputValProperties,
418  typename jacobianDetValueType, class ...jacobianDetProperties,
419  typename inputValValueType, class ...inputValProperties>
420  static void
421  HVOLtransformVALUE( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
422  const Kokkos::DynRankView<jacobianDetValueType,jacobianDetProperties...> jacobianDet,
423  const Kokkos::DynRankView<inputValValueType, inputValProperties...> inputVals );
424 
425 
439  template<typename outputValueValueType, class ...outputValueProperties,
440  typename leftValueValueType, class ...leftValueProperties,
441  typename rightValueValueType, class ...rightValueProperties>
442  static void
443  integrate( Kokkos::DynRankView<outputValueValueType,outputValueProperties...> outputValues,
444  const Kokkos::DynRankView<leftValueValueType, leftValueProperties...> leftValues,
445  const Kokkos::DynRankView<rightValueValueType, rightValueProperties...> rightValues,
446  const bool sumInto = false);
447 
448 
479  template<typename outputValValueType, class ...outputValProperties,
480  typename inputDetValueType, class ...inputDetPropertes,
481  typename inputWeightValueType, class ...inputWeightPropertes>
482  static bool
483  computeCellMeasure( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
484  const Kokkos::DynRankView<inputDetValueType, inputDetPropertes...> inputDet,
485  const Kokkos::DynRankView<inputWeightValueType,inputWeightPropertes...> inputWeights );
486 
533  template<typename outputValValueType, class ...outputValProperties,
534  typename inputJacValueType, class ...inputJacProperties,
535  typename inputWeightValueType, class ...inputWeightPropertes,
536  typename scratchValueType, class ...scratchProperties>
537  static void
538  computeFaceMeasure( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
539  const Kokkos::DynRankView<inputJacValueType, inputJacProperties...> inputJac,
540  const Kokkos::DynRankView<inputWeightValueType,inputWeightPropertes...> inputWeights,
541  const int whichFace,
542  const shards::CellTopology parentCell,
543  const Kokkos::DynRankView<scratchValueType, scratchProperties...> scratch );
544 
589  template<typename outputValValueType, class ...outputValProperties,
590  typename inputJacValueType, class ...inputJacProperties,
591  typename inputWeightValueType, class ...inputWeightProperties,
592  typename scratchValueType, class ...scratchProperties>
593  static void
594  computeEdgeMeasure( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
595  const Kokkos::DynRankView<inputJacValueType, inputJacProperties...> inputJac,
596  const Kokkos::DynRankView<inputWeightValueType,inputWeightProperties...> inputWeights,
597  const int whichEdge,
598  const shards::CellTopology parentCell,
599  const Kokkos::DynRankView<scratchValueType, scratchProperties...> scratch );
600 
609  template<typename outputValValueType, class ...outputValProperties,
610  typename inputMeasureValueType, class ...inputMeasureProperties,
611  typename inputValValueType, class ...inputValProperteis>
612  static void
613  multiplyMeasure( Kokkos::DynRankView<outputValValueType, outputValProperties...> outputVals,
614  const Kokkos::DynRankView<inputMeasureValueType,inputMeasureProperties...> inputMeasure,
615  const Kokkos::DynRankView<inputValValueType, inputValProperteis...> inputVals );
616 
650  template<typename outputFieldValueType, class ...outputFieldProperties,
651  typename inputDataValueType, class ...inputDataPropertes,
652  typename inputFieldValueType, class ...inputFieldProperties>
653  static void
654  scalarMultiplyDataField( Kokkos::DynRankView<outputFieldValueType,outputFieldProperties...> outputFields,
655  const Kokkos::DynRankView<inputDataValueType, inputDataPropertes...> inputData,
656  const Kokkos::DynRankView<inputFieldValueType, inputFieldProperties...> inputFields,
657  const bool reciprocal = false );
658 
691  template<typename outputDataValuetype, class ...outputDataProperties,
692  typename inputDataLeftValueType, class ...inputDataLeftProperties,
693  typename inputDataRightValueType, class ...inputDataRightProperties>
694  static void
695  scalarMultiplyDataData( Kokkos::DynRankView<outputDataValuetype, outputDataProperties...> outputData,
696  const Kokkos::DynRankView<inputDataLeftValueType, inputDataLeftProperties...> inputDataLeft,
697  const Kokkos::DynRankView<inputDataRightValueType,inputDataRightProperties...> inputDataRight,
698  const bool reciprocal = false );
699 
731  template<typename outputFieldValueType, class ...outputFieldProperties,
732  typename inputDataValueType, class ...inputDataProperties,
733  typename inputFieldValueType, class ...inputFieldProperties>
734  static void
735  dotMultiplyDataField( Kokkos::DynRankView<outputFieldValueType,outputFieldProperties...> outputFields,
736  const Kokkos::DynRankView<inputDataValueType, inputDataProperties...> inputData,
737  const Kokkos::DynRankView<inputFieldValueType, inputFieldProperties...> inputFields );
738 
769  template<typename outputDataValueType, class ...outputDataProperties,
770  typename inputDataLeftValueType, class ...inputDataLeftProperties,
771  typename inputDataRightValueType, class ...inputDataRightProperties>
772  static void
773  dotMultiplyDataData( Kokkos::DynRankView<outputDataValueType, outputDataProperties...> outputData,
774  const Kokkos::DynRankView<inputDataLeftValueType, inputDataLeftProperties...> inputDataLeft,
775  const Kokkos::DynRankView<inputDataRightValueType,inputDataRightProperties...> inputDataRight );
776 
811  template<typename outputFieldValueType, class ...outputFieldProperties,
812  typename inputDataValueType, class ...inputDataProperties,
813  typename inputFieldValueType, class ...inputFieldProperties>
814  static void
815  vectorMultiplyDataField( Kokkos::DynRankView<outputFieldValueType,outputFieldProperties...> outputFields,
816  const Kokkos::DynRankView<inputDataValueType, inputDataProperties...> inputData,
817  const Kokkos::DynRankView<inputFieldValueType, inputFieldProperties...> inputFields );
818 
819 
853  template<typename outputDataValueType, class ...outputDataProperties,
854  typename inputDataLeftValueType, class ...inputDataLeftProperties,
855  typename inputDataRightValueType, class ...inputDataRightProperties>
856  static void
857  vectorMultiplyDataData( Kokkos::DynRankView<outputDataValueType, outputDataProperties...> outputData,
858  const Kokkos::DynRankView<inputDataLeftValueType, inputDataLeftProperties...> inputDataLeft,
859  const Kokkos::DynRankView<inputDataRightValueType,inputDataRightProperties...> inputDataRight );
860 
911  template<typename outputFieldValueType, class ...outputFieldProperties,
912  typename inputDataValueType, class ...inputDataProperties,
913  typename inputFieldValueType, class ...inputFieldProperties>
914  static void
915  tensorMultiplyDataField( Kokkos::DynRankView<outputFieldValueType,outputFieldProperties...> outputFields,
916  const Kokkos::DynRankView<inputDataValueType, inputDataProperties...> inputData,
917  const Kokkos::DynRankView<inputFieldValueType, inputFieldProperties...> inputFields,
918  const char transpose = 'N');
919 
969  template<typename outputDataValueType, class ...outputDataProperties,
970  typename inputDataLeftValueType, class ...inputDataLeftProperties,
971  typename inputDataRightValueType, class ...inputDataRightProperties>
972  static void
973  tensorMultiplyDataData( Kokkos::DynRankView<outputDataValueType, outputDataProperties...> outputData,
974  const Kokkos::DynRankView<inputDataLeftValueType, inputDataLeftProperties...> inputDataLeft,
975  const Kokkos::DynRankView<inputDataRightValueType,inputDataRightProperties...> inputDataRight,
976  const char transpose = 'N' );
977 
1004  template<typename inoutOperatorValueType, class ...inoutOperatorProperties,
1005  typename fieldSignValueType, class ...fieldSignProperties>
1006  static void
1007  applyLeftFieldSigns( Kokkos::DynRankView<inoutOperatorValueType,inoutOperatorProperties...> inoutOperator,
1008  const Kokkos::DynRankView<fieldSignValueType, fieldSignProperties...> fieldSigns );
1009 
1036  template<typename inoutOperatorValueType, class ...inoutOperatorProperties,
1037  typename fieldSignValueType, class ...fieldSignProperties>
1038  static void
1039  applyRightFieldSigns( Kokkos::DynRankView<inoutOperatorValueType,inoutOperatorProperties...> inoutOperator,
1040  const Kokkos::DynRankView<fieldSignValueType, fieldSignProperties...> fieldSigns );
1041 
1042 
1065  template<typename inoutFunctionValueType, class ...inoutFunctionProperties,
1066  typename fieldSignValueType, class ...fieldSignProperties>
1067  static void
1068  applyFieldSigns( Kokkos::DynRankView<inoutFunctionValueType,inoutFunctionProperties...> inoutFunction,
1069  const Kokkos::DynRankView<fieldSignValueType, fieldSignProperties...> fieldSigns );
1070 
1071 
1107  template<typename outputPointValueType, class ...outputPointProperties,
1108  typename inputCoeffValueType, class ...inputCoeffProperties,
1109  typename inputFieldValueType, class ...inputFieldProperties>
1110  static void
1111  evaluate( Kokkos::DynRankView<outputPointValueType,outputPointProperties...> outputPointVals,
1112  const Kokkos::DynRankView<inputCoeffValueType, inputCoeffProperties...> inputCoeffs,
1113  const Kokkos::DynRankView<inputFieldValueType, inputFieldProperties...> inputFields );
1114 
1115  };
1116 
1117 } // end namespace Intrepid2
1118 
1119 // include templated definitions
1121 
1122 #endif
1123 
1124 /***************************************************************************************************
1125  ** **
1126  ** D O C U M E N T A T I O N P A G E S **
1127  ** **
1128  **************************************************************************************************/
1129 
static void HGRADtransformGRAD(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< jacobianInverseValueType, jacobianInverseProperties... > jacobianInverse, const Kokkos::DynRankView< inputValValueType, inputValProperties... > inputVals)
Transformation of a gradient field in the H-grad space, defined at points on a reference cell...
static void HDIVtransformVALUE(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< jacobianValueType, jacobianProperties... > jacobian, const Kokkos::DynRankView< jacobianDetValueType, jacobianDetProperties... > jacobianDet, const Kokkos::DynRankView< inputValValueType, inputValProperties... > inputVals)
Transformation of a (vector) value field in the H-div space, defined at points on a reference cell...
static void HCURLtransformCURL(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< jacobianValueType, jacobianProperties... > jacobian, const Kokkos::DynRankView< jacobianDetValueType, jacobianDetProperties... > jacobianDet, const Kokkos::DynRankView< inputValValueType, inputValProperties... > inputVals)
Transformation of a curl field in the H-curl space, defined at points on a reference cell...
static void tensorMultiplyDataData(Kokkos::DynRankView< outputDataValueType, outputDataProperties... > outputData, const Kokkos::DynRankView< inputDataLeftValueType, inputDataLeftProperties... > inputDataLeft, const Kokkos::DynRankView< inputDataRightValueType, inputDataRightProperties... > inputDataRight, const char transpose='N')
Matrix-vector or matrix-matrix product of data and data; please read the description below...
static void dotMultiplyDataField(Kokkos::DynRankView< outputFieldValueType, outputFieldProperties... > outputFields, const Kokkos::DynRankView< inputDataValueType, inputDataProperties... > inputData, const Kokkos::DynRankView< inputFieldValueType, inputFieldProperties... > inputFields)
Dot product of data and fields; please read the description below.
static void scalarMultiplyDataField(Kokkos::DynRankView< outputFieldValueType, outputFieldProperties... > outputFields, const Kokkos::DynRankView< inputDataValueType, inputDataPropertes... > inputData, const Kokkos::DynRankView< inputFieldValueType, inputFieldProperties... > inputFields, const bool reciprocal=false)
Scalar multiplication of data and fields; please read the description below.
Header function for Intrepid2::Util class and other utility functions.
static void scalarMultiplyDataData(Kokkos::DynRankView< outputDataValuetype, outputDataProperties... > outputData, const Kokkos::DynRankView< inputDataLeftValueType, inputDataLeftProperties... > inputDataLeft, const Kokkos::DynRankView< inputDataRightValueType, inputDataRightProperties... > inputDataRight, const bool reciprocal=false)
Scalar multiplication of data and data; please read the description below.
static void applyRightFieldSigns(Kokkos::DynRankView< inoutOperatorValueType, inoutOperatorProperties... > inoutOperator, const Kokkos::DynRankView< fieldSignValueType, fieldSignProperties... > fieldSigns)
Applies right (column) signs, stored in the user-provided container fieldSigns and indexed by (C...
static void HVOLtransformVALUE(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< jacobianDetValueType, jacobianDetProperties... > jacobianDet, const Kokkos::DynRankView< inputValValueType, inputValProperties... > inputVals)
Transformation of a (scalar) value field in the H-vol space, defined at points on a reference cell...
Definition file for the Intrepid2::FunctionSpaceTools class.
static void vectorMultiplyDataField(Kokkos::DynRankView< outputFieldValueType, outputFieldProperties... > outputFields, const Kokkos::DynRankView< inputDataValueType, inputDataProperties... > inputData, const Kokkos::DynRankView< inputFieldValueType, inputFieldProperties... > inputFields)
Cross or outer product of data and fields; please read the description below.
static bool computeCellMeasure(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< inputDetValueType, inputDetPropertes... > inputDet, const Kokkos::DynRankView< inputWeightValueType, inputWeightPropertes... > inputWeights)
Returns the weighted integration measures outputVals with dimensions (C,P) used for the computation o...
static void vectorMultiplyDataData(Kokkos::DynRankView< outputDataValueType, outputDataProperties... > outputData, const Kokkos::DynRankView< inputDataLeftValueType, inputDataLeftProperties... > inputDataLeft, const Kokkos::DynRankView< inputDataRightValueType, inputDataRightProperties... > inputDataRight)
Cross or outer product of data and data; please read the description below.
static void HCURLtransformVALUE(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< jacobianInverseValueType, jacobianInverseProperties... > jacobianInverse, const Kokkos::DynRankView< inputValValueType, inputValProperties... > inputVals)
Transformation of a (vector) value field in the H-curl space, defined at points on a reference cell...
static void tensorMultiplyDataField(Kokkos::DynRankView< outputFieldValueType, outputFieldProperties... > outputFields, const Kokkos::DynRankView< inputDataValueType, inputDataProperties... > inputData, const Kokkos::DynRankView< inputFieldValueType, inputFieldProperties... > inputFields, const char transpose='N')
Matrix-vector or matrix-matrix product of data and fields; please read the description below...
static void integrate(Kokkos::DynRankView< outputValueValueType, outputValueProperties... > outputValues, const Kokkos::DynRankView< leftValueValueType, leftValueProperties... > leftValues, const Kokkos::DynRankView< rightValueValueType, rightValueProperties... > rightValues, const bool sumInto=false)
Contracts leftValues and rightValues arrays on the point and possibly space dimensions and stores the...
Contains definitions of custom data types in Intrepid2.
static void applyFieldSigns(Kokkos::DynRankView< inoutFunctionValueType, inoutFunctionProperties... > inoutFunction, const Kokkos::DynRankView< fieldSignValueType, fieldSignProperties... > fieldSigns)
Applies field signs, stored in the user-provided container fieldSigns and indexed by (C...
static void computeEdgeMeasure(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< inputJacValueType, inputJacProperties... > inputJac, const Kokkos::DynRankView< inputWeightValueType, inputWeightProperties... > inputWeights, const int whichEdge, const shards::CellTopology parentCell, const Kokkos::DynRankView< scratchValueType, scratchProperties... > scratch)
Returns the weighted integration measures outVals with dimensions (C,P) used for the computation of e...
static void HGRADtransformVALUE(Kokkos::DynRankView< outputValueType, outputProperties... > output, const Kokkos::DynRankView< inputValueType, inputProperties... > input)
Transformation of a (scalar) value field in the H-grad space, defined at points on a reference cell...
Header file for Intrepid2::ArrayTools class providing utilities for array operations.
static void applyLeftFieldSigns(Kokkos::DynRankView< inoutOperatorValueType, inoutOperatorProperties... > inoutOperator, const Kokkos::DynRankView< fieldSignValueType, fieldSignProperties... > fieldSigns)
Applies left (row) signs, stored in the user-provided container fieldSigns and indexed by (C...
Defines expert-level interfaces for the evaluation of functions and operators in physical space (supp...
static void computeFaceMeasure(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< inputJacValueType, inputJacProperties... > inputJac, const Kokkos::DynRankView< inputWeightValueType, inputWeightPropertes... > inputWeights, const int whichFace, const shards::CellTopology parentCell, const Kokkos::DynRankView< scratchValueType, scratchProperties... > scratch)
Returns the weighted integration measures outputVals with dimensions (C,P) used for the computation o...
static void evaluate(Kokkos::DynRankView< outputPointValueType, outputPointProperties... > outputPointVals, const Kokkos::DynRankView< inputCoeffValueType, inputCoeffProperties... > inputCoeffs, const Kokkos::DynRankView< inputFieldValueType, inputFieldProperties... > inputFields)
Computes point values outPointVals of a discrete function specified by the basis inFields and coeffic...
Header file for Intrepid2::RealSpaceTools class providing basic linear algebra functionality in 1D...
static void HDIVtransformDIV(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< jacobianDetValueType, jacobianDetProperties... > jacobianDet, const Kokkos::DynRankView< inputValValueType, inputValProperties... > inputVals)
Transformation of a divergence field in the H-div space, defined at points on a reference cell...
Header file for small functions used in Intrepid2.
static void dotMultiplyDataData(Kokkos::DynRankView< outputDataValueType, outputDataProperties... > outputData, const Kokkos::DynRankView< inputDataLeftValueType, inputDataLeftProperties... > inputDataLeft, const Kokkos::DynRankView< inputDataRightValueType, inputDataRightProperties... > inputDataRight)
Dot product of data and data; please read the description below.
static void multiplyMeasure(Kokkos::DynRankView< outputValValueType, outputValProperties... > outputVals, const Kokkos::DynRankView< inputMeasureValueType, inputMeasureProperties... > inputMeasure, const Kokkos::DynRankView< inputValValueType, inputValProperteis... > inputVals)
Multiplies fields inputVals by weighted measures inputMeasure and returns the field array outputVals;...
Header file for the Intrepid2::CellTools class.