43 #ifndef __Panzer_ResponseEvaluatorFactory_Functional_hpp__
44 #define __Panzer_ResponseEvaluatorFactory_Functional_hpp__
48 #include "PanzerDiscFE_config.hpp"
62 template <
typename EvalT,
typename LO,
typename GO>
68 bool applyDirichletToDerivative=
false)
85 virtual Teuchos::RCP<ResponseBase>
buildResponseObject(
const std::string & responseName)
const;
88 const std::vector<WorksetDescriptor> & )
const
105 const Teuchos::ParameterList & user_data)
const;
129 template <
typename LO,
typename GO>
147 template <
typename T>
148 Teuchos::RCP<panzer::ResponseEvaluatorFactoryBase>
build()
const
153 {
return build<panzer::Traits::Residual>(); }
156 {
return build<panzer::Traits::Jacobian>(); }
159 {
return build<panzer::Traits::Tangent>(); }
161 #ifdef Panzer_BUILD_HESSIAN_SUPPORT
163 {
return build<panzer::Traits::Hessian>(); }
Object that contains information on the physics and discretization of a block of elements with the SA...
bool requiresCellIntegral_
virtual void buildAndRegisterEvaluators(const std::string &responseName, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &physicsBlock, const Teuchos::ParameterList &user_data) const
virtual ~ResponseEvaluatorFactory_Functional()
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName) const
int getCubatureDegree() const
Accessor method for Cubature degree (can be used by sub classes)
std::string quadPointField_
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName, const std::vector< WorksetDescriptor > &) const
ResponseEvaluatorFactory_Functional(MPI_Comm comm, int cubatureDegree=1, bool requiresCellIntegral=true, const std::string &quadPointField="", const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &linearObjFactory=Teuchos::null, bool applyDirichletToDerivative=false)
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linearObjFactory_
bool applyDirichletToDerivative_
virtual bool typeSupported() const
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildHessianFactory() const
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildValueFactory() const
Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > build() const
virtual ~FunctionalResponse_Builder()
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linearObjFactory
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildTangentFactory() const
FunctionalResponse_Builder()
std::string quadPointField
bool requiresCellIntegral
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildDerivativeFactory() const
bool applyDirichletToDerivative
void setDerivativeInformation(const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &in_linearObjFactory)