Panzer Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
panzer::FunctionalScatter< LO, GO > Class Template Reference

Concrete FunctionalScatterBase that scatters using one or more panzer::GlobalIndexer objects. More...

#include <Panzer_ResponseScatterEvaluator_Functional.hpp>

Inheritance diagram for panzer::FunctionalScatter< LO, GO >:
Inheritance graph
[legend]

Public Member Functions

 FunctionalScatter (const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer)
 Construct for a single global indexer (single-block problem); no-op if globalIndexer is null.
 
 FunctionalScatter (const std::vector< Teuchos::RCP< const panzer::GlobalIndexer > > &ugis)
 Construct for a blocked problem with one global indexer per block.
 
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
 Accumulates dg/dx contributions from one workset's cell integrals into the global gradient vector(s).
 
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
 Accumulates d2g/dx2 contributions from one workset's cell integrals into the global Hessian-vector product(s). Only defined when built with Hessian support.
 
- Public Member Functions inherited from panzer::FunctionalScatterBase
virtual ~FunctionalScatterBase ()
 

Private Attributes

std::vector< Teuchos::RCP< const panzer::GlobalIndexer > > ugis_
 One global indexer per block; a single entry for non-blocked problems.
 

Detailed Description

template<typename LO, typename GO>
class panzer::FunctionalScatter< LO, GO >

Concrete FunctionalScatterBase that scatters using one or more panzer::GlobalIndexer objects.

Template Parameters
LOlocal ordinal type.
GOglobal ordinal type.

Definition at line 78 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

Constructor & Destructor Documentation

◆ FunctionalScatter() [1/2]

template<typename LO , typename GO >
panzer::FunctionalScatter< LO, GO >::FunctionalScatter ( const Teuchos::RCP< const panzer::GlobalIndexer > &  globalIndexer)
inline

Construct for a single global indexer (single-block problem); no-op if globalIndexer is null.

Definition at line 81 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

◆ FunctionalScatter() [2/2]

template<typename LO , typename GO >
panzer::FunctionalScatter< LO, GO >::FunctionalScatter ( const std::vector< Teuchos::RCP< const panzer::GlobalIndexer > > &  ugis)
inline

Construct for a blocked problem with one global indexer per block.

Definition at line 88 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

Member Function Documentation

◆ scatterDerivative()

template<typename LO , typename GO >
void panzer::FunctionalScatter< LO, GO >::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
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.

Implements panzer::FunctionalScatterBase.

Definition at line 167 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

◆ scatterHessian()

template<typename LO , typename GO >
void panzer::FunctionalScatter< LO, GO >::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
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.

Implements panzer::FunctionalScatterBase.

Definition at line 208 of file Panzer_ResponseScatterEvaluator_Functional.hpp.

Member Data Documentation

◆ ugis_

template<typename LO , typename GO >
std::vector<Teuchos::RCP<const panzer::GlobalIndexer> > panzer::FunctionalScatter< LO, GO >::ugis_
private

One global indexer per block; a single entry for non-blocked problems.

Definition at line 108 of file Panzer_ResponseScatterEvaluator_Functional.hpp.


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