Intrepid2
Classes | Static Public Member Functions | List of all members
Intrepid2::RealSpaceTools< DeviceType > Class Template Reference

Implementation of basic linear algebra functionality in Euclidean space. More...

#include <Intrepid2_RealSpaceTools.hpp>

Classes

struct  Serial
 

Static Public Member Functions

template<typename outputValueType , class... outputProperties, typename inputValueType , class... inputProperties>
static void extractScalarValues (Kokkos::DynRankView< outputValueType, outputProperties...> output, const Kokkos::DynRankView< inputValueType, inputProperties...> input)
 Extract scalar type values from Sacado-based array. More...
 
template<typename outputValueType , class... outputProperties, typename inputValueType , class... inputProperties>
static void clone (Kokkos::DynRankView< outputValueType, outputProperties...> output, const Kokkos::DynRankView< inputValueType, inputProperties...> input)
 Clone input array. More...
 
template<typename absArrayValueType , class... absArrayProperties, typename inArrayValueType , class... inArrayProperties>
static void absval (Kokkos::DynRankView< absArrayValueType, absArrayProperties...> absArray, const Kokkos::DynRankView< inArrayValueType, inArrayProperties...> inArray)
 Computes absolute value of an array. More...
 
template<typename inoutArrayValueType , class... inoutArrayProperties>
static void absval (Kokkos::DynRankView< inoutArrayValueType, inoutArrayProperties...> inoutArray)
 Computes, in place, absolute value of an array. More...
 
template<typename normArrayValueType , class... normArrayProperties, typename inVecValueType , class... inVecProperties>
static void vectorNorm (Kokkos::DynRankView< normArrayValueType, normArrayProperties...> normArray, const Kokkos::DynRankView< inVecValueType, inVecProperties...> inVecs, const ENorm normType)
 Computes norms (1, 2, infinity) of vectors stored in a array of total rank 2 (array of vectors), indexed by (i0, D), or 3 (array of arrays of vectors), indexed by (i0, i1, D). More...
 
template<typename transposeMatValueType , class... transposeMatProperties, typename inMatValueType , class... inMatProperties>
static void transpose (Kokkos::DynRankView< transposeMatValueType, transposeMatProperties...> transposeMats, const Kokkos::DynRankView< inMatValueType, inMatProperties...> inMats)
 Computes transposes of square matrices stored in an array of total rank 2 (single matrix), indexed by (D, D), 3 (array of matrices), indexed by (i0, D, D), or 4 (array of arrays of matrices), indexed by (i0, i1, D, D). More...
 
template<class InverseMatrixViewType , class MatrixViewType >
static void inverse (InverseMatrixViewType inverseMats, MatrixViewType inMats)
 Computes inverses of nonsingular matrices stored in an array of total rank 2 (single matrix), indexed by (D, D), 3 (array of matrices), indexed by (i0, D, D), or 4 (array of arrays of matrices), indexed by (i0, i1, D, D). More...
 
template<class DeterminantArrayViewType , class MatrixViewType >
static void det (DeterminantArrayViewType detArray, const MatrixViewType inMats)
 Computes determinants of matrices stored in an array of total rank 3 (array of matrices), indexed by (i0, D, D), or 4 (array of arrays of matrices), indexed by (i0, i1, D, D). More...
 
template<typename sumArrayValueType , class... sumArrayProperties, typename inArray1ValueType , class... inArray1Properties, typename inArray2ValueType , class... inArray2Properties>
static void add (Kokkos::DynRankView< sumArrayValueType, sumArrayProperties...> sumArray, const Kokkos::DynRankView< inArray1ValueType, inArray1Properties...> inArray1, const Kokkos::DynRankView< inArray2ValueType, inArray2Properties...> inArray2)
 Adds arrays inArray1 and inArray2:
sumArray = inArray1 + inArray2. More...
 
template<typename inoutSumArrayValueType , class... inoutSumArrayProperties, typename inArrayValueType , class... inArrayProperties>
static void add (Kokkos::DynRankView< inoutSumArrayValueType, inoutSumArrayProperties...> inoutSumArray, const Kokkos::DynRankView< inArrayValueType, inArrayProperties...> inArray)
 Adds, in place, inArray into inoutSumArray:
inoutSumArray = inoutSumArray + inArray. More...
 
