46 #include "Teuchos_Assert.hpp"
47 #include "Phalanx_DataLayout_MDALayout.hpp"
54 Teuchos::RCP<panzer::BasisIRLayout>
60 Teuchos::RCP<panzer::BasisIRLayout>
88 basis_name_ = basis_data_->name() +
":" + point_rule.
getName();
89 num_cells_ = point_rule.
dl_vector->extent(0);
90 num_points_ = point_rule.
dl_vector->extent(1);
91 dimension_ = point_rule.
dl_vector->extent(2);
96 basis_ref = rcp(
new MDALayout<BASIS,IP>(cardinality(),
numPoints()));
99 rcp(
new MDALayout<Cell,BASIS,IP>(numCells(), cardinality(),
numPoints()));
102 rcp(
new MDALayout<BASIS,IP,Dim>(cardinality(),
numPoints(), dimension()));
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(),
131 const Teuchos::RCP<const shards::CellTopology>& topology = basis_data_->getCellTopology();
138 return basis_data_->cardinality();
163 return basis_data_->fieldName();
168 return basis_data_->fieldNameD1();
173 return basis_data_->fieldNameD2();
176 Teuchos::RCP< Intrepid2::Basis<PHX::Device::execution_space,double,double> >
179 return basis_data_->getIntrepid2Basis();
182 Teuchos::RCP< const panzer::PureBasis>
190 os <<
"Name = " << name()
191 <<
", Dimension = " << dimension()
192 <<
", Cells = " << numCells()