Panzer Version of the Day
Loading...
Searching...
No Matches
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
22namespace panzer_stk {
23
24 class STK_Interface;
25
26
44 void computeSidesetNodeNormals(std::unordered_map<unsigned,std::vector<double> >& normals,
45 const Teuchos::RCP<const panzer_stk::STK_Interface>& mesh,
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,
69 const Teuchos::RCP<const panzer_stk::STK_Interface>& mesh,
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.