template<typename diffArrayValueType , class... diffArrayProperties, typename inArray1ValueType , class... inArray1Properties, typename inArray2ValueType , class... inArray2Properties>
static void subtract (Kokkos::DynRankView< diffArrayValueType, diffArrayProperties...> diffArray, const Kokkos::DynRankView< inArray1ValueType, inArray1Properties...> inArray1, const Kokkos::DynRankView< inArray2ValueType, inArray2Properties...> inArray2)
 Subtracts inArray2 from inArray1:
diffArray = inArray1 - inArray2. More...
 
template<typename inoutDiffArrayValueType , class... inoutDiffArrayProperties, typename inArrayValueType , class... inArrayProperties>
static void subtract (Kokkos::DynRankView< inoutDiffArrayValueType, inoutDiffArrayProperties...> diffArray, const Kokkos::DynRankView< inArrayValueType, inArrayProperties...> inArray)
 Subtracts, in place, inArray from diffArray:
diffArray = diffArray - inArray. More...
 
template<typename ValueType , typename scaledArrayValueType , class... scaledArrayProperties, typename inArrayValueType , class... inArrayProperties>
static void scale (Kokkos::DynRankView< scaledArrayValueType, scaledArrayProperties...> scaledArray, const Kokkos::DynRankView< inArrayValueType, inArrayProperties...> inArray, const ValueType alpha)
 Multiplies array inArray by the scalar scalar (componentwise):
scaledArray = scalar * inArray. More...
 
template<typename ValueType , typename inoutScaledArrayValueType , class... inoutScaledArrayProperties>
static void scale (Kokkos::DynRankView< inoutScaledArrayValueType, inoutScaledArrayProperties...> inoutScaledArray, const ValueType alpha)
 Multiplies, in place, array inoutScaledArray by the scalar scalar (componentwise):
inoutScaledArray = scalar * inoutScaledArray. More...
 
template<typename dotArrayValueType , class... dotArrayProperties, typename inVec1ValueType , class... inVec1Properties, typename inVec2ValueType , class... inVec2Properties>
static void dot (Kokkos::DynRankView< dotArrayValueType, dotArrayProperties...> dotArray, const Kokkos::DynRankView< inVec1ValueType, inVec1Properties...> inVecs1, const Kokkos::DynRankView< inVec2ValueType, inVec2Properties...> inVecs2)
 Computes dot product of vectors stored in an array of total rank 2 (array of vectors), indexed by (i0, D), or 3 (array of arrays of vectors), indexed by (i0, i1, D). More...
 
template<typename matVecValueType , class... matVecProperties, typename inMatValueType , class... inMatProperties, typename inVecValueType , class... inVecProperties>
static void matvec (Kokkos::DynRankView< matVecValueType, matVecProperties...> matVecs, const Kokkos::DynRankView< inMatValueType, inMatProperties...> inMats, const Kokkos::DynRankView< inVecValueType, inVecProperties...> inVecs)
 Matrix-vector left multiply using multidimensional arrays:
matVec = inMat * inVec. More...
 
template<typename outMatValueType , class... outMatProperties, typename inMatValueType , class... inMatProperties>
static void AtA (Kokkos::DynRankView< outMatValueType, outMatProperties...> outMats, const Kokkos::DynRankView< inMatValueType, inMatProperties...> inMats)
 Computes the matrix-matrix product $A^T A$, for an input rectangular matrix $A$. More...
 
template<typename vecProdValueType , class... vecProdProperties, typename inLeftValueType , class... inLeftProperties, typename inRightValueType , class... inRightProperties>
static void vecprod (Kokkos::DynRankView< vecProdValueType, vecProdProperties...> vecProd, const Kokkos::DynRankView< inLeftValueType, inLeftProperties...> inLeft, const Kokkos::DynRankView< inRightValueType, inRightProperties...> inRight)
 Vector product using multidimensional arrays:
vecProd = inVecLeft x inVecRight More...
 

Detailed Description

template<typename DeviceType = void>
class Intrepid2::RealSpaceTools< DeviceType >

Implementation of basic linear algebra functionality in Euclidean space.

Note:

Definition at line 46 of file Intrepid2_RealSpaceTools.hpp.

Member Function Documentation

