11#ifndef PANZER_TEST_SCATTER_IMPL_HPP
12#define PANZER_TEST_SCATTER_IMPL_HPP
16template <
typename EvalT,
typename TRAITS>
19template<
typename EvalT,
typename Traits>
22 const Teuchos::ParameterList& p)
24 std::string test_name = p.get<std::string>(
"Test Name");
25 std::string test_name_res = p.get<std::string>(
"Test Name Residual");
26 Teuchos::RCP<PHX::DataLayout> dl = p.get< Teuchos::RCP<PHX::DataLayout> >(
"Data Layout");
27 value = PHX::MDField<const ScalarT,Cell,NODE>(p.get<std::string>(
"Test Name"), dl);
28 scatter_value = PHX::MDField<ScalarT,Cell,NODE>(test_name_res, dl);
30 this->addDependentField(
value);
42template<
typename EvalT,
typename Traits>
52template<
typename EvalT,
typename Traits>
62 for (index_t cell = 0; cell < workset.
num_cells; ++cell) {
64 for (std::size_t node = 0; node <
num_nodes; ++node)
65 sum +=
value(cell,node);
68 for (std::size_t node = 0; node <
num_nodes; ++node) {
typename EvalT::ScalarT ScalarT
TestScatter(const Teuchos::ParameterList &p)
Construct from a ParameterList specifying the input/output field names and shared data layout.
PHX::MDField< ScalarT, Cell, NODE > scatter_value
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
Looks up the number of nodes per cell needed by evaluateFields(). Called once before the first evalua...
void evaluateFields(typename Traits::EvalData d)
Computes the output field for this workset per the class description.
PHX::MDField< const ScalarT, Cell, NODE > value
int num_cells
DEPRECATED - use: numCells().
const panzer::Workset & EvalData
Data type passed to PHX::Evaluator::evaluateFields(): a single workset holding the cell data for one ...
const SD & SetupData
Data type passed to PHX::Evaluator::postRegistrationSetup().