Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
panzer::Response_Functional< EvalT > Class Template Reference

#include <Panzer_Response_Functional.hpp>

Inheritance diagram for panzer::Response_Functional< EvalT >:
Inheritance graph
[legend]

Public Types

typedef EvalT::ScalarT ScalarT
 

Public Member Functions

 Response_Functional (const std::string &responseName, MPI_Comm comm, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &linObjFact=Teuchos::null)
 
virtual void scatterResponse ()
 This simply does global summation, then shoves the result into a vector. More...
 
virtual void initializeResponse ()
 
virtual std::size_t localSizeRequired () const
 What is the number of values you need locally. More...
 
virtual bool vectorIsDistributed () const
 Is the vector distributed (or replicated) More...
 
Teuchos::RCP
< Thyra::VectorBase< double > > 
getGhostedVector () const
 Get ghosted responses (this will be filled by the evaluator) More...
 
void adjustForDirichletConditions (const GlobalEvaluationData &localBCRows, const GlobalEvaluationData &globalBCRows)
 
template<>
void scatterResponse ()
 Prepare the response for access by the user (do global communication) More...
 
template<>
void scatterResponse ()
 Prepare the response for access by the user (do global communication) More...
 
template<>
void scatterResponse ()
 Prepare the response for access by the user (do global communication) More...
 
template<>
void adjustForDirichletConditions (const GlobalEvaluationData &localBCRows, const GlobalEvaluationData &globalBCRows)
 
template<>
void adjustForDirichletConditions (const GlobalEvaluationData &localBCRows, const GlobalEvaluationData &globalBCRows)
 
- Public Member Functions inherited from panzer::ResponseMESupport_Default< EvalT >
 ResponseMESupport_Default (const std::string &responseName, MPI_Comm comm)
 
virtual ~ResponseMESupport_Default ()
 
Teuchos::RCP< const
Thyra::VectorSpaceBase< double > > 
getVectorSpace () const
 Get the vector space for this response, vector space is constructed lazily. More...
 
void setVector (const Teuchos::RCP< Thyra::VectorBase< double > > &destVec)
 
void setVectorSpace (Teuchos::RCP< const Thyra::VectorSpaceBase< double > > vs)
 set the vector space for this response More...
 
Teuchos::RCP
< Thyra::VectorBase< double > > 
getVector () const
 Access the response vector. More...
 
- Public Member Functions inherited from panzer::ResponseMESupportBase< EvalT >
 ResponseMESupportBase (const std::string &responseName)
 
virtual ~ResponseMESupportBase ()
 
- Public Member Functions inherited from panzer::ResponseBase
 ResponseBase (const std::string &responseName)
 
virtual ~ResponseBase ()
 
std::string getName () const
 
std::string getLookupName () const
 
virtual void ghostToGlobal (int)
 Inherited from GlobalEvaluationData,. More...
 
virtual void initializeData ()
 
- Public Member Functions inherited from panzer::GlobalEvaluationData_Default
 GlobalEvaluationData_Default ()
 
 GlobalEvaluationData_Default (const GlobalEvaluationData_Default &s)
 
virtual void globalToGhost (int)
 
void setRequiresDirichletAdjustment (bool b)
 
bool requiresDirichletAdjustment () const
 
- Public Member Functions inherited from panzer::GlobalEvaluationData
virtual ~GlobalEvaluationData ()=0
 
virtual void print (std::ostream &os) const
 Diagnostic function for determinning what's in this object. More...
 

Public Attributes

ScalarT value
 provide direct access, this thing is pretty simple More...
 

Private Member Functions

void setSolnVectorSpace (const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &soln_vs)
 Set solution vector space. More...
 
 Response_Functional ()
 
 Response_Functional (const Response_Functional &)
 
template<>
void setSolnVectorSpace (const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &soln_vs)
 
template<>
void setSolnVectorSpace (const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &soln_vs)
 

Private Attributes

Teuchos::RCP< const
panzer::LinearObjFactory
< panzer::Traits > > 
linObjFactory_
 
