Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_Integrator_TransientBasisTimesScalar_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_TRANSIENT_BASISTIMESSCALAR_DECL_HPP
12#define PANZER_EVALUATOR_TRANSIENT_BASISTIMESSCALAR_DECL_HPP
13
14#include <string>
15#include "Panzer_Dimension.hpp"
16#include "Phalanx_Evaluator_Macros.hpp"
17#include "Phalanx_MDField.hpp"
18#include "Kokkos_DynRankView.hpp"
19
21
22namespace panzer {
23
24template<typename EvalT, typename Traits>
26 :
27 public panzer::EvaluatorWithBaseImpl<Traits>,
28 public PHX::EvaluatorDerived<EvalT, Traits>
29{
30 public:
31
33 const Teuchos::ParameterList& p);
34
35 void
37 typename Traits::SetupData d,
39
40 void
42 typename Traits::EvalData d);
43
44 private:
45
46 using ScalarT = typename EvalT::ScalarT;
47
48 PHX::MDField<ScalarT,Cell,BASIS> residual;
49
50 PHX::MDField<const ScalarT,Cell,IP> scalar;
51
52 std::vector<PHX::MDField<const ScalarT,Cell,IP> > field_multipliers;
53
54 std::size_t num_nodes;
55
56 std::size_t num_qp;
57
58 double multiplier;
59
60 std::string basis_name;
61 std::size_t basis_index;
62
63 Kokkos::DynRankView<ScalarT,typename PHX::DevLayout<ScalarT>::type,PHX::Device> tmp;
64
65private:
66 Teuchos::RCP<Teuchos::ParameterList> getValidParameters() const;
67
68}; // end of class Integrator_TransientBasisTimesScalar
69
70
71}
72
73#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
std::vector< PHX::MDField< const ScalarT, Cell, IP > > field_multipliers
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
Kokkos::DynRankView< ScalarT, typename PHX::DevLayout< ScalarT >::type, PHX::Device > tmp