template<typename DeviceType >
template<typename absArrayValueType , class... absArrayProperties, typename inArrayValueType , class... inArrayProperties>
void Intrepid2::RealSpaceTools< DeviceType >::absval ( Kokkos::DynRankView< absArrayValueType, absArrayProperties...>  absArray,
const Kokkos::DynRankView< inArrayValueType, inArrayProperties...>  inArray 
)
static

Computes absolute value of an array.

Parameters
outArray[out] - output array
inArray[in] - input array
Note
Requirements (checked at runtime, in debug mode):
  • rank(absArray) == rank(inArray)
  • dimensions(absArray) == dimensions(inArray)

Definition at line 386 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::RealSpaceTools< DeviceType >::absval().

template<typename DeviceType >
template<typename inoutArrayValueType , class... inoutAbsArrayProperties>
void Intrepid2::RealSpaceTools< DeviceType >::absval ( Kokkos::DynRankView< inoutArrayValueType, inoutAbsArrayProperties...>  inoutArray)
static

Computes, in place, absolute value of an array.

Parameters
inoutArray[in/out] - input/output array

Definition at line 423 of file Intrepid2_RealSpaceToolsDef.hpp.

References Intrepid2::RealSpaceTools< DeviceType >::absval().

template<typename DeviceType >
template<typename sumArrayValueType , class... sumArrayProperties, typename inArray1ValueType , class... inArray1Properties, typename inArray2ValueType , class... inArray2Properties>
void Intrepid2::RealSpaceTools< DeviceType >::add ( Kokkos::DynRankView< sumArrayValueType, sumArrayProperties...>  sumArray,
const Kokkos::DynRankView< inArray1ValueType, inArray1Properties...>  inArray1,
const Kokkos::DynRankView< inArray2ValueType, inArray2Properties...>  inArray2 
)
static

Adds arrays inArray1 and inArray2:
sumArray = inArray1 + inArray2.

Parameters
sumArray[out] - sum
inArray1[in] - first summand
inArray2[in] - second summand
Note
Requirements (checked at runtime, in debug mode):
  • rank(sumArray) == rank(inArray1) == rank(inArray2)
  • dimensions(sumArray) == dimensions(inArray1) == dimensions(inArray2)

Definition at line 914 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::RealSpaceTools< DeviceType >::add().

template<typename DeviceType >
template<typename inoutSumArrayValueType , class... inoutSumArrayProperties, typename inArrayValueType , class... inArrayProperties>
void Intrepid2::RealSpaceTools< DeviceType >::add ( Kokkos::DynRankView< inoutSumArrayValueType, inoutSumArrayProperties...>  inoutSumArray,
const Kokkos::DynRankView< inArrayValueType, inArrayProperties...>  inArray 
)
static

Adds, in place, inArray into inoutSumArray:
inoutSumArray = inoutSumArray + inArray.

Parameters
inoutSumArray[in/out] - sum/first summand
inArray[in] - second summand
Note
Requirements (checked at runtime, in debug mode):
  • rank(inoutSumArray) == rank(inArray)
  • dimensions(inoutSumArray) == dimensions(inArray)

Definition at line 955 of file Intrepid2_RealSpaceToolsDef.hpp.

References Intrepid2::RealSpaceTools< DeviceType >::add().

template<typename DeviceType >
template<typename outMatValueType , class... outMatProperties, typename inMatValueType , class... inMatProperties>
void Intrepid2::RealSpaceTools< DeviceType >::AtA ( Kokkos::DynRankView< outMatValueType, outMatProperties...>  outMats,
const Kokkos::DynRankView< inMatValueType, inMatProperties...>  inMats 
)
static

Computes the matrix-matrix product $A^T A$, for an input rectangular matrix $A$.

Parameters
matVec[out] - matrix-matrix product $A^T A$ indexed by (D, D), (i0, D, D) or (i0, i1, D, D)
inMat[in] - the matrix argument $A$ indexed by (D, D), (i0, D, D) or (i0, i1, D, D)

Definition at line 1438 of file Intrepid2_RealSpaceToolsDef.hpp.

template<typename DeviceType >
template<typename outputValueType , class... outputProperties, typename inputValueType , class... inputProperties>
void Intrepid2::RealSpaceTools< DeviceType >::clone ( Kokkos::DynRankView< outputValueType, outputProperties...>  output,
const Kokkos::DynRankView< inputValueType, inputProperties...>  input 
)
static
template<typename DeviceType >
template<class DeterminantArrayViewType , class MatrixViewType >
void Intrepid2::RealSpaceTools< DeviceType >::det ( DeterminantArrayViewType  detArray,
const MatrixViewType  inMats 
)
static

