43 #ifndef __Panzer_ResponseEvaluatorFactory_ExtremeValue_impl_hpp__ 44 #define __Panzer_ResponseEvaluatorFactory_ExtremeValue_impl_hpp__ 48 #include "PanzerDiscFE_config.hpp" 58 template <
typename EvalT,
typename LO,
typename GO>
63 response->setRequiresDirichletAdjustment(applyDirichletToDerivative_);
68 template <
typename EvalT,
typename LO,
typename GO>
73 const Teuchos::ParameterList & user_data)
const 80 if(requiresCellExtreme_) {
81 std::string
field = (quadPointField_==
"" ? responseName : quadPointField_);
86 Teuchos::ParameterList pl;
88 pl.set(
"Extreme Name",prefix_+
field);
89 pl.set(
"Field Name",
field);
91 pl.set(
"Use Max",useMax_);
93 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
96 this->
template registerEvaluator<EvalT>(fm, eval);
102 Teuchos::RCP<ExtremeValueScatterBase> scatterObj =
104 std::string
field = (quadPointField_==
"" ? responseName : quadPointField_);
108 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
115 this->
template registerEvaluator<EvalT>(fm, eval);
118 fm.template requireField<EvalT>(*eval->evaluatedFields()[0]);
122 template <
typename EvalT,
typename LO,
typename GO>
126 if( PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Residual>() ||
127 PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Tangent>()
131 if(PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Jacobian>())
virtual void buildAndRegisterEvaluators(const std::string &responseName, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &physicsBlock, const Teuchos::ParameterList &user_data) const
Object that contains information on the physics and discretization of a block of elements with the SA...
virtual bool typeSupported() const
const panzer::CellData & cellData() const
PHX::MDField< ScalarT, panzer::Cell, panzer::BASIS > field
A field to which we'll contribute, or in which we'll store, the result of computing this integral...
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName) const