Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_STK_SurfaceNodeNormals.hpp
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 #ifndef __Panzer_STK_SurfaceNormals_hpp__
12 #define __Panzer_STK_SurfaceNormals_hpp__
13 
14 #include "PanzerAdaptersSTK_config.hpp"
15 #include "Teuchos_RCP.hpp"
16 #include "Kokkos_DynRankView.hpp"
17 #include "Phalanx_KokkosDeviceTypes.hpp"
18 #include <unordered_map>
19 #include <string>
20 #include <vector>
21 
22 namespace panzer_stk {
23 
24  class STK_Interface;
25 
26 
44  void computeSidesetNodeNormals(std::unordered_map<unsigned,std::vector<double> >& normals,
46  const std::string& sidesetName,
47  const std::string& elementBlockName,
48  std::ostream* out = NULL,
49  std::ostream* pout = NULL);
50 
68  void computeSidesetNodeNormals(std::unordered_map<std::size_t,Kokkos::DynRankView<double,PHX::Device> >& elementToNormalMap,
70  const std::string& sidesetName,
71  const std::string& elementBlockName,
72  std::ostream* out = NULL,
73  std::ostream* pout = NULL);
74 
75 
76 }
77 
78 #endif
void computeSidesetNodeNormals(std::unordered_map< unsigned, std::vector< double > > &normals, const Teuchos::RCP< const panzer_stk::STK_Interface > &mesh, const std::string &sidesetName, const std::string &elementBlockName, std::ostream *, std::ostream *pout)
Computes the normals for all nodes associated with a sideset surface.