Computes determinants of matrices stored in an array of total rank 3 (array of matrices), indexed by (i0, D, D), or 4 (array of arrays of matrices), indexed by (i0, i1, D, D).

Parameters
detArray[out] - array of determinants indexed by (i0) or (i0, i1)
inMats[in] - array of matrices indexed by (i0, D, D) or (i0, i1, D, D)
Note
Requirements (checked at runtime, in debug mode):
  • rank(detArray) == rank(inMats) - 2
  • rank(inMats) == 3 or 4
  • dimensions i0, i1 of detArray and inMats must agree
  • matrix dimensions are limited to 1, 2, and 3

Definition at line 823 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::CellTools< DeviceType >::setJacobianDet().

template<typename DeviceType >
template<typename dotArrayValueType , class... dotArrayProperties, typename inVec1ValueType , class... inVec1Properties, typename inVec2ValueType , class... inVec2Properties>
void Intrepid2::RealSpaceTools< DeviceType >::dot ( Kokkos::DynRankView< dotArrayValueType, dotArrayProperties...>  dotArray,
const Kokkos::DynRankView< inVec1ValueType, inVec1Properties...>  inVecs1,
const Kokkos::DynRankView< inVec2ValueType, inVec2Properties...>  inVecs2 
)
static

Computes dot product of vectors stored in an array of total rank 2 (array of vectors), indexed by (i0, D), or 3 (array of arrays of vectors), indexed by (i0, i1, D).

Parameters
dotArray[out] - dot product array indexed by (i0) or (i0, i1)
inVecs1[in] - first array of vectors indexed by (i0, D) or (i0, i1, D)
inVecs2[in] - second array of vectors indexed by (i0, D) or (i0, i1, D)
Note
Requirements (checked at runtime, in debug mode):
  • rank(dotArray) == rank(inVecs1) - 1 == rank(inVecs2) - 1
  • rank(inVecs1) == 2 or 3
  • dimensions i0, i1 of dotArray and inVecs1 / inVecs2 must agree

Definition at line 1204 of file Intrepid2_RealSpaceToolsDef.hpp.

template<typename DeviceType >
template<typename outputValueType , class... outputProperties, typename inputValueType , class... inputProperties>
void Intrepid2::RealSpaceTools< DeviceType >::extractScalarValues ( Kokkos::DynRankView< outputValueType, outputProperties...>  output,
const Kokkos::DynRankView< inputValueType, inputProperties...>  input 
)
static

Extract scalar type values from Sacado-based array.

Parameters
output[out] - output array
input[in] - input array

Definition at line 224 of file Intrepid2_RealSpaceToolsDef.hpp.

template<typename DeviceType >
template<class InverseMatrixViewType , class MatrixViewType >
void Intrepid2::RealSpaceTools< DeviceType >::inverse ( InverseMatrixViewType  inverseMats,
MatrixViewType  inMats 
)
static

Computes inverses of nonsingular matrices stored in an array of total rank 2 (single matrix), indexed by (D, D), 3 (array of matrices), indexed by (i0, D, D), or 4 (array of arrays of matrices), indexed by (i0, i1, D, D).

Parameters
inverseMats[out] - array of inverses indexed by (D, D), (i0, D, D) or (i0, i1, D, D)
inMats[in] - array of matrices indexed by (D, D), (i0, D, D) or (i0, i1, D, D)
Note
Requirements (checked at runtime, in debug mode):
  • rank(inverseMats) == rank(inMats)
  • rank(inMats) == 3 or 4
  • dimensions(inverseMats) == dimensions(inMats)
  • matrices must be square
  • matrix dimensions are limited to 1, 2, and 3

Definition at line 717 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::CellTools< DeviceType >::setJacobianInv().

template<typename DeviceType >
template<typename matVecValueType , class... matVecProperties, typename inMatValueType , class... inMatProperties, typename inVecValueType , class... inVecProperties>
void Intrepid2::RealSpaceTools< DeviceType >::matvec ( Kokkos::DynRankView< matVecValueType, matVecProperties...>  matVecs,
const Kokkos::DynRankView< inMatValueType, inMatProperties...>  inMats,
const Kokkos::DynRankView< inVecValueType, inVecProperties...>  inVecs 
)
static

