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

#include <Panzer_CellExtreme.hpp>

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

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< ScalarTextreme
 
PHX::MDField< const ScalarT, Cell, IPscalar
 
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: