43 #ifndef PANZER_PureBasis_HPP 
   44 #define PANZER_PureBasis_HPP 
   49 #include "Phalanx_DataLayout.hpp" 
   51 #include "Kokkos_DynRankView.hpp" 
   52 #include "Intrepid2_Basis.hpp" 
   58   class BasisDescriptor;
 
   99     std::string 
type() 
const;
 
  105     std::string 
name() 
const;
 
  116     template <
typename ExecutionSpace,
typename OutputValueType, 
typename Po
intValueType>
 
  119     { 
return panzer::createIntrepid2Basis<ExecutionSpace,OutputValueType,PointValueType>(
type(), 
order(), *(
getCellTopology())); }
 
  169     void initialize(
const std::string & basis_type,
const int basis_order);
 
  193     {
return lhs.first<rhs.first;}
 
std::string name() const 
A unique key that is the combination of the basis type and basis order. 
 
bool supportsCurl() const 
 
bool supportsGrad() const 
 
Simple binary comparison class to help with sorting. 
 
EElementSpace getElementSpace() const 
 
std::string field_basis_name_D1_
 
int order() const 
Returns the polynomial order of the basis. 
 
int cardinality() const 
Returns the number of basis coefficients. 
 
Teuchos::RCP< PHX::DataLayout > cell_data
<Cell> 
 
std::string fieldName() const 
 
int dimension() const 
Returns the dimension of the basis from the topology. 
 
bool requiresOrientations() const 
 
bool supportsBasisCoordinates() const 
 
std::string type() const 
Returns the basis type. 
 
Teuchos::RCP< const shards::CellTopology > getCellTopology() const 
 
std::string field_basis_name_
 
Data for determining cell topology and dimensionality. 
 
Teuchos::RCP< PHX::DataLayout > coordinates
<Cell,Basis,Dim> 
 
PureBasis(const std::string &basis_type, const int basis_order, const CellData &cell_data)
 
bool isVectorBasis() const 
 
Teuchos::RCP< Intrepid2::Basis< ExecutionSpace, OutputValueType, PointValueType > > getIntrepid2Basis() const 
 
Teuchos::RCP< PHX::DataLayout > functional_grad
<Cell,Basis,Dim> 
 
Teuchos::RCP< PHX::DataLayout > functional_D2
<Cell,Basis,Dim> 
 
Teuchos::RCP< Intrepid2::Basis< PHX::Device::execution_space, double, double > > getIntrepid2Basis() const 
 
int numCells() const 
Returns the number of cells in the data layouts. 
 
bool operator()(const StrPureBasisPair &lhs, const StrPureBasisPair &rhs) const 
 
bool isScalarBasis() const 
 
Teuchos::RCP< Intrepid2::Basis< PHX::Device::execution_space, double, double > > intrepid_basis_
 
Teuchos::RCP< PHX::DataLayout > local_mat_layout
<Cell,Basis,Basis> 
 
std::pair< std::string, Teuchos::RCP< panzer::PureBasis > > StrPureBasisPair
 
EElementSpace element_space_
 
void initialize(const std::string &basis_type, const int basis_order)
Initialize the basis object. 
 
Description and data layouts associated with a particular basis. 
 
Teuchos::RCP< PHX::DataLayout > functional
<Cell,Basis> or <Cell,Basis> 
 
std::string fieldNameD1() const 
 
Teuchos::RCP< const shards::CellTopology > topology_
 
std::string field_basis_name_D2_
 
std::string fieldNameD2() const