11#ifndef __Panzer_Response_Residual_hpp__
12#define __Panzer_Response_Residual_hpp__
16#include "Teuchos_RCP.hpp"
18#include "Thyra_VectorBase.hpp"
19#include "Thyra_LinearOpBase.hpp"
31template <
typename EvalT>
51 Teuchos::RCP<const panzer::LinearObjFactory<panzer::Traits> >
linObjFactory_;
53 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> >
residual_;
61 , linObjFactory_(lof) {}
67 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> > getGhostedResidual()
const;
72 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> > getResidual()
const;
82 Teuchos::RCP<Thyra::VectorBase<panzer::Traits::RealType> > allocateResidualVector()
const;
98 Teuchos::RCP<const panzer::LinearObjFactory<panzer::Traits> >
linObjFactory_;
100 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> >
jacobian_;
108 , linObjFactory_(lof) {}
114 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getGhostedJacobian()
const;
119 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getJacobian()
const;
129 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > allocateJacobian()
const;
136#ifdef Panzer_BUILD_HESSIAN_SUPPORT
148 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> >
hessian_;
156 , linObjFactory_(lof) {}
162 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getGhostedHessian()
const;
167 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > getHessian()
const;
177 Teuchos::RCP<Thyra::LinearOpBase<panzer::Traits::RealType> > allocateHessian()
const;
virtual void initializeResponse()
virtual ~Response_Residual()
Response_Residual(const std::string &responseName, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof)
Teuchos::RCP< Thyra::LinearOpBase< panzer::Traits::RealType > > ghostedHessian_
Teuchos::RCP< Thyra::LinearOpBase< panzer::Traits::RealType > > hessian_
virtual void scatterResponse()
Prepare the response for access by the user (do global communication)
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linObjFactory_
Teuchos::RCP< Thyra::LinearOpBase< panzer::Traits::RealType > > jacobian_
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linObjFactory_
virtual void initializeResponse()
Teuchos::RCP< Thyra::LinearOpBase< panzer::Traits::RealType > > ghostedJacobian_
Response_Residual(const std::string &responseName, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof)
virtual ~Response_Residual()
virtual void scatterResponse()
Prepare the response for access by the user (do global communication)
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linObjFactory_
virtual void initializeResponse()
Response_Residual(const std::string &responseName, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof)
Teuchos::RCP< Thyra::VectorBase< panzer::Traits::RealType > > ghostedResidual_
Teuchos::RCP< Thyra::VectorBase< panzer::Traits::RealType > > residual_
virtual void scatterResponse()
Prepare the response for access by the user (do global communication)
virtual ~Response_Residual()
Response_Residual(const std::string &responseName, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &)
virtual void initializeResponse()
virtual void scatterResponse()
Prepare the response for access by the user (do global communication)
virtual ~Response_Residual()
Evaluation type for computing second derivatives, using HessianType as the scalar type....
Evaluation type for computing the residual and its Jacobian, using FadType as the scalar type.
Evaluation type for computing the residual only, using RealType as the scalar type.