11#ifndef __Panzer_ResponseScatterEvaluator_ExtremeValue_hpp__
12#define __Panzer_ResponseScatterEvaluator_ExtremeValue_hpp__
17#include "PanzerDiscFE_config.hpp"
23#include "Phalanx_Evaluator_Macros.hpp"
24#include "Phalanx_MDField.hpp"
34 virtual void scatterDerivative(
const PHX::MDField<const panzer::Traits::Jacobian::ScalarT,panzer::Cell> & cellExtremeValue,
37 Teuchos::ArrayRCP<double> & dgdx)
const = 0;
40template <
typename LO,
typename GO>
46 void scatterDerivative(
const PHX::MDField<const panzer::Traits::Jacobian::ScalarT,panzer::Cell> & cellExtremeValue,
49 Teuchos::ArrayRCP<double> & dgdx)
const;
58template<
typename EvalT,
typename Traits>
60 public PHX::EvaluatorDerived<EvalT, Traits> {
66 const Teuchos::RCP<ExtremeValueScatterBase> & functionalScatter);
69 const Teuchos::RCP<ExtremeValueScatterBase> & functionalScatter);
87template <
typename LO,
typename GO>
89 const PHX::MDField<const panzer::Traits::Jacobian::ScalarT,panzer::Cell> & ,
92 Teuchos::ArrayRCP<double> & )
const
94 TEUCHOS_ASSERT(
false);
Data for determining cell topology and dimensionality.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
virtual ~ExtremeValueScatterBase()
virtual void scatterDerivative(const PHX::MDField< const panzer::Traits::Jacobian::ScalarT, panzer::Cell > &cellExtremeValue, panzer::Traits::EvalData workset, WorksetDetailsAccessor &wda, Teuchos::ArrayRCP< double > &dgdx) const =0
ExtremeValueScatter(const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer)
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
void scatterDerivative(const PHX::MDField< const panzer::Traits::Jacobian::ScalarT, panzer::Cell > &cellExtremeValue, panzer::Traits::EvalData workset, WorksetDetailsAccessor &wda, Teuchos::ArrayRCP< double > &dgdx) const
std::string responseName_
void preEvaluate(typename Traits::PreEvalData d)
PHX::MDField< const ScalarT, panzer::Cell > cellExtremeValue_
Teuchos::RCP< ExtremeValueScatterBase > scatterObj_
Teuchos::RCP< Response_ExtremeValue< EvalT > > responseObj_
void evaluateFields(typename Traits::EvalData d)
Teuchos::RCP< PHX::FieldTag > scatterHolder_