Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_STK_ScatterVectorFields_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_STK_ScatterVectorFields_decl_HPP__
12 #define __PANZER_STK_ScatterVectorFields_decl_HPP__
13 
14 #include "Phalanx_config.hpp"
15 #include "Phalanx_Evaluator_Macros.hpp"
16 #include "Phalanx_MDField.hpp"
17 
19 
20 #include "Panzer_Dimension.hpp"
21 #include "Panzer_Traits.hpp"
22 #include "Panzer_PointRule.hpp"
23 #include "Panzer_STK_Interface.hpp"
24 
26 
27 namespace panzer_stk {
28 
39 template<typename EvalT, typename Traits>
41  :
42  public panzer::EvaluatorWithBaseImpl<Traits>,
43  public PHX::EvaluatorDerived<EvalT, Traits>
44 {
45  public:
46 
48  const Teuchos::ParameterList& p);
49 
50  void
52  typename Traits::EvalData d);
53 
54  private:
55 
56  using ScalarT = typename EvalT::ScalarT;
58 
59  std::vector<std::string> names_;
60  std::vector< PHX::MDField<const ScalarT,panzer::Cell,panzer::IP,panzer::Dim> > scatterFields_;
63  std::vector<double> scaling_;
64 
66 
67 public:
68 
69  ScatterVectorFields(const std::string & scatterName,
70  const Teuchos::RCP<STK_Interface> mesh,
71  const Teuchos::RCP<const panzer::PointRule> & pointRule,
72  const std::vector<std::string> & names,
73  const std::vector<double> & scaling = std::vector<double>());
74 
75 }; // end of class ScatterVectorFields
76 
77 
78 }
79 
80 // **************************************************************
81 #endif
panzer_stk::STK_Interface::SolutionFieldType VariableField
stk::mesh::Field< double > SolutionFieldType
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
std::vector< PHX::MDField< const ScalarT, panzer::Cell, panzer::IP, panzer::Dim > > scatterFields_
ScatterVectorFields(const Teuchos::ParameterList &p)
PHX::MDField< const ScalarT, panzer::Cell, panzer::IP, panzer::Dim > pointField_
void evaluateFields(typename Traits::EvalData d)