1 #ifndef __Panzer_ResponseEvaluatorFactory_ExtremeValue_impl_hpp__ 2 #define __Panzer_ResponseEvaluatorFactory_ExtremeValue_impl_hpp__ 6 #include "PanzerDiscFE_config.hpp" 16 template <
typename EvalT,
typename LO,
typename GO>
21 response->setRequiresDirichletAdjustment(applyDirichletToDerivative_);
26 template <
typename EvalT,
typename LO,
typename GO>
31 const Teuchos::ParameterList & user_data)
const 38 if(requiresCellExtreme_) {
39 std::string
field = (quadPointField_==
"" ? responseName : quadPointField_);
44 Teuchos::ParameterList pl;
45 pl.set(
"Extreme Name",
field);
46 pl.set(
"Field Name",
field);
48 pl.set(
"Use Max",useMax_);
50 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
51 = Teuchos::rcp(
new CellExtreme<EvalT,panzer::Traits>(pl));
53 this->
template registerEvaluator<EvalT>(fm, eval);
59 Teuchos::RCP<ExtremeValueScatterBase> scatterObj =
61 std::string
field = (quadPointField_==
"" ? responseName : quadPointField_);
64 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
71 this->
template registerEvaluator<EvalT>(fm, eval);
74 fm.template requireField<EvalT>(*eval->evaluatedFields()[0]);
78 template <
typename EvalT,
typename LO,
typename GO>
82 if( PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Residual>() ||
83 PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Tangent>()
87 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
PHX::MDField< const ScalarT, Cell, IP > field
const panzer::CellData & cellData() const
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName) const