43 #ifndef __PANZER_STK_GatherRefCoords_impl_hpp__
44 #define __PANZER_STK_GatherRefCoords_impl_hpp__
46 #include "Teuchos_Assert.hpp"
47 #include "Phalanx_DataLayout.hpp"
51 #include "Teuchos_FancyOStream.hpp"
57 template<
typename EvalT,
typename Traits>
61 const std::string & fieldName)
68 coordField_ = PHX::MDField<ScalarT,panzer::Cell,panzer::NODE,panzer::Dim>(fieldName,basis.
functional_grad);
69 this->addEvaluatedField(coordField_);
71 this->setName(
"Gather STK Fields");
75 template<
typename EvalT,
typename Traits>
79 const std::vector<stk::mesh::Entity> & localElements = *mesh_->getElementsOrderedByLID();
82 const std::vector<std::size_t> & localCellIds = this->wda(workset).cell_local_ids;
85 std::vector<stk::mesh::Entity> selected_elements;
86 for(std::size_t cell=0;cell<localCellIds.size();cell++)
87 selected_elements.push_back(localElements[localCellIds[cell]]);
89 mesh_->getElementVertices_FromCoordsNoResize(selected_elements,coordField_);
void evaluateFields(typename Traits::EvalData d)
Teuchos::RCP< PHX::DataLayout > functional_grad
<Cell,Basis,Dim>
BASIS NODE
Spatial Dimension Tag.