43 #ifndef __Panzer_ResponseEvaluatorFactory_Functional_impl_hpp__ 
   44 #define __Panzer_ResponseEvaluatorFactory_Functional_impl_hpp__ 
   48 #include "PanzerDiscFE_config.hpp" 
   52 #include "Panzer_Integrator_Scalar.hpp" 
   60 template <
typename EvalT,
typename LO,
typename GO>
 
   70 template <
typename EvalT,
typename LO,
typename GO>
 
   82    if(requiresCellIntegral_) {
 
   83      std::string 
field = (quadPointField_==
"" ? responseName : quadPointField_);
 
   89      pl.
set(
"Integral Name", field);
 
   90      pl.
set(
"Integrand Name",field);
 
   96      this->
template registerEvaluator<EvalT>(fm, eval);
 
  103      if(linearObjFactory_!=Teuchos::null) {
 
  105         TEUCHOS_ASSERT(linearObjFactory_->getDomainGlobalIndexer()!=Teuchos::null);
 
  107         auto ugi = Teuchos::rcp_dynamic_cast<
const GlobalIndexer>(linearObjFactory_->getDomainGlobalIndexer());
 
  108         auto bugi = Teuchos::rcp_dynamic_cast<
const BlockedDOFManager>(linearObjFactory_->getDomainGlobalIndexer());
 
  110         if(ugi!=Teuchos::null) {
 
  111           std::vector<Teuchos::RCP<const GlobalIndexer> > ugis; 
 
  116         else if(bugi!=Teuchos::null) {
 
  124      std::string 
field = (quadPointField_==
"" ? responseName : quadPointField_);
 
  130      this->
template registerEvaluator<EvalT>(fm, eval);
 
  133      fm.template requireField<EvalT>(*eval->evaluatedFields()[0]);
 
  137 template <
typename EvalT,
typename LO,
typename GO>
 
  141   if(   PHX::print<EvalT>()==PHX::print<panzer::Traits::Residual>() ||
 
  142         PHX::print<EvalT>()==PHX::print<panzer::Traits::Tangent>()
 
  146   if(PHX::print<EvalT>()==PHX::print<panzer::Traits::Jacobian>())
 
  147     return linearObjFactory_!=Teuchos::null;
 
  149 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 
  150   if(PHX::print<EvalT>()==PHX::print<panzer::Traits::Hessian>()) {
 
  151     return linearObjFactory_!=Teuchos::null;
 
Object that contains information on the physics and discretization of a block of elements with the SA...
 
const panzer::CellData & cellData() const 
 
ParameterList & set(std::string const &name, T const &value, std::string const &docString="", RCP< const ParameterEntryValidator > const &validator=null)
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
void setRequiresDirichletAdjustment(bool b)
 
std::vector< Teuchos::RCP< const GlobalIndexer > > nc2c_vector(const std::vector< Teuchos::RCP< GlobalIndexer > > &ugis)
 
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 
 
PHX::MDField< ScalarT, panzer::Cell, panzer::BASIS > field
A field to which we'll contribute, or in which we'll store, the result of computing this integral...
 
#define TEUCHOS_ASSERT(assertion_test)
 
virtual bool typeSupported() const