Panzer Version of the Day
Loading...
Searching...
No Matches
Classes | Public Types | List of all members
panzer::Traits Struct Reference

Panzer's specialization of the Phalanx traits class. More...

#include <Panzer_Traits.hpp>

Classes

struct  Hessian
 Evaluation type for computing second derivatives, using HessianType as the scalar type. Only defined when built with Hessian support. More...
 
struct  Jacobian
 Evaluation type for computing the residual and its Jacobian, using FadType as the scalar type. More...
 
struct  PED
 User-defined data passed to PHX::Evaluator::preEvaluate(), called once before each residual/Jacobian fill. More...
 
struct  Residual
 Evaluation type for computing the residual only, using RealType as the scalar type. More...
 
struct  SD
 User-defined data passed to PHX::Evaluator::postRegistrationSetup() during the one-time setup phase. More...
 
struct  Tangent
 Evaluation type for computing directional derivatives (e.g. parameter sensitivities), using FadType as the scalar type. More...
 

Public Types

typedef double RealType
 Scalar type used for the Residual evaluation type (plain double).
 
typedef PANZER_FADTYPE FadType
 Sacado forward-mode AD scalar type used for the Jacobian and Tangent evaluation types.
 
typedef Sacado::Fad::DFad< Sacado::Fad::SFad< RealType, 1 > > HessianType
 Nested Sacado AD scalar type (FAD-over-FAD) used for the Hessian evaluation type. Only defined when built with Hessian support.
 
typedef Sacado::mpl::vector< Residual, Jacobian, Tangent, HessianEvalTypes
 Sacado::mpl::vector enumerating all evaluation types supported by this build (Residual, Jacobian, Tangent, and optionally Hessian).
 
using SetupData = const SD &
 Data type passed to PHX::Evaluator::postRegistrationSetup().
 
using EvalData = const panzer::Workset &
 Data type passed to PHX::Evaluator::evaluateFields(): a single workset holding the cell data for one evaluation call.
 
using PreEvalData = const PED &
 Data type passed to PHX::Evaluator::preEvaluate().
 
typedef void * PostEvalData
 Data type passed to PHX::Evaluator::postEvaluate(), called once after each residual/Jacobian fill. Unused by panzer (always null).
 

Detailed Description

Panzer's specialization of the Phalanx traits class.

This struct binds together all of the type information that the Phalanx DAG Manager and EvaluationContainer machinery needs in order to build and run field evaluators for panzer: the scalar types used for each evaluation type (residual, Jacobian, etc.), the panzer::Traits::EvalTypes mpl::vector enumerating those evaluation types, and the four user-defined data types (SetupData, EvalData, PreEvalData, PostEvalData) that Phalanx passes through to PHX::Evaluator::postRegistrationSetup(), evaluateFields(), preEvaluate(), and postEvaluate() respectively.

Definition at line 63 of file Panzer_Traits.hpp.

Member Typedef Documentation

◆ RealType

typedef double panzer::Traits::RealType

Scalar type used for the Residual evaluation type (plain double).

Definition at line 70 of file Panzer_Traits.hpp.

◆ FadType

typedef PANZER_FADTYPE panzer::Traits::FadType

Sacado forward-mode AD scalar type used for the Jacobian and Tangent evaluation types.

Definition at line 77 of file Panzer_Traits.hpp.

◆ HessianType

typedef Sacado::Fad::DFad<Sacado::Fad::SFad<RealType,1> > panzer::Traits::HessianType

Nested Sacado AD scalar type (FAD-over-FAD) used for the Hessian evaluation type. Only defined when built with Hessian support.

Definition at line 82 of file Panzer_Traits.hpp.

◆ EvalTypes

typedef Sacado::mpl::vector< Residual , Jacobian , Tangent , Hessian > panzer::Traits::EvalTypes

Sacado::mpl::vector enumerating all evaluation types supported by this build (Residual, Jacobian, Tangent, and optionally Hessian).

Definition at line 108 of file Panzer_Traits.hpp.

◆ SetupData

using panzer::Traits::SetupData = const SD&

Data type passed to PHX::Evaluator::postRegistrationSetup().

See also
SD

Definition at line 130 of file Panzer_Traits.hpp.

◆ EvalData

Data type passed to PHX::Evaluator::evaluateFields(): a single workset holding the cell data for one evaluation call.

Definition at line 133 of file Panzer_Traits.hpp.

◆ PreEvalData

Data type passed to PHX::Evaluator::preEvaluate().

See also
PED

Definition at line 150 of file Panzer_Traits.hpp.

◆ PostEvalData

Data type passed to PHX::Evaluator::postEvaluate(), called once after each residual/Jacobian fill. Unused by panzer (always null).

Definition at line 153 of file Panzer_Traits.hpp.


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