17 #ifndef Intrepid2_DerivedBasis_HVOL_WEDGE_h
18 #define Intrepid2_DerivedBasis_HVOL_WEDGE_h
24 template<
class HVOL_TRI,
class HVOL_LINE>
30 ordinal_type order_xy_, order_z_;
31 EPointType pointType_;
33 using ExecutionSpace =
typename HVOL_LINE::ExecutionSpace;
34 using OutputValueType =
typename HVOL_LINE::OutputValueType;
35 using PointValueType =
typename HVOL_LINE::PointValueType;
37 using OutputViewType =
typename HVOL_LINE::OutputViewType;
38 using PointViewType =
typename HVOL_LINE::PointViewType ;
39 using ScalarViewType =
typename HVOL_LINE::ScalarViewType;
41 using BasisBase =
typename HVOL_LINE::BasisBase;
42 using TriBasis = HVOL_TRI;
43 using LineBasis = HVOL_LINE;
53 TensorBasis(Teuchos::rcp( new TriBasis(polyOrder_xy, pointType)),
54 Teuchos::rcp( new LineBasis(polyOrder_z, pointType)))
56 this->functionSpace_ = FUNCTION_SPACE_HVOL;
58 std::ostringstream basisName;
60 name_ = basisName.str();
62 order_xy_= polyOrder_xy;
63 order_z_ = polyOrder_z;
64 pointType_ = pointType;
66 this->setShardsTopologyAndTags();
82 using BasisBase::getValues;
98 virtual HostBasisPtr<OutputValueType, PointValueType>
102 auto hostBasis = Teuchos::rcp(
new HostBasis(order_xy_, order_z_, pointType_));
Basis_Derived_HVOL_WEDGE(int polyOrder_xy, int polyOrder_z, const EPointType pointType=POINTTYPE_DEFAULT)
Constructor.
Implementation of bases that are tensor products of two or three component bases. ...
virtual HostBasisPtr< OutputValueType, PointValueType > getHostBasis() const override
Creates and returns a Basis object whose DeviceType template argument is Kokkos::HostSpace::device_ty...
virtual bool requireOrientation() const override
True if orientation is required.
virtual const char * getName() const override
Returns basis name.
virtual const char * getName() const override
Returns basis name.
Basis_Derived_HVOL_WEDGE(int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
Constructor.
Basis defined as the tensor product of two component bases.