43 #ifndef __Panzer_ResponseMESupport_Default_impl_hpp__ 44 #define __Panzer_ResponseMESupport_Default_impl_hpp__ 48 template <
typename EvalT>
57 template <
typename EvalT>
64 Teuchos::rcp_dynamic_cast<Thyra::SpmdVectorBase<double> >(tVector_,
true)->getNonconstLocalData(Teuchos::outArg(data));
69 template <
typename EvalT>
74 "Reponse field \"" << this->getName() <<
"\" has previously been initialized as a " 75 "Thyra object, now trying to initalize as a Epetra! Error!");
78 if(map_==Teuchos::null) {
79 if(this->vectorIsDistributed())
80 map_ =
Teuchos::rcp(
new Epetra_Map(-1,(
int) this->localSizeRequired(),0,eComm_));
82 map_ =
Teuchos::rcp(
new Epetra_LocalMap((
int) this->localSizeRequired(),0,eComm_));
88 template <
typename EvalT>
93 "Reponse field \"" << this->getName() <<
"\" has previously been initialized as a " 94 "Thyra object, now trying to initalize as a Epetra! Error!");
101 template <
typename EvalT>
106 "Reponse field \"" << this->getName() <<
"\" has previously been initialized as an " 107 "Epetra object, now trying to initalize as a Thyra object! Error!");
110 if(vSpace_==Teuchos::null) {
111 if(this->vectorIsDistributed())
112 vSpace_ = Thyra::defaultSpmdVectorSpace<double>(tComm_,this->localSizeRequired(),-1);
114 vSpace_ = Thyra::locallyReplicatedDefaultSpmdVectorSpace<double>(tComm_,this->localSizeRequired());
120 template <
typename EvalT>
125 "Reponse field \"" << this->getName() <<
"\" has previously been initialized as an " 126 "Epetra object, now trying to initalize as a Thyra object! Error!");
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Teuchos::RCP< const Epetra_Map > getMap() const
Get the Epetra_Map for this response, map is constructed lazily.
Teuchos::RCP< const Thyra::VectorSpaceBase< double > > getVectorSpace() const
Get the vector space for this response, vector space is constructed lazily.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Thyra::ArrayRCP< double > getThyraVector() const
Access the thyra vector.
void setVector(const Teuchos::RCP< Epetra_Vector > &destVec)
Epetra_Vector & getEpetraVector() const
Access the epetra vector.
#define TEUCHOS_ASSERT(assertion_test)