43 #ifndef __Panzer_ResponseEvaluatorFactory_Probe_hpp__ 44 #define __Panzer_ResponseEvaluatorFactory_Probe_hpp__ 48 #include "PanzerDiscFE_config.hpp" 62 template <
typename EvalT,
typename LO,
typename GO>
68 const Teuchos::Array<double>& point,
69 int fieldComponent = 0,
71 const std::string & fieldName=
"",
73 const Teuchos::RCP<const panzer::GlobalIndexer> & globalIndexer=Teuchos::null,
74 bool applyDirichletToDerivative=
false)
79 TEUCHOS_ASSERT((linearObjFactory==Teuchos::null && globalIndexer==Teuchos::null) ||
80 (linearObjFactory!=Teuchos::null && globalIndexer!=Teuchos::null));
94 virtual Teuchos::RCP<ResponseBase>
buildResponseObject(
const std::string & responseName)
const;
97 const std::vector<WorksetDescriptor> & wkstDesc)
const 114 const Teuchos::ParameterList & user_data)
const;
140 template <
typename LO,
typename GO>
155 const Teuchos::RCP<const panzer::GlobalIndexer> & in_globalIndexer)
166 using Teuchos::rcp_dynamic_cast;
169 rcp_dynamic_cast<const panzer::GlobalIndexer>(in_linearObjFactory->getDomainGlobalIndexer(),
true));
172 template <
typename T>
173 Teuchos::RCP<panzer::ResponseEvaluatorFactoryBase>
build()
const 179 {
return build<panzer::Traits::Residual>(); }
182 {
return build<panzer::Traits::Jacobian>(); }
185 {
return build<panzer::Traits::Tangent>(); }
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer
void setDerivativeInformation(const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &in_linearObjFactory, const Teuchos::RCP< const panzer::GlobalIndexer > &in_globalIndexer)
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName, const std::vector< WorksetDescriptor > &wkstDesc) const
Object that contains information on the physics and discretization of a block of elements with the SA...
ResponseEvaluatorFactory_Probe(MPI_Comm comm, const Teuchos::Array< double > &point, int fieldComponent=0, int cubatureDegree=1, const std::string &fieldName="", const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &linearObjFactory=Teuchos::null, const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer=Teuchos::null, bool applyDirichletToDerivative=false)
Teuchos::Array< double > point_
virtual bool typeSupported() const
virtual ~ProbeResponse_Builder()
virtual void buildAndRegisterEvaluators(const std::string &responseName, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &physicsBlock, const Teuchos::ParameterList &user_data) const
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildTangentFactory() const
Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > build() const
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName) const
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildDerivativeFactory() const
int getCubatureDegree() const
Accessor method for Cubature degree (can be used by sub classes)
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linearObjFactory
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildValueFactory() const
virtual void setDerivativeInformation(const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &in_linearObjFactory)
bool applyDirichletToDerivative
Teuchos::Array< double > point
bool applyDirichletToDerivative_
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linearObjFactory_
virtual ~ResponseEvaluatorFactory_Probe()