43#ifndef PANZER_TRAITS_HPP
44#define PANZER_TRAITS_HPP
46#include "PanzerDiscFE_config.hpp"
49#include "Teuchos_RCP.hpp"
52#include "Sacado_mpl_vector.hpp"
53#include "Sacado_mpl_find.hpp"
61#include "Phalanx_Traits.hpp"
78 class GlobalEvaluationDataContainer;
95#ifdef Panzer_BUILD_HESSIAN_SUPPORT
97 typedef Sacado::Fad::DFad<Sacado::Fad::SFad<RealType,1> >
HessianType;
107#ifdef Panzer_BUILD_HESSIAN_SUPPORT
111 typedef Sacado::mpl::vector<
Residual
114#ifdef Panzer_BUILD_HESSIAN_SUPPORT
124 Teuchos::RCP<const std::vector<panzer::Workset>>
worksets_;
133 Teuchos::RCP<GlobalEvaluationDataContainer>
gedc;
148 struct eval_scalar_types<
panzer::Traits::Residual>
149 {
typedef Sacado::mpl::vector<panzer::Traits::RealType,bool>
type; };
152 struct eval_scalar_types<
panzer::Traits::Jacobian>
153 {
typedef Sacado::mpl::vector<panzer::Traits::FadType,panzer::Traits::RealType,bool>
type; };
156 struct eval_scalar_types<
panzer::Traits::Tangent>
157 {
typedef Sacado::mpl::vector<panzer::Traits::FadType,panzer::Traits::RealType,bool>
type; };
159#ifdef Panzer_BUILD_HESSIAN_SUPPORT
161 struct eval_scalar_types<
panzer::Traits::Hessian>
162 {
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