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>
81 this->utils.setFieldData(coordField_,fm);
85 template<
typename EvalT,
typename Traits>
89 const std::vector<stk::mesh::Entity> & localElements = *
mesh_->getElementsOrderedByLID();
92 const std::vector<std::size_t> & localCellIds = this->wda(workset).cell_local_ids;
95 std::vector<stk::mesh::Entity> selected_elements;
96 for(std::size_t cell=0;cell<localCellIds.size();cell++)
97 selected_elements.push_back(localElements[localCellIds[cell]]);
99 mesh_->getElementVertices_FromCoordsNoResize(selected_elements,coordField_);
void evaluateFields(typename Traits::EvalData d)
Teuchos::RCP< STK_Interface > mesh_
Teuchos::RCP< const panzer::PureBasis > basis
Interpolates basis DOF values to IP DOF values.
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)