1 #ifndef __Panzer_Response_Residual_hpp__ 2 #define __Panzer_Response_Residual_hpp__ 6 #include "Teuchos_RCP.hpp" 8 #include "Thyra_VectorBase.hpp" 9 #include "Thyra_LinearOpBase.hpp" 21 template <
typename EvalT>
41 Teuchos::RCP<const panzer::LinearObjFactory<panzer::Traits> >
linObjFactory_;
43 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> >
residual_;
51 , linObjFactory_(lof) {}
57 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> > getGhostedResidual()
const;
62 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> > getResidual()
const;
72 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> > allocateResidualVector()
const;
88 Teuchos::RCP<const panzer::LinearObjFactory<panzer::Traits> >
linObjFactory_;
90 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> >
jacobian_;
98 , linObjFactory_(lof) {}
104 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getGhostedJacobian()
const;
109 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getJacobian()
const;
119 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > allocateJacobian()
const;
126 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 134 class Response_Residual<
panzer::Traits::Hessian> :
public ResponseBase {
136 Teuchos::RCP<const panzer::LinearObjFactory<panzer::Traits> > linObjFactory_;
138 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > hessian_;
139 mutable Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > ghostedHessian_;
146 , linObjFactory_(lof) {}
152 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getGhostedHessian()
const;
157 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getHessian()
const;
167 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > allocateHessian()
const;
virtual void initializeResponse()
Response_Residual(const std::string &responseName, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof)
virtual ~Response_Residual()
virtual ~Response_Residual()
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linObjFactory_
Response_Residual(const std::string &responseName, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof)
Teuchos::RCP< Thyra::VectorBase< panzer::Traits::RealType > > residual_
virtual void initializeResponse()
Response_Residual(const std::string &responseName, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof)
virtual void initializeResponse()
Teuchos::RCP< Thyra::VectorBase< panzer::Traits::RealType > > ghostedResidual_
virtual void scatterResponse()
Prepare the response for access by the user (do global communication)
virtual void scatterResponse()
Prepare the response for access by the user (do global communication)
virtual void scatterResponse()
Prepare the response for access by the user (do global communication)
Teuchos::RCP< Thyra::LinearOpBase< panzer::Traits::RealType > > ghostedJacobian_
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linObjFactory_
Teuchos::RCP< Thyra::LinearOpBase< panzer::Traits::RealType > > jacobian_
virtual ~Response_Residual()