Teuchos::RCP< const
panzer::ThyraObjFactory
< double > > 
thyraObjFactory_
 
Teuchos::RCP< LinearObjContaineruniqueContainer_
 
Teuchos::RCP< LinearObjContainerghostedContainer_
 

Additional Inherited Members

- Static Public Member Functions inherited from panzer::ResponseBase
static std::string buildLookupName (const std::string &responseName)
 
- Protected Member Functions inherited from panzer::ResponseMESupport_Default< EvalT >
Teuchos::RCP< const
Teuchos::Comm< Thyra::Ordinal > > 
getComm () const
 Get the teuchos comm object. More...
 
bool useEpetra () const
 Is Epetra the right vector. More...
 
bool useThyra () const
 Is Thyra the right vector. More...
 
Thyra::ArrayRCP< double > getThyraVector () const
 Access the thyra vector. More...
 
Teuchos::RCP
< Thyra::MultiVectorBase
< double > > 
getThyraMultiVector () const
 Access the thyra MultiVector. More...
 

Detailed Description

template<typename EvalT>
class panzer::Response_Functional< EvalT >

This class provides a response storage for simple functionals of the solution (i.e. scalar values).

Definition at line 77 of file Panzer_Response_Functional.hpp.

Member Typedef Documentation

template<typename EvalT >
typedef EvalT::ScalarT panzer::Response_Functional< EvalT >::ScalarT

Definition at line 80 of file Panzer_Response_Functional.hpp.

Constructor & Destructor Documentation

template<typename EvalT >
panzer::Response_Functional< EvalT >::Response_Functional ( const std::string &  responseName,
MPI_Comm  comm,
const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &  linObjFact = Teuchos::null 
)
inline

Definition at line 82 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
panzer::Response_Functional< EvalT >::Response_Functional ( )
private
template<typename EvalT >
panzer::Response_Functional< EvalT >::Response_Functional ( const Response_Functional< EvalT > &  )
private

Member Function Documentation

template<typename EvalT >
void panzer::Response_Functional< EvalT >::scatterResponse ( )
virtual

This simply does global summation, then shoves the result into a vector.

Implements panzer::ResponseBase.

Definition at line 61 of file Panzer_Response_Functional_impl.hpp.

template<typename EvalT >
virtual void panzer::Response_Functional< EvalT >::initializeResponse ( )
inlinevirtual

Implements panzer::ResponseBase.

Definition at line 107 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
virtual std::size_t panzer::Response_Functional< EvalT >::localSizeRequired ( ) const
inlinevirtual

What is the number of values you need locally.

Implements panzer::ResponseMESupport_Default< EvalT >.

Definition at line 113 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
virtual bool panzer::Response_Functional< EvalT >::vectorIsDistributed ( ) const
inlinevirtual

Is the vector distributed (or replicated)

Implements panzer::ResponseMESupport_Default< EvalT >.

Definition at line 116 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
Teuchos::RCP<Thyra::VectorBase<double> > panzer::Response_Functional< EvalT >::getGhostedVector ( ) const
inline

Get ghosted responses (this will be filled by the evaluator)

Definition at line 119 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
void panzer::Response_Functional< EvalT >::adjustForDirichletConditions ( const GlobalEvaluationData localBCRows,
const GlobalEvaluationData globalBCRows 
)
virtual

Adjust the container for applied dirichlet conditions. The adjustment considers if a boundary condition was set globally and locally and based on that result adjusts the container so that when the ghost to global operation is correct across processors.

Parameters
[in]localBCRowsLinear object container uses the X vector to indicate locally set dirichlet conditions. The format is if an entry of the vector is nonzero then it was set as a dirichlet condition.
[in]globalBCRowsLinear object container uses the X vector to indicate globally set dirichlet conditions. The format is if an entry of the vector is nonzero then it was set as a dirichlet condition.

Implements panzer::GlobalEvaluationData_BCAdjustment.

Definition at line 192 of file Panzer_Response_Functional_impl.hpp.

template<typename EvalT >
void panzer::Response_Functional< EvalT >::setSolnVectorSpace ( const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &  soln_vs)
private

