1 #ifndef __Panzer_ResponseEvaluatorFactory_Probe_impl_hpp__ 2 #define __Panzer_ResponseEvaluatorFactory_Probe_impl_hpp__ 6 #include "PanzerDiscFE_config.hpp" 16 template <
typename EvalT,
typename LO,
typename GO>
20 Teuchos::RCP<ResponseBase> response = Teuchos::rcp(
new Response_Probe<EvalT>(responseName,comm_,linearObjFactory_));
21 response->setRequiresDirichletAdjustment(applyDirichletToDerivative_);
26 template <
typename EvalT,
typename LO,
typename GO>
31 const Teuchos::ParameterList & user_data)
const 38 Teuchos::RCP<ProbeScatterBase> scatterObj =
39 (globalIndexer_!=Teuchos::null) ? Teuchos::rcp(
new ProbeScatter<LO,GO>(globalIndexer_)) : Teuchos::null;
40 std::string
field = (fieldName_==
"" ? responseName : fieldName_);
43 std::vector<panzer::StrPureBasisPair> blockFields = physicsBlock.
getProvidedDOFs();
44 RCP<const panzer::PureBasis>
basis;
45 for (
auto&& v : blockFields) {
46 if (v.first ==
field) {
54 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
64 this->
template registerEvaluator<EvalT>(fm, eval);
67 fm.template requireField<EvalT>(*eval->evaluatedFields()[0]);
71 template <
typename EvalT,
typename LO,
typename GO>
75 if(PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Residual>() ||
76 PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Tangent>() ||
77 PHX::typeAsString<EvalT>()==PHX::typeAsString<panzer::Traits::Jacobian>()
Object that contains information on the physics and discretization of a block of elements with the SA...
virtual bool typeSupported() const
virtual void buildAndRegisterEvaluators(const std::string &responseName, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &physicsBlock, const Teuchos::ParameterList &user_data) const
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName) const
PHX::MDField< const ScalarT, Cell, IP > field
const std::vector< StrPureBasisPair > & getProvidedDOFs() const
Teuchos::RCP< const panzer::PureBasis > basis
Interpolates basis DOF values to IP DOF values.
const std::map< int, Teuchos::RCP< panzer::IntegrationRule > > & getIntegrationRules() const
Returns the unique set of point rules, key is the unique panzer::PointRule::name() ...