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

#include <Panzer_ResponseScatterEvaluator_Functional.hpp>

Inheritance diagram for panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >:
Inheritance graph
[legend]

Public Member Functions

 ResponseScatterEvaluator_Functional (const std::string &name, const CellData &cd, const Teuchos::RCP< FunctionalScatterBase > &functionalScatter)
 A constructor with concrete arguments instead of a parameter list.
 
 ResponseScatterEvaluator_Functional (const std::string &integrandName, const std::string &responseName, const CellData &cd, const Teuchos::RCP< FunctionalScatterBase > &functionalScatter)
 Construct with distinct names for the upstream integrand field and the response it feeds.
 
void evaluateFields (typename Traits::EvalData d)
 Sums this workset's per-cell integrand values (and scatters derivatives, via scatterObj_) into the response.
 
void preEvaluate (typename Traits::PreEvalData d)
 Looks up the Response_Functional to accumulate into for the upcoming fill.
 
void evaluateFields (panzer::Traits::EvalData d)
 
void evaluateFields (panzer::Traits::EvalData d)
 
- Public Member Functions inherited from panzer::EvaluatorWithBaseImpl< Traits >
void setDetailsIndex (const int di)
 An evaluator builder sets the details index.
 
- Public Member Functions inherited from panzer::DomainEvaluator
 DomainEvaluator (DomainType domain=ALL)
 Constructor.
 
virtual ~DomainEvaluator ()=default
 Default destructor.
 
void setDomain (const DomainType domain)
 Set the domain for the evaluator.
 
DomainType getDomain ()
 Get the domain for the evaluator.
 
virtual int cellStartIndex (const panzer::Workset &workset) const
 Returns the starting cell for the specified domain for a given workset.
 
virtual int cellEndIndex (const panzer::Workset &workset) const
 Returns the non-inclusive end cell for the specified domain for a given workset.
 

Private Types

typedef EvalT::ScalarT ScalarT
 

Private Attributes

std::string responseName_
 Name of the response this evaluator contributes to.
 
Teuchos::RCP< Response_Functional< EvalT > > responseObj_
 The response object accumulated into by evaluateFields().
 
Teuchos::RCP< PHX::FieldTag > scatterHolder_
 
PHX::MDField< const ScalarT, panzer::CellcellIntegral_
 
Teuchos::RCP< FunctionalScatterBasescatterObj_
 Used to scatter derivative/Hessian information into the response's global vectors.
 

Additional Inherited Members

- Public Types inherited from panzer::DomainEvaluator
enum  DomainType : int {
  OWNED =0 , GHOST =1 , REAL =2 , VIRTUAL =3 ,
  EXTERNAL =4 , ALL =5
}
 Domain types supported by worksets. More...
 
- Protected Attributes inherited from panzer::EvaluatorWithBaseImpl< Traits >
WorksetDetailsAccessor wda
 

Detailed Description

template<typename EvalT, typename Traits>
class panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >

This class handles responses with values aggregated on each finite element cell.

It depends on a "Cell Integral" field (an integrand already integrated over each cell) having been computed upstream in the evaluation DAG under the integrand name; evaluateFields() sums that field into the associated Response_Functional, and for the Jacobian/Hessian evaluation types, hands its derivatives off to a FunctionalScatterBase to accumulate into the response's global gradient / Hessian-vector product.

Definition at line 123 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

Member Typedef Documentation

◆ ScalarT

template<typename EvalT , typename Traits >
typedef EvalT::ScalarT panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::ScalarT
private

Constructor & Destructor Documentation

◆ ResponseScatterEvaluator_Functional() [1/2]

template<typename EvalT , typename Traits >
panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::ResponseScatterEvaluator_Functional ( const std::string &  name,
const CellData cd,
const Teuchos::RCP< FunctionalScatterBase > &  functionalScatter 
)

A constructor with concrete arguments instead of a parameter list.

Construct where the response name and the upstream integrand field name are the same.

Parameters
[in]namename of both the upstream "Cell Integral" field to sum and the response it feeds.
[in]cdcell data (dimension, workset size) for the field data layout.
[in]functionalScatterused to scatter derivative/Hessian information into the response's global vectors.

This class handles responses with values aggregated on each finite element cell.

Definition at line 39 of file Panzer_ResponseScatterEvaluator_Functional_impl.hpp.

◆ ResponseScatterEvaluator_Functional() [2/2]

template<typename EvalT , typename Traits >
panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::ResponseScatterEvaluator_Functional ( const std::string &  integrandName,
const std::string &  responseName,
const CellData cd,
const Teuchos::RCP< FunctionalScatterBase > &  functionalScatter 
)

Construct with distinct names for the upstream integrand field and the response it feeds.

Parameters
[in]integrandNamename of the upstream "Cell Integral" field to sum.
[in]responseNamename of the response this evaluator contributes to.
[in]cdcell data (dimension, workset size) for the field data layout.
[in]functionalScatterused to scatter derivative/Hessian information into the response's global vectors.

Definition at line 66 of file Panzer_ResponseScatterEvaluator_Functional_impl.hpp.

Member Function Documentation

◆ evaluateFields() [1/3]

template<typename EvalT , typename Traits >
void panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::evaluateFields ( typename Traits::EvalData  d)

Sums this workset's per-cell integrand values (and scatters derivatives, via scatterObj_) into the response.

Definition at line 104 of file Panzer_ResponseScatterEvaluator_Functional_impl.hpp.

◆ preEvaluate()

template<typename EvalT , typename Traits >
void panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::preEvaluate ( typename Traits::PreEvalData  d)

Looks up the Response_Functional to accumulate into for the upcoming fill.

Definition at line 94 of file Panzer_ResponseScatterEvaluator_Functional_impl.hpp.

◆ evaluateFields() [2/3]

◆ evaluateFields() [3/3]

Member Data Documentation

◆ responseName_

template<typename EvalT , typename Traits >
std::string panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::responseName_
private

Name of the response this evaluator contributes to.

Definition at line 156 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

◆ responseObj_

template<typename EvalT , typename Traits >
Teuchos::RCP<Response_Functional<EvalT> > panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::responseObj_
private

The response object accumulated into by evaluateFields().

Definition at line 158 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

◆ scatterHolder_

template<typename EvalT , typename Traits >
Teuchos::RCP<PHX::FieldTag> panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::scatterHolder_
private

◆ cellIntegral_

template<typename EvalT , typename Traits >
PHX::MDField<const ScalarT,panzer::Cell> panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::cellIntegral_
private

◆ scatterObj_

template<typename EvalT , typename Traits >
Teuchos::RCP<FunctionalScatterBase> panzer::ResponseScatterEvaluator_Functional< EvalT, Traits >::scatterObj_
private

Used to scatter derivative/Hessian information into the response's global vectors.

See also
FunctionalScatterBase

Definition at line 163 of file Panzer_ResponseScatterEvaluator_Functional.hpp.


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