VertexCFD  0.0-dev
VertexCFD_ExternalFieldsManager.hpp
1 #ifndef VERTEXCFD_EXTERNALFIELDSMANAGER_HPP
2 #define VERTEXCFD_EXTERNALFIELDSMANAGER_HPP
3 
4 #include <Thyra_VectorBase.hpp>
5 
6 #include <Panzer_GlobalIndexer.hpp>
7 
8 #include <Phalanx_KokkosDeviceTypes.hpp>
9 
10 #include <Teuchos_DefaultComm.hpp>
11 #include <Teuchos_RCP.hpp>
12 
13 #include <Kokkos_Core.hpp>
14 
15 #include <string>
16 #include <type_traits>
17 
18 namespace VertexCFD
19 {
20 //---------------------------------------------------------------------------//
21 template<class Traits>
23 {
24  public:
25  template<int NumSpaceDim>
27  const std::integral_constant<int, NumSpaceDim>& num_space_dim,
28  const Teuchos::RCP<const Teuchos::MpiComm<int>>& comm,
29  const std::string& filename);
30 
31  Teuchos::RCP<const panzer::GlobalIndexer> globalIndexer() const;
32  Kokkos::View<double*, PHX::Device> ghostedFieldData() const;
33 
34  private:
35  // External global indexer (DOF manager).
36  Teuchos::RCP<const panzer::GlobalIndexer> _global_indexer;
37 
38  // Gathered local field values.
39  Kokkos::View<double*, PHX::Device> _ghosted_field_data;
40 };
41 
42 //---------------------------------------------------------------------------//
43 
44 } // end namespace VertexCFD
45 
46 #include "VertexCFD_ExternalFieldsManager_impl.hpp"
47 
48 #endif // end VERTEXCFD_EXTERNALFIELDSMANAGER_HPP
VertexCFD
Definition: tstMethodManufacturedSolutionBC.cpp:23
VertexCFD::ExternalFieldsManager
Definition: VertexCFD_ExternalFieldsManager.hpp:23