11 #ifndef __Panzer_ResponseEvaluatorFactory_ExtremeValue_hpp__ 
   12 #define __Panzer_ResponseEvaluatorFactory_ExtremeValue_hpp__ 
   16 #include "PanzerDiscFE_config.hpp" 
   30 template <
typename EvalT,
typename LO,
typename GO> 
 
   36                                bool requiresCellReduction=
true,
 
   38                                const std::string & quadPointField=
"",
 
   41                                bool applyDirichletToDerivative=
false,
 
   42                                std::string in_prefix=
"")
 
   48      TEUCHOS_ASSERT((linearObjFactory==Teuchos::null && globalIndexer==Teuchos::null) ||
 
   49                     (linearObjFactory!=Teuchos::null && globalIndexer!=Teuchos::null));
 
   66                                                           const std::vector<WorksetDescriptor> & )
 const  
  110 template <
typename LO,
typename GO> 
 
  137     using Teuchos::rcp_dynamic_cast;
 
  140                              rcp_dynamic_cast<const panzer::GlobalIndexer>(in_linearObjFactory->getDomainGlobalIndexer(),
true));
 
  143   template <
typename T>
 
  149   { 
return build<panzer::Traits::Residual>(); }
 
  152   { 
return build<panzer::Traits::Jacobian>(); }
 
  155   { 
return build<panzer::Traits::Tangent>(); }
 
  157 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 
  162   { 
return build<panzer::Traits::Hessian>(); }
 
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildDerivativeFactory() const 
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer
Object that contains information on the physics and discretization of a block of elements with the SA...
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildHessianFactory() const 
virtual void setDerivativeInformation(const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &in_linearObjFactory)
void setDerivativeInformation(const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &in_linearObjFactory, const Teuchos::RCP< const panzer::GlobalIndexer > &in_globalIndexer)
virtual ~ExtremeValueResponse_Builder()
ExtremeValueResponse_Builder()
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildTangentFactory() const 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
int getCubatureDegree() const 
Accessor method for Cubature degree (can be used by sub classes) 
virtual bool typeSupported() const 
Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > build() const 
std::string quadPointField_
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linearObjFactory_
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linearObjFactory
ResponseEvaluatorFactory_ExtremeValue(MPI_Comm comm, int cubatureDegree=1, bool requiresCellReduction=true, bool useMax=true, const std::string &quadPointField="", const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &linearObjFactory=Teuchos::null, const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer=Teuchos::null, bool applyDirichletToDerivative=false, std::string in_prefix="")
bool applyDirichletToDerivative
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName) 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< panzer::ResponseEvaluatorFactoryBase > buildValueFactory() const 
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
virtual ~ResponseEvaluatorFactory_ExtremeValue()
#define TEUCHOS_ASSERT(assertion_test)
virtual Teuchos::RCP< ResponseBase > buildResponseObject(const std::string &responseName, const std::vector< WorksetDescriptor > &) const 
std::string quadPointField
bool applyDirichletToDerivative_
bool requiresCellExtreme_