Intrepid2
Public Types | Public Member Functions | Protected Attributes | List of all members
Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE > Class Template Reference
Inheritance diagram for Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >:
Intrepid2::Basis_TensorBasis< HVOL_LINE::BasisBase >

Public Types

using ExecutionSpace = typename HVOL_LINE::ExecutionSpace
 
using OutputValueType = typename HVOL_LINE::OutputValueType
 
using PointValueType = typename HVOL_LINE::PointValueType
 
using OutputViewType = typename HVOL_LINE::OutputViewType
 
using PointViewType = typename HVOL_LINE::PointViewType
 
using ScalarViewType = typename HVOL_LINE::ScalarViewType
 
using BasisBase = typename HVOL_LINE::BasisBase
 
using TriBasis = HVOL_TRI
 
using LineBasis = HVOL_LINE
 
using TensorBasis = Basis_TensorBasis< BasisBase >
 
- Public Types inherited from Intrepid2::Basis_TensorBasis< HVOL_LINE::BasisBase >
using BasisBase = HVOL_LINE::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 OrdinalTypeArray1DHost = typename BasisBase::OrdinalTypeArray1DHost
 
using OrdinalTypeArray2DHost = typename BasisBase::OrdinalTypeArray2DHost
 
using OutputViewType = typename BasisBase::OutputViewType
 
using PointViewType = typename BasisBase::PointViewType
 
using TensorBasis = Basis_TensorBasis< HVOL_LINE::BasisBase >
 

