1 #ifndef VERTEXCFD_CLOSURE_WALLDISTANCE_HPP
2 #define VERTEXCFD_CLOSURE_WALLDISTANCE_HPP
4 #include "mesh/VertexCFD_Mesh_GeometryData.hpp"
6 #include <Panzer_Dimension.hpp>
7 #include <Panzer_Evaluator_WithBaseImpl.hpp>
9 #include <Phalanx_Evaluator_Derived.hpp>
10 #include <Phalanx_Evaluator_WithBaseImpl.hpp>
11 #include <Phalanx_FieldManager.hpp>
12 #include <Phalanx_config.hpp>
14 #include <Kokkos_Core.hpp>
18 namespace ClosureModel
23 template<
class EvalType,
class Traits,
int NumSpaceDim>
25 public PHX::EvaluatorDerived<EvalType, Traits>
35 using scalar_type =
typename EvalType::ScalarT;
36 static constexpr
int num_space_dim = NumSpaceDim;
39 Teuchos::RCP<Mesh::Topology::SidesetGeometry> sideset_geometry);
41 void postRegistrationSetup(
typename Traits::SetupData sd,
42 PHX::FieldManager<Traits>& fm)
override;
44 void evaluateFields(
typename Traits::EvalData workset)
override;
46 KOKKOS_INLINE_FUNCTION
49 KOKKOS_INLINE_FUNCTION
54 PHX::MDField<scalar_type, panzer::Cell, panzer::Point> _distance;
69 std::size_t _current_workset = 0;
72 PHX::MDField<const double, panzer::Cell, panzer::Point, panzer::Dim> _ip_coords;
77 Kokkos::View<double***, PHX::mem_space> _sides;
80 Kokkos::View<double***, PHX::mem_space> _distance_vector;
83 Kokkos::View<double**, PHX::mem_space> _normals;
86 std::vector<std::size_t> _workset_id;
94 #endif // end VERTEXCFD_CLOSURE_WALLDISTANCE_HPP