Intrepid2
Public Types | Public Member Functions | List of all members
Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs > Class Template Reference

Helper class that allows SerendipityBasis construction with poly order arguments that are passed to the tensor-basis constructor. (SerendipityBasis itself requires a BasisPtr at construction.) More...

#include <Intrepid2_SerendipityBasisFamily.hpp>

Inheritance diagram for Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >:
Intrepid2::SerendipityBasis< FullBasis::BasisBase >

Public Types

using BasisBase = typename FullBasis::BasisBase
 
using BasisPtr = Teuchos::RCP<BasisBase>
 
using DeviceType = typename BasisBase::DeviceType
 
using ExecutionSpace = typename BasisBase::ExecutionSpace
 
using OutputValueType = typename BasisBase::OutputValueType
 
using PointValueType = typename BasisBase::PointValueType
 
using OrdinalTypeArray1D = typename BasisBase::OrdinalTypeArray1D
 
using OrdinalTypeArray1DHost = typename BasisBase::OrdinalTypeArray1DHost
 
using OrdinalTypeArray2DHost = typename BasisBase::OrdinalTypeArray2DHost
 
using OutputViewType = typename BasisBase::OutputViewType
 
using PointViewType = typename BasisBase::PointViewType
 
- Public Types inherited from Intrepid2::SerendipityBasis< FullBasis::BasisBase >
using BasisBase
 
using BasisPtr
 
using DeviceType
 
using ExecutionSpace
 
using OutputValueType
 
using PointValueType
 
using OrdinalTypeArray1D
 
using OrdinalTypeArray1DHost
 
using OrdinalTypeArray2DHost
 
using OutputViewType
 
using PointViewType
 

Public Member Functions

 SerendipityBasisWrapper (int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 single-argument constructor, for isotropic bases.
 
template<bool M = (numPolyOrderArgs==2)>
 SerendipityBasisWrapper (int polyOrder_x, int polyOrder_y, const EPointType pointType=POINTTYPE_DEFAULT, typename std::enable_if< M >::type *=0)
 two-argument constructor; enabled if numPolyOrderArgs is 2.
 
template<bool M = (numPolyOrderArgs==3)>
 SerendipityBasisWrapper (int polyOrder_x, int polyOrder_y, int polyOrder_z, const EPointType pointType=POINTTYPE_DEFAULT, typename std::enable_if< M >::type *=0)
 three-argument constructor; enabled if numPolyOrderArgs is 3.
 
- Public Member Functions inherited from Intrepid2::SerendipityBasis< FullBasis::BasisBase >
 SerendipityBasis (BasisPtr fullBasis)
 Constructor.
 
virtual int getNumTensorialExtrusions () const override
 
virtual BasisValues< OutputValueType, DeviceType > allocateBasisValues (TensorPoints< PointValueType, DeviceType > points, const EOperator operatorType=OPERATOR_VALUE) const override
 Allocate BasisValues container suitable for passing to the getValues() variant that takes a TensorPoints container as argument.
 
virtual const char * getName () const override
 Returns basis name.
 
virtual void getValues (BasisValues< OutputValueType, DeviceType > outputValues, const TensorPoints< PointValueType, DeviceType > inputPoints, const EOperator operatorType=OPERATOR_VALUE) const override
 Evaluation of a FEM basis on a reference cell, using point and output value containers that allow preservation of tensor-product structure.
 
virtual void getValues (OutputViewType outputValues, const PointViewType inputPoints, const EOperator operatorType=OPERATOR_VALUE) const override
 Evaluation of a FEM basis on a reference cell.
 
virtual HostBasisPtr< OutputValueType, PointValueType > getHostBasis () const override
 Creates and returns a Basis object whose DeviceType template argument is Kokkos::HostSpace::device_type, but is otherwise identical to this.
 
BasisPtr getUnderlyingBasis () const
 Returns a pointer to the underlying full basis.
 
OrdinalTypeArray1D ordinalMap () const
 Returns the ordinal map from the Serendipity basis ordinal to the ordinal in the underlying full basis.
 

Additional Inherited Members

- Protected Attributes inherited from Intrepid2::SerendipityBasis< FullBasis::BasisBase >
BasisPtr fullBasis_
 
std::string name_
 
int numTensorialExtrusions_
 
OrdinalTypeArray1D ordinalMap_
 

Detailed Description

template<class FullBasis, int numPolyOrderArgs>
class Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >

Helper class that allows SerendipityBasis construction with poly order arguments that are passed to the tensor-basis constructor. (SerendipityBasis itself requires a BasisPtr at construction.)

Definition at line 69 of file Intrepid2_SerendipityBasisFamily.hpp.

Member Typedef Documentation

◆ BasisBase

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::BasisBase = typename FullBasis::BasisBase

Definition at line 74 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ BasisPtr

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::BasisPtr = Teuchos::RCP<BasisBase>

Definition at line 75 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ DeviceType

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::DeviceType = typename BasisBase::DeviceType

Definition at line 76 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ ExecutionSpace

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::ExecutionSpace = typename BasisBase::ExecutionSpace

Definition at line 77 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ OrdinalTypeArray1D

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::OrdinalTypeArray1D = typename BasisBase::OrdinalTypeArray1D

Definition at line 81 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ OrdinalTypeArray1DHost

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::OrdinalTypeArray1DHost = typename BasisBase::OrdinalTypeArray1DHost

Definition at line 82 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ OrdinalTypeArray2DHost

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::OrdinalTypeArray2DHost = typename BasisBase::OrdinalTypeArray2DHost

Definition at line 83 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ OutputValueType

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::OutputValueType = typename BasisBase::OutputValueType

Definition at line 78 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ OutputViewType

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::OutputViewType = typename BasisBase::OutputViewType

Definition at line 84 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ PointValueType

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::PointValueType = typename BasisBase::PointValueType

Definition at line 79 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ PointViewType

template<class FullBasis , int numPolyOrderArgs>
using Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::PointViewType = typename BasisBase::PointViewType

Definition at line 85 of file Intrepid2_SerendipityBasisFamily.hpp.

Constructor & Destructor Documentation

◆ SerendipityBasisWrapper() [1/3]

template<class FullBasis , int numPolyOrderArgs>
Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::SerendipityBasisWrapper ( int polyOrder,
const EPointType pointType = POINTTYPE_DEFAULT )
inline

single-argument constructor, for isotropic bases.

Definition at line 88 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ SerendipityBasisWrapper() [2/3]

template<class FullBasis , int numPolyOrderArgs>
template<bool M = (numPolyOrderArgs==2)>
Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::SerendipityBasisWrapper ( int polyOrder_x,
int polyOrder_y,
const EPointType pointType = POINTTYPE_DEFAULT,
typename std::enable_if< M >::type * = 0 )
inline

two-argument constructor; enabled if numPolyOrderArgs is 2.

Definition at line 95 of file Intrepid2_SerendipityBasisFamily.hpp.

◆ SerendipityBasisWrapper() [3/3]

template<class FullBasis , int numPolyOrderArgs>
template<bool M = (numPolyOrderArgs==3)>
Intrepid2::SerendipityBasisWrapper< FullBasis, numPolyOrderArgs >::SerendipityBasisWrapper ( int polyOrder_x,
int polyOrder_y,
int polyOrder_z,
const EPointType pointType = POINTTYPE_DEFAULT,
typename std::enable_if< M >::type * = 0 )
inline

three-argument constructor; enabled if numPolyOrderArgs is 3.

Definition at line 102 of file Intrepid2_SerendipityBasisFamily.hpp.


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