Panzer Version of the Day
Loading...
Searching...
No Matches
panzer::CellExtreme< EvalT, Traits > Class Template Reference

#include <Panzer_CellExtreme.hpp>

Inheritance diagram for panzer::CellExtreme< EvalT, Traits >:

Public Member Functions

 CellExtreme (const Teuchos::ParameterList &p)
 Construct from a ParameterList as documented in the class description.
void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
 Looks up the quadrature index/order needed by evaluateFields(). Called once before the first evaluation.
void evaluateFields (typename Traits::EvalData d)
 Computes the "Extreme Name" field for this workset per the class description.
const PHX::FieldTag & getFieldTag () const
 Returns the FieldTag of the extreme-value output field. Used only for unit testing.
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

using ScalarT = typename EvalT::ScalarT

Private Member Functions

Teuchos::RCP< Teuchos::ParameterList > getValidParameters () const
 Returns the ParameterList of valid parameters/defaults for this evaluator's constructor.

Private Attributes

PHX::MDField< ScalarT > extreme
PHX::MDField< const ScalarT, Cell, IP > scalar
std::vector< PHX::MDField< const ScalarT, Cell, IP > > field_multipliers
double multiplier
std::size_t num_qp
std::size_t quad_index
int quad_order
bool use_max

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::CellExtreme< EvalT, Traits >

This finds the maximum or minimum value of a scalar quantity, over the integration points of each cell. It is useful for computing extreme-value responses.

  <ParameterList>
    <Parameter name="Extreme Name" type="string" value="<Name to give to the extreme field>"/>
    <Parameter name="Field Name" type="string" value="<Name of field to find extreme of>"/>
    <Parameter name="IR" type="RCP<IntegrationRule>" value="<user specified IntegrationRule>"/>
    <Parameter name="Use Max" type="bool" value="<Compute maximum (default = true) or minimum (false)>"/>
    <Parameter name="Multiplier" type="double" value="<Scaling factor, default=1>"/>
    <Parameter name="Field Multipliers" type="RCP<const vector<string> >" value="<Other scalar multiplier fields>"/>
  </ParameterList>

Definition at line 40 of file Panzer_CellExtreme.hpp.

Member Typedef Documentation

◆ ScalarT

template<typename EvalT, typename Traits>
using panzer::CellExtreme< EvalT, Traits >::ScalarT = typename EvalT::ScalarT
private

Definition at line 64 of file Panzer_CellExtreme.hpp.

Constructor & Destructor Documentation

◆ CellExtreme()

template<typename EvalT, typename Traits>
panzer::CellExtreme< EvalT, Traits >::CellExtreme ( const Teuchos::ParameterList & p)

Construct from a ParameterList as documented in the class description.

Definition at line 25 of file Panzer_CellExtreme_impl.hpp.

Member Function Documentation

◆ postRegistrationSetup()

template<typename EvalT, typename Traits>
void panzer::CellExtreme< EvalT, Traits >::postRegistrationSetup ( typename Traits::SetupData d,
PHX::FieldManager< Traits > & fm )

Looks up the quadrature index/order needed by evaluateFields(). Called once before the first evaluation.

Definition at line 74 of file Panzer_CellExtreme_impl.hpp.

◆ evaluateFields()

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

Computes the "Extreme Name" field for this workset per the class description.

Definition at line 86 of file Panzer_CellExtreme_impl.hpp.

◆ getFieldTag()

template<typename EvalT, typename Traits>
const PHX::FieldTag & panzer::CellExtreme< EvalT, Traits >::getFieldTag ( ) const
inline

Returns the FieldTag of the extreme-value output field. Used only for unit testing.

Definition at line 82 of file Panzer_CellExtreme.hpp.

◆ getValidParameters()

template<typename EvalT, typename TRAITS>
Teuchos::RCP< Teuchos::ParameterList > panzer::CellExtreme< EvalT, TRAITS >::getValidParameters ( ) const
private

Returns the ParameterList of valid parameters/defaults for this evaluator's constructor.

Definition at line 148 of file Panzer_CellExtreme_impl.hpp.

Member Data Documentation

◆ extreme

template<typename EvalT, typename Traits>
PHX::MDField<ScalarT> panzer::CellExtreme< EvalT, Traits >::extreme
private

Definition at line 66 of file Panzer_CellExtreme.hpp.

◆ scalar

template<typename EvalT, typename Traits>
PHX::MDField<const ScalarT,Cell,IP> panzer::CellExtreme< EvalT, Traits >::scalar
private

Definition at line 68 of file Panzer_CellExtreme.hpp.

◆ field_multipliers

template<typename EvalT, typename Traits>
std::vector<PHX::MDField<const ScalarT,Cell,IP> > panzer::CellExtreme< EvalT, Traits >::field_multipliers
private

Definition at line 70 of file Panzer_CellExtreme.hpp.

◆ multiplier

template<typename EvalT, typename Traits>
double panzer::CellExtreme< EvalT, Traits >::multiplier
private

Definition at line 71 of file Panzer_CellExtreme.hpp.

◆ num_qp

template<typename EvalT, typename Traits>
std::size_t panzer::CellExtreme< EvalT, Traits >::num_qp
private

Definition at line 73 of file Panzer_CellExtreme.hpp.

◆ quad_index

template<typename EvalT, typename Traits>
std::size_t panzer::CellExtreme< EvalT, Traits >::quad_index
private

Definition at line 74 of file Panzer_CellExtreme.hpp.

◆ quad_order

template<typename EvalT, typename Traits>
int panzer::CellExtreme< EvalT, Traits >::quad_order
private

Definition at line 75 of file Panzer_CellExtreme.hpp.

◆ use_max

template<typename EvalT, typename Traits>
bool panzer::CellExtreme< EvalT, Traits >::use_max
private

Definition at line 77 of file Panzer_CellExtreme.hpp.


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