Panzer Version of the Day
Loading...
Searching...
No Matches
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
19namespace panzer {
20
32template<typename EvalT, typename Traits>
34 :
35 public panzer::EvaluatorWithBaseImpl<Traits>,
36 public PHX::EvaluatorDerived<EvalT, Traits>
37{
38 public:
39
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
56 PHX::MDField<ScalarT> vec_a_dot_vec_b;
57 PHX::MDField<const ScalarT> vec_a, vec_b;
58 PHX::MDField<const ScalarT> multiplier_field;
59
62
65}; // end of class DotProduct
66
67
80template <typename EvalT,typename TraitsT>
81Teuchos::RCP<DotProduct<EvalT,TraitsT> > buildEvaluator_DotProduct(const std::string & resultName,
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
double multiplier
The scalar multiplier out in front of the integral ( ).
Evaluates dot product at a set of points.
PHX::MDField< ScalarT > vec_a_dot_vec_b
PHX::MDField< const ScalarT > vec_a
PHX::MDField< const ScalarT > multiplier_field
PHX::MDField< const ScalarT > vec_b
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
void evaluateFields(typename Traits::EvalData d)
typename EvalT::ScalarT ScalarT
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
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.