Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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"
14 
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 // special case for PointGenerator....yikes!
36 template void PointValues2<double>::copyPointCoords<Kokkos::DynRankView<double> >(const Kokkos::DynRankView<double> & in_node_coords);
37 
39 // Disabled FAD support due to long build times on cuda (in debug mode
40 // it takes multiple hours on some platforms). If we need
41 // sensitivities wrt coordinates, we can reenable.
42 // POINT_VALUES_INSTANTIATION(panzer::Traits::FadType)
43 #ifdef Panzer_BUILD_HESSIAN_SUPPORT
45 #endif
46 
47 // This is very complicated for reasons I don't fully understand...
49 // Disabled FAD support due to long build times on cuda (in debug mode
50 // it takes multiple hours on some platforms). If we need
51 // sensitivities wrt coordinates, we can reenable.
52 // POINT_VALUES_INSTANTIATION2(panzer::Traits::FadType,panzer::Traits::RealType)
53 // POINT_VALUES_INSTANTIATION2(panzer::Traits::FadType,panzer::Traits::FadType)
54 #ifdef Panzer_BUILD_HESSIAN_SUPPORT
56 #endif
57 
58 } // namespace panzer
#define POINT_VALUES_INSTANTIATION2(SCALAR, SCALAR2)
#define POINT_VALUES_INSTANTIATION(SCALAR)
void copyPointCoords(const CoordinateArray &in_point_coords)
Sacado::Fad::DFad< Sacado::Fad::SFad< RealType, 1 > > HessianType