46 #include "Teuchos_Assert.hpp" 47 #include "Phalanx_DataLayout_MDALayout.hpp" 88 basis_name_ = basis_data_->name() +
":" + point_rule.
getName();
89 num_cells_ = point_rule.
dl_vector->dimension(0);
90 num_points_ = point_rule.
dl_vector->dimension(1);
91 dimension_ = point_rule.
dl_vector->dimension(2);
96 basis_ref =
rcp(
new MDALayout<BASIS,IP>(cardinality(),
numPoints()));
99 rcp(
new MDALayout<Cell,BASIS,IP>(numCells(), cardinality(),
numPoints()));
104 basis_grad =
rcp(
new MDALayout<Cell,BASIS,IP,Dim>(numCells(),
109 basis_D2_ref =
rcp(
new MDALayout<BASIS,IP,Dim,Dim>(cardinality(),
114 basis_D2 =
rcp(
new MDALayout<Cell,BASIS,IP,Dim,Dim>(numCells(),
120 functional =
rcp(
new MDALayout<Cell,BASIS>(numCells(), cardinality()));
122 functional_grad =
rcp(
new MDALayout<Cell,BASIS,Dim>(numCells(),
126 functional_D2 =
rcp(
new MDALayout<Cell,BASIS,Dim,Dim>(numCells(),
138 return basis_data_->cardinality();
163 return basis_data_->fieldName();
168 return basis_data_->fieldNameD1();
173 return basis_data_->fieldNameD2();
179 return basis_data_->getIntrepid2Basis();
190 os <<
"Name = " << name()
192 <<
", Cells = " << numCells()
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
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_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Teuchos::RCP< const shards::CellTopology > topology
Teuchos::RCP< PHX::DataLayout > dl_vector
Data layout for vector fields.
std::string name() const
Unique key for workset indexing composed of basis name and point rule name.
Teuchos::RCP< const panzer::PureBasis > basis
Interpolates basis DOF values to IP DOF values.
void setup(const panzer::PointRule &int_rule)
const std::string & getName() const
Description and data layouts associated with a particular basis.
Teuchos::RCP< const PureBasis > basis_data_
std::string fieldName() const