44 #ifndef PANZER_BASIS_HPP 45 #define PANZER_BASIS_HPP 48 #include "Teuchos_RCP.hpp" 49 #include "Phalanx_DataLayout.hpp" 50 #include "Kokkos_DynRankView.hpp" 51 #include "Intrepid2_Basis.hpp" 60 class CellTopologyInfo;
64 Teuchos::RCP<panzer::BasisIRLayout>
65 basisIRLayout(std::string basis_type,
const int basis_order,
const PointRule& pt_rule);
68 Teuchos::RCP<panzer::BasisIRLayout>
69 basisIRLayout(
const Teuchos::RCP<const PureBasis> & b,
const PointRule& pt_rule);
89 std::string
name()
const;
97 Teuchos::RCP< Intrepid2::Basis<double,Kokkos::DynRankView<double,PHX::Device> > >
100 Teuchos::RCP<const PureBasis>
getBasis()
const;
102 void print(std::ostream & os)
const;
113 Teuchos::RCP<PHX::DataLayout>
basis;
141 typedef std::pair<std::string,Teuchos::RCP<panzer::BasisIRLayout> >
StrBasisPair;
146 {
return lhs.first<rhs.first;}
Teuchos::RCP< PHX::DataLayout > basis_ref
<BASIS,IP>
Teuchos::RCP< PHX::DataLayout > basis_D2_ref
<BASIS,IP,Dim,Dim>
Teuchos::RCP< PHX::DataLayout > functional_D2
<Cell,Basis,Dim,Dim>
void print(std::ostream &os) const
std::string fieldNameD1() const
BasisIRLayout(std::string basis_type, const int basis_order, const PointRule &int_rule)
Teuchos::RCP< const PureBasis > getBasis() const
Teuchos::RCP< PHX::DataLayout > basis_grad
<Cell,BASIS,IP,Dim>
bool operator()(const StrBasisPair &lhs, const StrBasisPair &rhs) const
std::string fieldNameD2() const
Teuchos::RCP< Intrepid2::Basis< double, Kokkos::DynRankView< double, PHX::Device > > > getIntrepid2Basis() const
Teuchos::RCP< panzer::BasisIRLayout > basisIRLayout(std::string basis_type, const int basis_order, const PointRule &pt_rule)
Nonmember constructor.
Teuchos::RCP< PHX::DataLayout > functional_grad
<Cell,Basis,Dim>
Teuchos::RCP< const CellTopologyInfo > cell_topo_info
Teuchos::RCP< const CellTopologyInfo > getCellTopologyInfo() const
Teuchos::RCP< PHX::DataLayout > basis_grad_ref
<BASIS,IP,Dim>
Teuchos::RCP< PHX::DataLayout > basis_D2
<Cell,BASIS,IP,Dim,Dim>
Teuchos::RCP< PHX::DataLayout > basis
<Cell,BASIS,IP>
std::string name() const
Unique key for workset indexing composed of basis name and point rule name.
Simple binary comparison class to help with sorting.
void setup(const panzer::PointRule &int_rule)
std::pair< std::string, Teuchos::RCP< panzer::BasisIRLayout > > StrBasisPair
Teuchos::RCP< PHX::DataLayout > functional
<Cell,Basis>
Teuchos::RCP< const PureBasis > basis_data_
std::string fieldName() const