Set solution vector space.

Definition at line 169 of file Panzer_Response_Functional_impl.hpp.

template<>
void panzer::Response_Functional< panzer::Traits::Jacobian >::scatterResponse ( )
virtual

Prepare the response for access by the user (do global communication)

Implements panzer::ResponseBase.

Definition at line 89 of file Panzer_Response_Functional_impl.hpp.

template<>
void panzer::Response_Functional< panzer::Traits::Hessian >::scatterResponse ( )
virtual

Prepare the response for access by the user (do global communication)

Implements panzer::ResponseBase.

Definition at line 110 of file Panzer_Response_Functional_impl.hpp.

template<>
void panzer::Response_Functional< panzer::Traits::Tangent >::scatterResponse ( )
virtual

Prepare the response for access by the user (do global communication)

Implements panzer::ResponseBase.

Definition at line 131 of file Panzer_Response_Functional_impl.hpp.

template<>
void panzer::Response_Functional< panzer::Traits::Jacobian >::setSolnVectorSpace ( const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &  soln_vs)
private

Definition at line 174 of file Panzer_Response_Functional_impl.hpp.

template<>
void panzer::Response_Functional< panzer::Traits::Hessian >::setSolnVectorSpace ( const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &  soln_vs)
private

Definition at line 183 of file Panzer_Response_Functional_impl.hpp.

template<>
void panzer::Response_Functional< panzer::Traits::Jacobian >::adjustForDirichletConditions ( const GlobalEvaluationData localBCRows,
const GlobalEvaluationData globalBCRows 
)
virtual

Adjust the container for applied dirichlet conditions. The adjustment considers if a boundary condition was set globally and locally and based on that result adjusts the container so that when the ghost to global operation is correct across processors.

Parameters
[in]localBCRowsLinear object container uses the X vector to indicate locally set dirichlet conditions. The format is if an entry of the vector is nonzero then it was set as a dirichlet condition.
[in]globalBCRowsLinear object container uses the X vector to indicate globally set dirichlet conditions. The format is if an entry of the vector is nonzero then it was set as a dirichlet condition.

Implements panzer::GlobalEvaluationData_BCAdjustment.

Definition at line 197 of file Panzer_Response_Functional_impl.hpp.

template<>
void panzer::Response_Functional< panzer::Traits::Hessian >::adjustForDirichletConditions ( const GlobalEvaluationData localBCRows,
const GlobalEvaluationData globalBCRows 
)
virtual

Adjust the container for applied dirichlet conditions. The adjustment considers if a boundary condition was set globally and locally and based on that result adjusts the container so that when the ghost to global operation is correct across processors.

Parameters
[in]localBCRowsLinear object container uses the X vector to indicate locally set dirichlet conditions. The format is if an entry of the vector is nonzero then it was set as a dirichlet condition.
[in]globalBCRowsLinear object container uses the X vector to indicate globally set dirichlet conditions. The format is if an entry of the vector is nonzero then it was set as a dirichlet condition.

Implements panzer::GlobalEvaluationData_BCAdjustment.

Definition at line 208 of file Panzer_Response_Functional_impl.hpp.

Member Data Documentation

template<typename EvalT >
ScalarT panzer::Response_Functional< EvalT >::value

provide direct access, this thing is pretty simple

Definition at line 102 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
Teuchos::RCP<const panzer::LinearObjFactory<panzer::Traits> > panzer::Response_Functional< EvalT >::linObjFactory_
private

Definition at line 132 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
Teuchos::RCP<const panzer::ThyraObjFactory<double> > panzer::Response_Functional< EvalT >::thyraObjFactory_
private

Definition at line 133 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
Teuchos::RCP<LinearObjContainer> panzer::Response_Functional< EvalT >::uniqueContainer_
private

Definition at line 135 of file Panzer_Response_Functional.hpp.

template<typename EvalT >
Teuchos::RCP<LinearObjContainer> panzer::Response_Functional< EvalT >::ghostedContainer_
private

Definition at line 136 of file Panzer_Response_Functional.hpp.


The documentation for this class was generated from the following files: