43 #ifndef __Panzer_ResponseScatterEvaluator_ExtremeValue_hpp__
44 #define __Panzer_ResponseScatterEvaluator_ExtremeValue_hpp__
49 #include "PanzerDiscFE_config.hpp"
55 #include "Phalanx_Evaluator_Macros.hpp"
56 #include "Phalanx_MDField.hpp"
66 virtual void scatterDerivative(
const PHX::MDField<const panzer::Traits::Jacobian::ScalarT,panzer::Cell> & cellExtremeValue,
69 Teuchos::ArrayRCP<double> & dgdx)
const = 0;
72 template <
typename LO,
typename GO>
78 void scatterDerivative(
const PHX::MDField<const panzer::Traits::Jacobian::ScalarT,panzer::Cell> & cellExtremeValue,
81 Teuchos::ArrayRCP<double> & dgdx)
const;
90 template<
typename EvalT,
typename Traits>
92 public PHX::EvaluatorDerived<EvalT, Traits> {
98 const Teuchos::RCP<ExtremeValueScatterBase> & functionalScatter);
101 const Teuchos::RCP<ExtremeValueScatterBase> & functionalScatter);
119 template <
typename LO,
typename GO>
121 const PHX::MDField<const panzer::Traits::Jacobian::ScalarT,panzer::Cell> & cellExtremeValue,
124 Teuchos::ArrayRCP<double> & dgdx)
const
126 TEUCHOS_ASSERT(
false);