43 #ifndef __Panzer_ResponseEvaluatorFactory_Probe_impl_hpp__
44 #define __Panzer_ResponseEvaluatorFactory_Probe_impl_hpp__
48 #include "PanzerDiscFE_config.hpp"
58 template <
typename EvalT,
typename LO,
typename GO>
62 Teuchos::RCP<ResponseBase> response = Teuchos::rcp(
new Response_Probe<EvalT>(responseName,comm_,linearObjFactory_));
63 response->setRequiresDirichletAdjustment(applyDirichletToDerivative_);
68 template <
typename EvalT,
typename LO,
typename GO>
73 const Teuchos::ParameterList & user_data)
const
80 Teuchos::RCP<ProbeScatterBase> scatterObj =
81 (globalIndexer_!=Teuchos::null) ? Teuchos::rcp(
new ProbeScatter<LO,GO>(globalIndexer_)) : Teuchos::null;
82 std::string
field = (fieldName_==
"" ? responseName : fieldName_);
85 std::vector<panzer::StrPureBasisPair> blockFields = physicsBlock.
getProvidedDOFs();
86 RCP<const panzer::PureBasis> basis;
87 for (
auto&& v : blockFields) {
88 if (v.first ==
field) {
96 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
106 this->
template registerEvaluator<EvalT>(fm, eval);
109 fm.template requireField<EvalT>(*eval->evaluatedFields()[0]);
113 template <
typename EvalT,
typename LO,
typename GO>
117 if(PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Residual>() ||
118 PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Tangent>() ||
119 PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Jacobian>()