Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_ScalarToVector_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_SCALAR_TO_VECTOR_DECL_HPP
12 #define PANZER_EVALUATOR_SCALAR_TO_VECTOR_DECL_HPP
13 
14 #include <vector>
15 #include "Phalanx_Evaluator_Macros.hpp"
16 #include "Phalanx_MDField.hpp"
18 
19 namespace panzer {
20 
22 template<typename EvalT, typename Traits>
24  :
25  public panzer::EvaluatorWithBaseImpl<Traits>,
26  public PHX::EvaluatorDerived<EvalT, Traits>
27 {
28  public:
29 
31  const Teuchos::ParameterList& p);
32 
33  void
35  typename Traits::SetupData d,
37 
38  void
40  typename Traits::EvalData d);
41 
42  private:
43 
44  using ScalarT = typename EvalT::ScalarT;
45  std::vector< PHX::MDField<const ScalarT,Cell,Point> > scalar_fields;
47 
48 protected:
49  typedef PHX::View<const ScalarT**> KokkosScalarFields_t;
50  PHX::View<KokkosScalarFields_t*> internal_scalar_fields;
51 public:
52 
56  ScalarToVector(const std::vector<PHX::Tag<ScalarT>> & input,
57  const PHX::FieldTag & output);
58 
59 }; // end of class ScalarToVector
60 
61 
62 }
63 
64 #endif
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
Interpolates basis DOF values to IP DOF values.
std::vector< PHX::MDField< const ScalarT, Cell, Point > > scalar_fields
PHX::MDField< ScalarT, Cell, Point, Dim > vector_field
typename EvalT::ScalarT ScalarT
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
PHX::View< const ScalarT ** > KokkosScalarFields_t
void evaluateFields(typename Traits::EvalData d)
PHX::View< KokkosScalarFields_t * > internal_scalar_fields
ScalarToVector(const Teuchos::ParameterList &p)