Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_BasisValues_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_BASIS_VALUES_EVALUATOR_DECL_HPP
12#define PANZER_BASIS_VALUES_EVALUATOR_DECL_HPP
13
14#include <string>
15#include "Phalanx_Evaluator_Macros.hpp"
16#include "Phalanx_MDField.hpp"
17#include "PanzerDiscFE_config.hpp"
21
22namespace panzer {
23
25template<typename EvalT, typename Traits>
27 :
28 public panzer::EvaluatorWithBaseImpl<Traits>,
29 public PHX::EvaluatorDerived<EvalT, Traits>
30{
31 public:
32
34 const Teuchos::ParameterList& p);
35
36 void
38 typename Traits::SetupData d,
40
41 void
43 typename Traits::EvalData d);
44
45 private:
46
47 using ScalarT = typename EvalT::ScalarT;
48
49 Teuchos::RCP<const panzer::PureBasis> basis;
50
51 // is anything other than ScalarT really needed here?
52 Teuchos::RCP<BasisValues2<double> > basisValues;
55
56 Teuchos::RCP<const std::vector<Intrepid2::Orientation> > orientations;
57
59
61 void initialize(const Teuchos::RCP<const panzer::PointRule> & pointRule,
62 const Teuchos::RCP<const panzer::PureBasis> & basis,
63 bool derivativesRequired);
64
65public:
66 BasisValues_Evaluator(const Teuchos::RCP<const panzer::PointRule> & pointRule,
67 const Teuchos::RCP<const panzer::PureBasis> & basis);
68
69 BasisValues_Evaluator(const Teuchos::RCP<const panzer::PointRule> & pointRule,
70 const Teuchos::RCP<const panzer::PureBasis> & basis,
71 bool derivativesRequired);
72
73}; // end of class BasisValues_Evaluator
74
75
76}
77
78#endif
Interpolates basis DOF values to IP DOF values.
void evaluateFields(typename Traits::EvalData d)
Teuchos::RCP< BasisValues2< double > > basisValues
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
void initialize(const Teuchos::RCP< const panzer::PointRule > &pointRule, const Teuchos::RCP< const panzer::PureBasis > &basis, bool derivativesRequired)
Initialization method to unify the constructors.
Teuchos::RCP< const std::vector< Intrepid2::Orientation > > orientations
Teuchos::RCP< const panzer::PureBasis > basis
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.