Panzer Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | List of all members
panzer::FunctionalScatterBase Class Referenceabstract

Abstract interface for scattering a functional response's derivative back into global sensitivity vectors. More...

#include <Panzer_ResponseScatterEvaluator_Functional.hpp>

Inheritance diagram for panzer::FunctionalScatterBase:
Inheritance graph
[legend]

Public Member Functions

virtual ~FunctionalScatterBase ()
 
virtual void scatterDerivative (const PHX::MDField< const panzer::Traits::Jacobian::ScalarT, panzer::Cell > &cellIntegral, panzer::Traits::EvalData workset, WorksetDetailsAccessor &wda, const std::vector< Teuchos::ArrayRCP< double > > &dgdx) const =0
 Accumulates dg/dx contributions from one workset's cell integrals into the global gradient vector(s).
 
virtual void scatterHessian (const PHX::MDField< const panzer::Traits::Hessian::ScalarT, panzer::Cell > &cellIntegral, panzer::Traits::EvalData workset, WorksetDetailsAccessor &wda, const std::vector< Teuchos::ArrayRCP< double > > &d2gdx2) const =0
 Accumulates d2g/dx2 contributions from one workset's cell integrals into the global Hessian-vector product(s). Only defined when built with Hessian support.
 

Detailed Description

Abstract interface for scattering a functional response's derivative back into global sensitivity vectors.

ResponseScatterEvaluator_Functional computes a scalar functional integral per cell; a FunctionalScatterBase implementation is responsible for taking that per-cell integral's derivative (with respect to local solution unknowns) and accumulating it into the appropriate entries of the response's global gradient (dgdx) or, if enabled, Hessian-vector product (d2gdx2).

Definition at line 41 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

Constructor & Destructor Documentation

◆ ~FunctionalScatterBase()

virtual panzer::FunctionalScatterBase::~FunctionalScatterBase ( )
inlinevirtual

Member Function Documentation

◆ scatterDerivative()

virtual void panzer::FunctionalScatterBase::scatterDerivative ( const PHX::MDField< const panzer::Traits::Jacobian::ScalarT, panzer::Cell > &  cellIntegral,
panzer::Traits::EvalData  workset,
WorksetDetailsAccessor wda,
const std::vector< Teuchos::ArrayRCP< double > > &  dgdx 
) const
pure virtual

Accumulates dg/dx contributions from one workset's cell integrals into the global gradient vector(s).

Parameters
cellIntegralper-cell functional integral for this workset, carrying Jacobian (first-derivative) sensitivities.
worksetthe workset being processed.
wdaaccessor used to pull cell/block details out of workset.
dgdxone global gradient vector per global indexer (block), to be accumulated into.

Implemented in panzer::FunctionalScatter< LO, GO >.

◆ scatterHessian()

virtual void panzer::FunctionalScatterBase::scatterHessian ( const PHX::MDField< const panzer::Traits::Hessian::ScalarT, panzer::Cell > &  cellIntegral,
panzer::Traits::EvalData  workset,
WorksetDetailsAccessor wda,
const std::vector< Teuchos::ArrayRCP< double > > &  d2gdx2 
) const
pure virtual

Accumulates d2g/dx2 contributions from one workset's cell integrals into the global Hessian-vector product(s). Only defined when built with Hessian support.

Parameters
cellIntegralper-cell functional integral for this workset, carrying Hessian (second-derivative) sensitivities.
worksetthe workset being processed.
wdaaccessor used to pull cell/block details out of workset.
d2gdx2one global Hessian-vector product vector per global indexer (block), to be accumulated into.

Implemented in panzer::FunctionalScatter< LO, GO >.


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