43 #ifndef __Panzer_ResponseMESupportBase_hpp__ 44 #define __Panzer_ResponseMESupportBase_hpp__ 48 #include "Teuchos_RCP.hpp" 50 #include "PanzerDiscFE_config.hpp" 51 #ifdef PANZER_HAVE_EPETRA_STACK 52 #include "Epetra_Map.h" 53 #include "Epetra_Vector.h" 54 #include "Epetra_MultiVector.h" 55 #include "Epetra_Operator.h" 58 #include "Thyra_VectorSpaceBase.hpp" 59 #include "Thyra_VectorBase.hpp" 60 #include "Thyra_MultiVectorBase.hpp" 61 #include "Thyra_LinearOpBase.hpp" 67 template <
typename EvalT>
75 #ifdef PANZER_HAVE_EPETRA_STACK 80 virtual Teuchos::RCP<const Epetra_Map> getMap()
const = 0;
85 virtual void setVector(
const Teuchos::RCP<Epetra_Vector> & destVec) = 0;
92 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<double> >
getVectorSpace()
const = 0;
114 virtual bool supportsDerivative()
const = 0;
116 #ifdef PANZER_HAVE_EPETRA_STACK 121 virtual Teuchos::RCP<Epetra_MultiVector> buildEpetraDerivative()
const = 0;
125 virtual void setDerivative(
const Teuchos::RCP<Epetra_MultiVector> & derivative) = 0;
132 virtual Teuchos::RCP<Thyra::MultiVectorBase<double> > buildDerivative()
const = 0;
153 #ifdef PANZER_HAVE_EPETRA_STACK 158 virtual Teuchos::RCP<const Epetra_Map> getMap()
const = 0;
163 virtual void setVector(
const Teuchos::RCP<Epetra_MultiVector> & destVec) = 0;
170 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<double> >
getVectorSpace()
const = 0;
183 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 193 virtual bool supportsDerivative()
const = 0;
199 virtual Teuchos::RCP<Thyra::MultiVectorBase<double> > buildDerivative()
const = 0;
virtual void setVector(const Teuchos::RCP< Thyra::VectorBase< double > > &destVec)=0
ResponseMESupportBase(const std::string &responseName)
virtual ~ResponseMESupportBase()
virtual ~ResponseMESupportBase()
ResponseMESupportBase(const std::string &responseName)
ResponseMESupportBase(const std::string &responseName)
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< double > > getVectorSpace() const =0
Get the vector space for this response, vector space is constructed lazily.
virtual ~ResponseMESupportBase()
virtual ~ResponseMESupportBase()
ResponseMESupportBase(const std::string &responseName)