Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_DotProduct_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_DotProduct_DECL_HPP
12 #define PANZER_EVALUATOR_DotProduct_DECL_HPP
13 
14 #include "Phalanx_Evaluator_Macros.hpp"
15 #include "Phalanx_MDField.hpp"
16 
18 
19 namespace panzer {
20 
32 template<typename EvalT, typename Traits>
34  :
35  public panzer::EvaluatorWithBaseImpl<Traits>,
36  public PHX::EvaluatorDerived<EvalT, Traits>
37 {
38  public:
39 
40  DotProduct(
41  const Teuchos::ParameterList& p);
42 
43  void
45  typename Traits::SetupData d,
47 
48  void
50  typename Traits::EvalData d);
51 
52  private:
53 
54  using ScalarT = typename EvalT::ScalarT;
55 
59 
60  int num_pts;
61  int num_dim;
62 
65 }; // end of class DotProduct
66 
67 
80 template <typename EvalT,typename TraitsT>
82  const panzer::PointRule & pr,
83  const std::string & vecA,
84  const std::string & vecB,
85  double multiplier=1,
86  const std::string & fieldMultiplier="");
87 
88 }
89 
90 #endif
PHX::MDField< const ScalarT > vec_a
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
typename EvalT::ScalarT ScalarT
Evaluates dot product at a set of points.
PHX::MDField< const ScalarT > vec_b
double multiplier
The scalar multiplier out in front of the integral ( ).
Teuchos::RCP< DotProduct< EvalT, TraitsT > > buildEvaluator_DotProduct(const std::string &resultName, const panzer::PointRule &pr, const std::string &vecA, const std::string &vecB, double multiplier=1, const std::string &fieldMultiplier="")
Build a dot product evaluator. Evaluates dot product at a set of points.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
DotProduct(const Teuchos::ParameterList &p)
void evaluateFields(typename Traits::EvalData d)
PHX::MDField< const ScalarT > multiplier_field
PHX::MDField< ScalarT > vec_a_dot_vec_b