11#ifndef PANZER_TRAITS_HPP
12#define PANZER_TRAITS_HPP
14#include "PanzerDiscFE_config.hpp"
17#include "Teuchos_RCP.hpp"
20#include "Sacado_mpl_vector.hpp"
21#include "Sacado_mpl_find.hpp"
29#include "Phalanx_Traits.hpp"
46 class GlobalEvaluationDataContainer;
63#ifdef Panzer_BUILD_HESSIAN_SUPPORT
65 typedef Sacado::Fad::DFad<Sacado::Fad::SFad<RealType,1> >
HessianType;
75#ifdef Panzer_BUILD_HESSIAN_SUPPORT
79 typedef Sacado::mpl::vector<
Residual
82#ifdef Panzer_BUILD_HESSIAN_SUPPORT
92 Teuchos::RCP<const std::vector<panzer::Workset>>
worksets_;
101 Teuchos::RCP<GlobalEvaluationDataContainer>
gedc;
116 struct eval_scalar_types<
panzer::Traits::Residual>
117 {
typedef Sacado::mpl::vector<panzer::Traits::RealType,bool>
type; };
120 struct eval_scalar_types<
panzer::Traits::Jacobian>
121 {
typedef Sacado::mpl::vector<panzer::Traits::FadType,panzer::Traits::RealType,bool>
type; };
124 struct eval_scalar_types<
panzer::Traits::Tangent>
125 {
typedef Sacado::mpl::vector<panzer::Traits::FadType,panzer::Traits::RealType,bool>
type; };
127#ifdef Panzer_BUILD_HESSIAN_SUPPORT
129 struct eval_scalar_types<
panzer::Traits::Hessian>
130 {
typedef Sacado::mpl::vector<panzer::Traits::HessianType,bool>
type; };
Sacado::mpl::vector< panzer::Traits::HessianType, bool > type
Sacado::mpl::vector< panzer::Traits::FadType, panzer::Traits::RealType, bool > type
Sacado::mpl::vector< panzer::Traits::RealType, bool > type
Sacado::mpl::vector< panzer::Traits::FadType, panzer::Traits::RealType, bool > type
Teuchos::RCP< GlobalEvaluationDataContainer > gedc
std::string second_sensitivities_name
std::string first_sensitivities_name
Teuchos::RCP< const std::vector< panzer::Workset > > worksets_
Teuchos::RCP< const std::vector< Intrepid2::Orientation > > orientations_
Sacado::mpl::vector< Residual, Jacobian, Tangent, Hessian > EvalTypes
Sacado::Fad::DFad< Sacado::Fad::SFad< RealType, 1 > > HessianType