Matrix-vector left multiply using multidimensional arrays:
matVec = inMat * inVec.

An array (rank 1, 2 or 3) of "column" vectors, indexed by (D), (i0, D) or (i0, i1, D), is multiplied on the left by an array (rank 2, 3 or 4) of square matrices, indexed by (D, D), (i0, D, D) or (i0, i1, D, D).

Parameters
matVec[out] - matrix-vector product indexed by (D), (i0, D) or (i0, i1, D)
inMat[in] - the matrix argument indexed by (D, D), (i0, D, D) or (i0, i1, D, D)
inVec[in] - the vector argument indexed by (D), (i0, D) or (i0, i1, D)
Note
Requirements (checked at runtime, in debug mode):
  • rank(matVec) == rank(inVec) == rank(inMat) - 1
  • dimensions(matVec) == dimensions(inVec)
  • matrix and vector dimensions D, i0 and i1 must agree
  • matrices are square

Definition at line 1356 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::CellTools< DeviceType >::getPhysicalEdgeTangents(), and Intrepid2::CellTools< DeviceType >::getPhysicalFaceTangents().

template<typename DeviceType >
template<typename ValueType , typename scaledArrayValueType , class... scaledArrayProperties, typename inArrayValueType , class... inArrayProperties>
void Intrepid2::RealSpaceTools< DeviceType >::scale ( Kokkos::DynRankView< scaledArrayValueType, scaledArrayProperties...>  scaledArray,
const Kokkos::DynRankView< inArrayValueType, inArrayProperties...>  inArray,
const ValueType  alpha 
)
static

Multiplies array inArray by the scalar scalar (componentwise):
scaledArray = scalar * inArray.

Parameters
scaledArray[out] - scaled array
inArray[in] - input array
alpha[in] - multiplier
Note
Requirements (checked at runtime, in debug mode):
  • rank(scaledArray) == rank(inArray)
  • dimensions(scaledArray) == dimensions(inArray)

Definition at line 1112 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::RealSpaceTools< DeviceType >::scale().

template<typename DeviceType >
template<typename ValueType , typename inoutScaledArrayValueType , class... inoutScaledArrayProperties>
void Intrepid2::RealSpaceTools< DeviceType >::scale ( Kokkos::DynRankView< inoutScaledArrayValueType, inoutScaledArrayProperties...>  inoutScaledArray,
const ValueType  alpha 
)
static

Multiplies, in place, array inoutScaledArray by the scalar scalar (componentwise):
inoutScaledArray = scalar * inoutScaledArray.

Parameters
inoutScaledArray[in/out] - input/output array
alpha[in] - multiplier

Definition at line 1152 of file Intrepid2_RealSpaceToolsDef.hpp.

References Intrepid2::RealSpaceTools< DeviceType >::scale().

template<typename DeviceType >
template<typename diffArrayValueType , class... diffArrayProperties, typename inArray1ValueType , class... inArray1Properties, typename inArray2ValueType , class... inArray2Properties>
void Intrepid2::RealSpaceTools< DeviceType >::subtract ( Kokkos::DynRankView< diffArrayValueType, diffArrayProperties...>  diffArray,
const Kokkos::DynRankView< inArray1ValueType, inArray1Properties...>  inArray1,
const Kokkos::DynRankView< inArray2ValueType, inArray2Properties...>  inArray2 
)
static

Subtracts inArray2 from inArray1:
diffArray = inArray1 - inArray2.

Parameters
diffArray[out] - difference
inArray1[in] - minuend
inArray2[in] - subtrahend
Note
Requirements (checked at runtime, in debug mode):
  • rank(sumArray) == rank(inArray1) == rank(inArray2)
  • dimensions(sumArray) == dimensions(inArray1) == dimensions(inArray2)

Definition at line 1013 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::RealSpaceTools< DeviceType >::subtract().

template<typename DeviceType >
template<typename inoutDiffArrayValueType , class... inoutDiffArrayProperties, typename inArrayValueType , class... inArrayProperties>
void Intrepid2::RealSpaceTools< DeviceType >::subtract ( Kokkos::DynRankView< inoutDiffArrayValueType, inoutDiffArrayProperties...>  diffArray,
const Kokkos::DynRankView< inArrayValueType, inArrayProperties...>  inArray 
)
static

Subtracts, in place, inArray from diffArray:
diffArray = diffArray - inArray.

