Intrepid2
|
Header file for the abstract base class Intrepid2::Basis. More...
#include "Intrepid2_ConfigDefs.hpp"
#include "Intrepid2_Types.hpp"
#include "Intrepid2_Utils.hpp"
#include "Intrepid2_BasisValues.hpp"
#include "Intrepid2_CellTopologyTags.hpp"
#include "Intrepid2_TensorPoints.hpp"
#include "Shards_CellTopology.hpp"
#include "Intrepid2_CellData.hpp"
#include <Teuchos_RCPDecl.hpp>
#include <Kokkos_Core.hpp>
#include <vector>
#include <Intrepid2_BasisDef.hpp>
Go to the source code of this file.
Classes | |
class | Intrepid2::Basis< DeviceType, OutputType, PointType > |
An abstract base class that defines interface for concrete basis implementations for Finite Element (FEM) and Finite Volume/Finite Difference (FVD) discrete spaces. More... | |
class | Intrepid2::Basis< DeviceType, OutputType, PointType > |
An abstract base class that defines interface for concrete basis implementations for Finite Element (FEM) and Finite Volume/Finite Difference (FVD) discrete spaces. More... | |
Typedefs | |
template<typename DeviceType = void, typename OutputType = double, typename PointType = double> | |
using | Intrepid2::BasisPtr = Teuchos::RCP< Basis< DeviceType, OutputType, PointType > > |
Basis Pointer. | |
template<typename OutputType = double, typename PointType = double> | |
using | Intrepid2::HostBasisPtr = BasisPtr< typename Kokkos::HostSpace::device_type, OutputType, PointType > |
Pointer to a Basis whose device type is on the host (Kokkos::HostSpace::device_type), allowing host access to input and output views, and ensuring host execution of basis evaluation. | |
Functions | |
KOKKOS_INLINE_FUNCTION ordinal_type | Intrepid2::getFieldRank (const EFunctionSpace spaceType) |
Returns the rank of fields in a function space of the specified type. More... | |
KOKKOS_INLINE_FUNCTION ordinal_type | Intrepid2::getOperatorRank (const EFunctionSpace spaceType, const EOperator operatorType, const ordinal_type spaceDim) |
Returns rank of an operator. More... | |
KOKKOS_INLINE_FUNCTION ordinal_type | Intrepid2::getOperatorOrder (const EOperator operatorType) |
Returns order of an operator. More... | |
template<EOperator operatorType> | |
KOKKOS_INLINE_FUNCTION constexpr ordinal_type | Intrepid2::getOperatorOrder () |
template<ordinal_type spaceDim> | |
KOKKOS_INLINE_FUNCTION ordinal_type | Intrepid2::getDkEnumeration (const ordinal_type xMult, const ordinal_type yMult=-1, const ordinal_type zMult=-1) |
Returns the ordinal of a partial derivative of order k based on the multiplicities of the partials dx, dy, and dz. More... | |
template<ordinal_type spaceDim> | |
KOKKOS_INLINE_FUNCTION ordinal_type | Intrepid2::getPnEnumeration (const ordinal_type p, const ordinal_type q=0, const ordinal_type r=0) |
Returns the index of the term x^p y^q z^r of a polynomial of degree n (p+q+r <= n). In 2D, the terms of a polynomial of degree 2 are ordered as 1, x, y, x^2, xy, y^2. So if p=q=1, the term x^p y^q has index 4 (counting from 0), while p=2, q=0 has index 3. Enumeration goes from 0 to ( (n+spaceDim) choose (spaceDim) )-1. More... | |
template<typename value_type > | |
KOKKOS_INLINE_FUNCTION void | Intrepid2::getJacobyRecurrenceCoeffs (value_type &an, value_type &bn, value_type &cn, const ordinal_type alpha, const ordinal_type beta, const ordinal_type n) |
function for computing the Jacobi recurrence coefficients so that More... | |
KOKKOS_INLINE_FUNCTION ordinal_type | Intrepid2::getDkCardinality (const EOperator operatorType, const ordinal_type spaceDim) |
Returns multiplicities of dx, dy, and dz based on the enumeration of the partial derivative, its order and the space dimension. Inverse of the getDkEnumeration() method. More... | |
template<EOperator operatorType, ordinal_type spaceDim> | |
KOKKOS_INLINE_FUNCTION constexpr ordinal_type | Intrepid2::getDkCardinality () |
template<ordinal_type spaceDim> | |
KOKKOS_INLINE_FUNCTION ordinal_type | Intrepid2::getPnCardinality (ordinal_type n) |
Returns cardinality of Polynomials of order n (P^n). More... | |
template<ordinal_type spaceDim, ordinal_type n> | |
KOKKOS_INLINE_FUNCTION constexpr ordinal_type | Intrepid2::getPnCardinality () |
template<typename outputValueViewType , typename inputPointViewType > | |
void | Intrepid2::getValues_HGRAD_Args (const outputValueViewType outputValues, const inputPointViewType inputPoints, const EOperator operatorType, const shards::CellTopology cellTopo, const ordinal_type basisCard) |
Runtime check of the arguments for the getValues method in an HGRAD-conforming FEM basis. Verifies that ranks and dimensions of ViewType input and output arrays are consistent with the specified operatorType. More... | |
template<typename outputValueViewType , typename inputPointViewType > | |
void | Intrepid2::getValues_HCURL_Args (const outputValueViewType outputValues, const inputPointViewType inputPoints, const EOperator operatorType, const shards::CellTopology cellTopo, const ordinal_type basisCard) |
Runtime check of the arguments for the getValues method in an HCURL-conforming FEM basis. Verifies that ranks and dimensions of ViewType input and output arrays are consistent with the specified operatorType. More... | |
template<typename outputValueViewType , typename inputPointViewType > | |
void | Intrepid2::getValues_HDIV_Args (const outputValueViewType outputValues, const inputPointViewType inputPoints, const EOperator operatorType, const shards::CellTopology cellTopo, const ordinal_type basisCard) |
Runtime check of the arguments for the getValues method in an HDIV-conforming FEM basis. Verifies that ranks and dimensions of ViewType input and output arrays are consistent with the specified operatorType. More... | |
template<typename outputValueViewType , typename inputPointViewType > | |
void | Intrepid2::getValues_HVOL_Args (const outputValueViewType outputValues, const inputPointViewType inputPoints, const EOperator operatorType, const shards::CellTopology cellTopo, const ordinal_type basisCard) |
Runtime check of the arguments for the getValues method in an HVOL-conforming FEM basis. Verifies that ranks and dimensions of ViewType input and output arrays are consistent with the specified operatorType. More... | |
Header file for the abstract base class Intrepid2::Basis.
Definition in file Intrepid2_Basis.hpp.