Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_PointValues_Evaluator_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_POINT_VALUES_EVALUATOR_DECL_HPP
12#define PANZER_POINT_VALUES_EVALUATOR_DECL_HPP
13
14#include <string>
15#include "Phalanx_Evaluator_Macros.hpp"
16#include "Phalanx_MDField.hpp"
19
20namespace panzer {
21
23template<typename EvalT, typename Traits>
25 :
26 public panzer::EvaluatorWithBaseImpl<Traits>,
27 public PHX::EvaluatorDerived<EvalT, Traits>
28{
29 public:
30
32 const Teuchos::ParameterList& p);
33
34 void
36 typename Traits::SetupData d,
38
39 void
41 typename Traits::EvalData d);
42
43 private:
44
45 using ScalarT = typename EvalT::ScalarT;
46
47 // is anything other than ScalarT really needed here?
49
50 PHX::MDField<double,NODE,Dim> refPointArray;
51
52 bool useBasisValuesRefArray; // if true then basis is non-null
53 Teuchos::RCP<const panzer::PureBasis> basis;
54 std::size_t basis_index;
55
57 template <typename ArrayT>
58 void initialize(const Teuchos::RCP<const panzer::PointRule> & pointRule,
59 const Teuchos::Ptr<const ArrayT> & userArray,
60 // const Teuchos::Ptr<const Kokkos::DynRankView<double,PHX::Device> > & userArray,
61 const Teuchos::RCP<const panzer::PureBasis> & pureBasis);
62
63public:
64 PointValues_Evaluator(const Teuchos::RCP<const panzer::PointRule> & pointRule,
65 const Kokkos::DynRankView<double,PHX::Device> & userArray);
66
67 PointValues_Evaluator(const Teuchos::RCP<const panzer::PointRule> & pointRule,
68 const PHX::MDField<double, panzer::IP, panzer::Dim> & userArray);
69
71 PointValues_Evaluator(const Teuchos::RCP<const panzer::PointRule> & pointRule,
72 const Teuchos::RCP<const panzer::PureBasis> & pureBasis);
73
74}; // end of class PointValues_Evaluator
75
76
77}
78
79#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Interpolates basis DOF values to IP DOF values.
Teuchos::RCP< const panzer::PureBasis > basis
void initialize(const Teuchos::RCP< const panzer::PointRule > &pointRule, const Teuchos::Ptr< const ArrayT > &userArray, const Teuchos::RCP< const panzer::PureBasis > &pureBasis)
Initialization method to unify the constructors.
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
void evaluateFields(typename Traits::EvalData d)
PHX::MDField< double, NODE, Dim > refPointArray