Panzer
Version of the Day
Loading...
Searching...
No Matches
disc-fe
src
Panzer_PointValues2.cpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Panzer: A partial differential equation assembly
4
// engine for strongly coupled complex multiphysics systems
5
//
6
// Copyright 2011 NTESS and the Panzer contributors.
7
// SPDX-License-Identifier: BSD-3-Clause
8
// *****************************************************************************
9
// @HEADER
10
11
#include "PanzerDiscFE_config.hpp"
12
#include "
Panzer_PointValues2.hpp
"
13
#include "
Panzer_PointValues2_impl.hpp
"
14
15
#include "
Panzer_CommonArrayFactories.hpp
"
16
#include "
Panzer_Traits.hpp
"
17
18
19
namespace
panzer
{
20
21
// do some explicit instantiation so things build faster.
22
23
#define POINT_VALUES_INSTANTIATION(SCALAR) \
24
template class PointValues2<SCALAR>;
25
26
#define POINT_VALUES_INSTANTIATION2(SCALAR,SCALAR2)\
27
template void PointValues2<SCALAR>::copyNodeCoords<PHX::MDField<SCALAR2> >(const PHX::MDField<SCALAR2> & in_node_coords); \
28
template void PointValues2<SCALAR>::copyNodeCoords<PHX::MDField<SCALAR2,Cell,NODE,Dim> >(const PHX::MDField<SCALAR2,Cell,NODE,Dim> & in_node_coords); \
29
template void PointValues2<SCALAR>::copyNodeCoords<Kokkos::DynRankView<SCALAR2,PHX::Device> >(const Kokkos::DynRankView<SCALAR2,PHX::Device> & in_node_coords); \
30
\
31
template void PointValues2<SCALAR>::copyPointCoords<PHX::MDField<SCALAR2> >(const PHX::MDField<SCALAR2> & in_node_coords); \
32
template void PointValues2<SCALAR>::copyPointCoords<PHX::MDField<SCALAR2,BASIS,Dim> >(const PHX::MDField<SCALAR2,BASIS,Dim> & in_node_coords); \
33
template void PointValues2<SCALAR>::copyPointCoords<Kokkos::DynRankView<SCALAR2,PHX::Device> >(const Kokkos::DynRankView<SCALAR2,PHX::Device> & in_node_coords);
34
35
POINT_VALUES_INSTANTIATION
(
panzer::Traits::RealType
)
36
// Disabled FAD support due to long build times on cuda (in debug mode
37
// it takes multiple hours on some platforms). If we need
38
// sensitivities wrt coordinates, we can reenable.
39
// POINT_VALUES_INSTANTIATION(panzer::Traits::FadType)
40
#ifdef Panzer_BUILD_HESSIAN_SUPPORT
41
POINT_VALUES_INSTANTIATION
(
panzer::Traits::HessianType
)
42
#endif
43
44
// This is very complicated for reasons I don't fully understand...
45
POINT_VALUES_INSTANTIATION2
(
panzer::Traits::RealType
,
panzer::Traits::RealType
)
46
// Disabled FAD support due to long build times on cuda (in debug mode
47
// it takes multiple hours on some platforms). If we need
48
// sensitivities wrt coordinates, we can reenable.
49
// POINT_VALUES_INSTANTIATION2(panzer::Traits::FadType,panzer::Traits::RealType)
50
// POINT_VALUES_INSTANTIATION2(panzer::Traits::FadType,panzer::Traits::FadType)
51
#ifdef Panzer_BUILD_HESSIAN_SUPPORT
52
POINT_VALUES_INSTANTIATION2
(
panzer::Traits::HessianType
,
panzer::Traits::RealType
)
53
#endif
54
55
}
// namespace panzer
Panzer_CommonArrayFactories.hpp
POINT_VALUES_INSTANTIATION
#define POINT_VALUES_INSTANTIATION(SCALAR)
Definition
Panzer_PointValues2.cpp:23
POINT_VALUES_INSTANTIATION2
#define POINT_VALUES_INSTANTIATION2(SCALAR, SCALAR2)
Definition
Panzer_PointValues2.cpp:26
Panzer_PointValues2.hpp
Panzer_PointValues2_impl.hpp
Panzer_Traits.hpp
panzer
Computes .
Definition
Panzer_BasisValues_Evaluator_decl.hpp:22
panzer::Traits::RealType
double RealType
Scalar type used for the Residual evaluation type (plain double).
Definition
Panzer_Traits.hpp:70
panzer::Traits::HessianType
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 b...
Definition
Panzer_Traits.hpp:82
Generated by
1.15.0