1 #ifndef __Panzer_Response_Functional_hpp__ 2 #define __Panzer_Response_Functional_hpp__ 11 #include "Thyra_VectorBase.hpp" 12 #include "Thyra_VectorSpaceBase.hpp" 14 #include "Epetra_Map.h" 15 #include "Epetra_Vector.h" 16 #include "Epetra_MpiComm.h" 31 template <
typename EvalT>
52 using Teuchos::rcp_dynamic_cast;
Response_Functional(const std::string &responseName, MPI_Comm comm, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &linObjFact=Teuchos::null)
ScalarT value
provide direct access, this thing is pretty simple
Teuchos::RCP< LinearObjContainer > ghostedContainer_
virtual void scatterResponse()
This simply does global summation, then shoves the result into a vector.
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getThyraDomainSpace() const =0
Get the domain space.
Teuchos::RCP< const panzer::ThyraObjFactory< double > > thyraObjFactory_
Teuchos::RCP< LinearObjContainer > uniqueContainer_
virtual std::size_t localSizeRequired() const
What is the number of values you need locally.
virtual bool vectorIsDistributed() const
Is the vector distributed (or replicated)
Teuchos::RCP< const Teuchos::Comm< int > > comm
void setSolnVectorSpace(const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &soln_vs)
Set solution vector space.
virtual void initializeResponse()
Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > linObjFactory_
Teuchos::RCP< Thyra::VectorBase< double > > getGhostedVector() const
Get ghosted responses (this will be filled by the evaluator)
void adjustForDirichletConditions(const GlobalEvaluationData &localBCRows, const GlobalEvaluationData &globalBCRows)