Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_Normals_decl.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_EVALUATOR_NORMALS_DECL_HPP
12#define PANZER_EVALUATOR_NORMALS_DECL_HPP
13
14#include <string>
15#include "Phalanx_Evaluator_Macros.hpp"
16#include "Phalanx_MDField.hpp"
18
19namespace panzer {
20
38template<typename EvalT, typename Traits>
40 :
41 public panzer::EvaluatorWithBaseImpl<Traits>,
42 public PHX::EvaluatorDerived<EvalT, Traits>
43{
44 public:
45
46 Normals(
47 const Teuchos::ParameterList& p);
48
49 void
51 typename Traits::SetupData d,
53
54 void
56 typename Traits::EvalData d);
57
58 private:
59
60 using ScalarT = typename EvalT::ScalarT;
61
64
65 std::size_t num_qp, num_dim;
66
67 PHX::MDField<ScalarT,Cell,Point,Dim> normals;
68 PHX::View<ScalarT*> scratch;
70
71public:
72 // for testing purposes
73 const PHX::FieldTag & getFieldTag() const
74 { return normals.fieldTag(); }
75
76}; // end of class Normals
77
78
79}
80
81#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
PHX::MDField< ScalarT, Cell, Point, Dim > normals
PHX::View< ScalarT * > scratch
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
typename EvalT::ScalarT ScalarT
void evaluateFields(typename Traits::EvalData d)
const PHX::FieldTag & getFieldTag() const