Panzer Version of the Day
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
panzer::Response_ExtremeValue< EvalT > Class Template Reference

#include <Panzer_Response_ExtremeValue.hpp>

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

Public Types

typedef EvalT::ScalarT ScalarT
 

Public Member Functions

 Response_ExtremeValue (const std::string &responseName, MPI_Comm comm, bool useMax, 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.
 
virtual void initializeResponse ()
 
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< Thyra::VectorBase< double > > getGhostedVector () const
 Get ghosted responses (this will be filled by the evaluator)
 
void adjustForDirichletConditions (const GlobalEvaluationData &localBCRows, const GlobalEvaluationData &globalBCRows)
 
void scatterResponse ()
 Prepare the response for access by the user (do global communication)
 
void scatterResponse ()
 Prepare the response for access by the user (do global communication)
 
void scatterResponse ()
 Prepare the response for access by the user (do global communication)
 
void adjustForDirichletConditions (const GlobalEvaluationData &localBCRows, const GlobalEvaluationData &globalBCRows)
 
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.
 
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
 
Teuchos::RCP< Thyra::VectorBase< double > > getVector () const
 Access the response vector.
 
- 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,.
 
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.
 

Public Attributes

ScalarT value
 provide direct access, this thing is pretty simple
 

Private Member Functions

void setSolnVectorSpace (const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &soln_vs)
 Set solution vector space.
 
 Response_ExtremeValue ()
 
 Response_ExtremeValue (const Response_ExtremeValue &)
 
void setSolnVectorSpace (const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &soln_vs)
 
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_
 
bool useMax_
 

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.
 
bool useEpetra () const
 Is Epetra the right vector.
 
bool useThyra () const
 Is Thyra the right vector.
 
Thyra::ArrayRCP< double > getThyraVector () const
 Access the thyra vector.
 
Teuchos::RCP< Thyra::MultiVectorBase< double > > getThyraMultiVector () const
 Access the thyra MultiVector.
 

Detailed Description

template<typename EvalT>
class panzer::Response_ExtremeValue< 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_ExtremeValue.hpp.

Member Typedef Documentation

◆ ScalarT

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

Definition at line 80 of file Panzer_Response_ExtremeValue.hpp.

Constructor & Destructor Documentation

◆ Response_ExtremeValue() [1/3]

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

Definition at line 82 of file Panzer_Response_ExtremeValue.hpp.

◆ Response_ExtremeValue() [2/3]

template<typename EvalT >
panzer::Response_ExtremeValue< EvalT >::Response_ExtremeValue ( )
private

◆ Response_ExtremeValue() [3/3]

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

Member Function Documentation

◆ scatterResponse() [1/4]

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

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

Implements panzer::ResponseBase.

Definition at line 60 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ initializeResponse()

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

Implements panzer::ResponseBase.

Definition at line 107 of file Panzer_Response_ExtremeValue.hpp.

◆ localSizeRequired()

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

What is the number of values you need locally.

Implements panzer::ResponseMESupport_Default< EvalT >.

Definition at line 118 of file Panzer_Response_ExtremeValue.hpp.

◆ vectorIsDistributed()

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

Is the vector distributed (or replicated)

Implements panzer::ResponseMESupport_Default< EvalT >.

Definition at line 121 of file Panzer_Response_ExtremeValue.hpp.

◆ getGhostedVector()

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

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

Definition at line 124 of file Panzer_Response_ExtremeValue.hpp.

◆ adjustForDirichletConditions() [1/3]

template<typename EvalT >
void panzer::Response_ExtremeValue< 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 195 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ setSolnVectorSpace() [1/3]

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

Set solution vector space.

Definition at line 172 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ scatterResponse() [2/4]

void panzer::Response_ExtremeValue< panzer::Traits::Jacobian >::scatterResponse ( )
virtual

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

Implements panzer::ResponseBase.

Definition at line 91 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ scatterResponse() [3/4]

void panzer::Response_ExtremeValue< panzer::Traits::Hessian >::scatterResponse ( )
virtual

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

Implements panzer::ResponseBase.

Definition at line 108 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ scatterResponse() [4/4]

void panzer::Response_ExtremeValue< panzer::Traits::Tangent >::scatterResponse ( )
virtual

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

Implements panzer::ResponseBase.

Definition at line 125 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ setSolnVectorSpace() [2/3]

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

Definition at line 177 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ setSolnVectorSpace() [3/3]

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

Definition at line 186 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ adjustForDirichletConditions() [2/3]

void panzer::Response_ExtremeValue< 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 200 of file Panzer_Response_ExtremeValue_impl.hpp.

◆ adjustForDirichletConditions() [3/3]

void panzer::Response_ExtremeValue< 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 211 of file Panzer_Response_ExtremeValue_impl.hpp.

Member Data Documentation

◆ value

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

provide direct access, this thing is pretty simple

Definition at line 102 of file Panzer_Response_ExtremeValue.hpp.

◆ linObjFactory_

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

Definition at line 137 of file Panzer_Response_ExtremeValue.hpp.

◆ thyraObjFactory_

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

Definition at line 138 of file Panzer_Response_ExtremeValue.hpp.

◆ uniqueContainer_

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

Definition at line 140 of file Panzer_Response_ExtremeValue.hpp.

◆ ghostedContainer_

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

Definition at line 141 of file Panzer_Response_ExtremeValue.hpp.

◆ useMax_

template<typename EvalT >
bool panzer::Response_ExtremeValue< EvalT >::useMax_
private

Definition at line 143 of file Panzer_Response_ExtremeValue.hpp.


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