Public Member Functions

 Basis_Derived_HVOL_WEDGE (int polyOrder_xy, int polyOrder_z, const EPointType pointType=POINTTYPE_DEFAULT)
 Constructor.
 
 Basis_Derived_HVOL_WEDGE (int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Constructor.
 
virtual bool requireOrientation () const override
 True if orientation is required.
 
virtual const char * getName () const override
 Returns basis name.
 
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.
 
- Public Member Functions inherited from Intrepid2::Basis_TensorBasis< HVOL_LINE::BasisBase >
 Basis_TensorBasis (BasisPtr basis1, BasisPtr basis2, EFunctionSpace functionSpace=FUNCTION_SPACE_MAX, const bool useShardsCellTopologyAndTags=false)
 Constructor.
 
void setShardsTopologyAndTags ()
 
virtual int getNumTensorialExtrusions () const override
 
ordinal_type getTensorDkEnumeration (ordinal_type dkEnum1, ordinal_type operatorOrder1, ordinal_type dkEnum2, ordinal_type operatorOrder2) const
 Given "Dk" enumeration indices for the component bases, returns a Dk enumeration index for the composite basis.
 
virtual OperatorTensorDecomposition getSimpleOperatorDecomposition (const EOperator &operatorType) const
 Returns a simple decomposition of the specified operator: what operator(s) should be applied to basis1, and what operator(s) to basis2. A one-element OperatorTensorDecomposition corresponds to a single TensorData entry; a multiple-element OperatorTensorDecomposition corresponds to a VectorData object with axialComponents = false.
 
virtual OperatorTensorDecomposition getOperatorDecomposition (const EOperator operatorType) const
 Returns a full decomposition of the specified operator. (Full meaning that all TensorBasis components are expanded into their non-TensorBasis components.)
 
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.
 
void getComponentPoints (const PointViewType inputPoints, const bool attemptTensorDecomposition, PointViewType &inputPoints1, PointViewType &inputPoints2, bool &tensorDecompositionSucceeded) const
 Method to extract component points from composite points.
 
virtual void getDofCoords (typename BasisBase::ScalarViewType dofCoords) const override
 Fills in spatial locations (coordinates) of degrees of freedom (nodes) on the reference cell.
 
virtual void getDofCoeffs (typename BasisBase::ScalarViewType dofCoeffs) const override
 Fills in coefficients of degrees of freedom on the reference cell.
 
virtual const char * getName () const override
 Returns basis name.
 
std::vector< BasisPtr > getTensorBasisComponents () const
 
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.
 
void getValues (OutputViewType outputValues, const PointViewType inputPoints, const EOperator operatorType=OPERATOR_VALUE) const override
 Evaluation of a FEM basis on a reference cell.
 
virtual void getValues (OutputViewType outputValues, const EOperator operatorType, const PointViewType inputPoints1, const PointViewType inputPoints2, bool tensorPoints) const
 Evaluation of a tensor FEM basis on a reference cell; subclasses should override this.
 
void getValues (OutputViewType outputValues, const PointViewType inputPoints1, const EOperator operatorType1, const PointViewType inputPoints2, const EOperator operatorType2, bool tensorPoints, double weight=1.0) const
 Evaluation of a tensor 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.
 

Protected Attributes

std::string name_
 
ordinal_type order_xy_
 
ordinal_type order_z_
 
EPointType pointType_
 
- Protected Attributes inherited from Intrepid2::Basis_TensorBasis< HVOL_LINE::BasisBase >
BasisPtr basis1_
 
BasisPtr basis2_
 
std::vector< BasisPtr > tensorComponents_
 
std::string name_
 
int numTensorialExtrusions_
 

Detailed Description

template<class HVOL_TRI, class HVOL_LINE>
class Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >

Definition at line 59 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

Member Typedef Documentation

◆ BasisBase

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::BasisBase = typename HVOL_LINE::BasisBase

Definition at line 75 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ ExecutionSpace

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::ExecutionSpace = typename HVOL_LINE::ExecutionSpace

Definition at line 67 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ LineBasis

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::LineBasis = HVOL_LINE

Definition at line 77 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ OutputValueType

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::OutputValueType = typename HVOL_LINE::OutputValueType

Definition at line 68 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ OutputViewType

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::OutputViewType = typename HVOL_LINE::OutputViewType

Definition at line 71 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ PointValueType

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::PointValueType = typename HVOL_LINE::PointValueType

Definition at line 69 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ PointViewType

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::PointViewType = typename HVOL_LINE::PointViewType

Definition at line 72 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ ScalarViewType

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::ScalarViewType = typename HVOL_LINE::ScalarViewType

Definition at line 73 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ TensorBasis

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::TensorBasis = Basis_TensorBasis<BasisBase>

Definition at line 78 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ TriBasis

template<class HVOL_TRI , class HVOL_LINE >
using Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::TriBasis = HVOL_TRI

Definition at line 76 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

Constructor & Destructor Documentation

◆ Basis_Derived_HVOL_WEDGE() [1/2]

template<class HVOL_TRI , class HVOL_LINE >
Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::Basis_Derived_HVOL_WEDGE ( int  polyOrder_xy,
int  polyOrder_z,
const EPointType  pointType = POINTTYPE_DEFAULT 
)
inline

Constructor.

Parameters
[in]polyOrder_xy- the polynomial order in the x and y dimensions.
[in]polyOrder_z- the polynomial order in the z dimension.
[in]pointType- type of lattice used for creating the DoF coordinates.

Definition at line 85 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

References Intrepid2::Basis_TensorBasis< BasisBaseClass >::getName().

◆ Basis_Derived_HVOL_WEDGE() [2/2]

template<class HVOL_TRI , class HVOL_LINE >
Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::Basis_Derived_HVOL_WEDGE ( int  polyOrder,
const EPointType  pointType = POINTTYPE_DEFAULT 
)
inline

Constructor.

Parameters
[in]polyOrder- the polynomial order to use in both dimensions.
[in]pointType- type of lattice used for creating the DoF coordinates.

Definition at line 107 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

Member Function Documentation

◆ getHostBasis()

template<class HVOL_TRI , class HVOL_LINE >
virtual HostBasisPtr< OutputValueType, PointValueType > Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::getHostBasis ( ) const
inlineoverridevirtual

Creates and returns a Basis object whose DeviceType template argument is Kokkos::HostSpace::device_type, but is otherwise identical to this.

Returns
Pointer to the new Basis object.

Reimplemented from Intrepid2::Basis_TensorBasis< HVOL_LINE::BasisBase >.

Definition at line 133 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ getName()

template<class HVOL_TRI , class HVOL_LINE >
virtual const char * Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::getName ( ) const
inlineoverridevirtual

Returns basis name.

Returns
the name of the basis

Reimplemented from Intrepid2::Basis_TensorBasis< HVOL_LINE::BasisBase >.

Definition at line 124 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ requireOrientation()

template<class HVOL_TRI , class HVOL_LINE >
virtual bool Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::requireOrientation ( ) const
inlineoverridevirtual

True if orientation is required.

Definition at line 112 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

Member Data Documentation

◆ name_

template<class HVOL_TRI , class HVOL_LINE >
std::string Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::name_
protected

Definition at line 63 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ order_xy_

template<class HVOL_TRI , class HVOL_LINE >
ordinal_type Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::order_xy_
protected

Definition at line 64 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ order_z_

template<class HVOL_TRI , class HVOL_LINE >
ordinal_type Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::order_z_
protected

Definition at line 64 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.

◆ pointType_

template<class HVOL_TRI , class HVOL_LINE >
EPointType Intrepid2::Basis_Derived_HVOL_WEDGE< HVOL_TRI, HVOL_LINE >::pointType_
protected

Definition at line 65 of file Intrepid2_DerivedBasis_HVOL_WEDGE.hpp.


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