43 const Teuchos::ParameterList & )
const
50 if(requiresCellIntegral_) {
51 std::string
field = (quadPointField_==
"" ? responseName : quadPointField_);
56 Teuchos::ParameterList pl;
57 pl.set(
"Integral Name",
field);
58 pl.set(
"Integrand Name",
field);
61 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
64 this->
template registerEvaluator<EvalT>(fm, eval);
70 Teuchos::RCP<FunctionalScatterBase> scatterObj;
71 if(linearObjFactory_!=Teuchos::null) {
73 TEUCHOS_ASSERT(linearObjFactory_->getDomainGlobalIndexer()!=Teuchos::null);
75 auto ugi = Teuchos::rcp_dynamic_cast<const GlobalIndexer>(linearObjFactory_->getDomainGlobalIndexer());
76 auto bugi = Teuchos::rcp_dynamic_cast<const BlockedDOFManager>(linearObjFactory_->getDomainGlobalIndexer());
78 if(ugi!=Teuchos::null) {
79 std::vector<Teuchos::RCP<const GlobalIndexer> > ugis;
84 else if(bugi!=Teuchos::null) {
88 TEUCHOS_ASSERT(
false);
92 std::string
field = (quadPointField_==
"" ? responseName : quadPointField_);
95 Teuchos::RCP<PHX::Evaluator<panzer::Traits> > eval
98 this->
template registerEvaluator<EvalT>(fm, eval);
101 fm.template requireField<EvalT>(*eval->evaluatedFields()[0]);
109 if( PHX::print<EvalT>()==PHX::print<panzer::Traits::Residual>() ||
110 PHX::print<EvalT>()==PHX::print<panzer::Traits::Tangent>()
114 if(PHX::print<EvalT>()==PHX::print<panzer::Traits::Jacobian>())
115 return linearObjFactory_!=Teuchos::null;
117#ifdef Panzer_BUILD_HESSIAN_SUPPORT
118 if(PHX::print<EvalT>()==PHX::print<panzer::Traits::Hessian>()) {
119 return linearObjFactory_!=Teuchos::null;
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.