Parameters
diffArray[in/out] - difference/minuend
inArray[in] - subtrahend
Note
Requirements (checked at runtime, in debug mode):
  • rank(inoutDiffArray) == rank(inArray)
  • dimensions(inoutDiffArray) == dimensions(inArray)

Definition at line 1054 of file Intrepid2_RealSpaceToolsDef.hpp.

References Intrepid2::RealSpaceTools< DeviceType >::subtract().

template<typename DeviceType >
template<typename transposeMatValueType , class... transposeMatProperties, typename inMatValueType , class... inMatProperties>
void Intrepid2::RealSpaceTools< DeviceType >::transpose ( Kokkos::DynRankView< transposeMatValueType, transposeMatProperties...>  transposeMats,
const Kokkos::DynRankView< inMatValueType, inMatProperties...>  inMats 
)
static

Computes transposes of square matrices stored in an array of total rank 2 (single matrix), indexed by (D, D), 3 (array of matrices), indexed by (i0, D, D), or 4 (array of arrays of matrices), indexed by (i0, i1, D, D).

Parameters
transposeMats[out] - array of transposes indexed by (D, D), (i0, D, D) or (i0, i1, D, D)
inMats[in] - array of matrices indexed by (D, D), (i0, D, D) or (i0, i1, D, D)
Note
Requirements (checked at runtime, in debug mode):
  • rank(transposeMats) == rank(inMats)
  • rank(inMats) == 3 or 4
  • dimensions(transposeMats) == dimensions(inMats)
  • matrices must be square

Definition at line 552 of file Intrepid2_RealSpaceToolsDef.hpp.

template<typename DeviceType >
template<typename vecProdValueType , class... vecProdProperties, typename inLeftValueType , class... inLeftProperties, typename inRightValueType , class... inRightProperties>
void Intrepid2::RealSpaceTools< DeviceType >::vecprod ( Kokkos::DynRankView< vecProdValueType, vecProdProperties...>  vecProd,
const Kokkos::DynRankView< inLeftValueType, inLeftProperties...>  inLeft,
const Kokkos::DynRankView< inRightValueType, inRightProperties...>  inRight 
)
static

Vector product using multidimensional arrays:
vecProd = inVecLeft x inVecRight

Vector multiplication of two "column" vectors stored in arrays (rank 1, 2, or 3) indexed by (D), (i0, D) or (i0, i1, D).

Parameters
vecProd[in] - vector product indexed by (D), (i0, D) or (i0, i1, D)
inLeft[in] - left vector argument indexed by (D), (i0, D) or (i0, i1, D)
inRight[in] - right vector argument indexed by (D), (i0, D) or (i0, i1, D)
Todo:
Need to decide on how to handle vecprod in 2D: is the result a vector, i.e., there's dimension D or a scalar?

Definition at line 1540 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::CellTools< DeviceType >::getPhysicalFaceNormals(), and Intrepid2::CellTools< DeviceType >::getReferenceFaceNormal().

template<typename DeviceType >
template<typename normArrayValueType , class... normArrayProperties, typename inVecValueType , class... inVecProperties>
void Intrepid2::RealSpaceTools< DeviceType >::vectorNorm ( Kokkos::DynRankView< normArrayValueType, normArrayProperties...>  normArray,
const Kokkos::DynRankView< inVecValueType, inVecProperties...>  inVecs,
const ENorm  normType 
)
static

Computes norms (1, 2, infinity) of vectors stored in a array of total rank 2 (array of vectors), indexed by (i0, D), or 3 (array of arrays of vectors), indexed by (i0, i1, D).

Parameters
normArray[out] - norm array indexed by (i0) or (i0, i1)
inVecs[in] - array of vectors indexed by (i0, D) or (i0, i1, D)
normType[in] - norm type
Note
Requirements (checked at runtime, in debug mode):
  • rank(normArray) == rank(inVecs) - 1
  • rank(inVecs) == 2 or 3
  • dimensions i0, i1 of normArray and inVecs must agree

Definition at line 467 of file Intrepid2_RealSpaceToolsDef.hpp.

Referenced by Intrepid2::FunctionSpaceTools< DeviceType >::computeEdgeMeasure(), and Intrepid2::FunctionSpaceTools< DeviceType >::computeFaceMeasure().


The documentation for this class was generated from the following files: