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
30template<typename EvalT, typename Traits>
32 :
33 public panzer::EvaluatorWithBaseImpl<Traits>,
34 public PHX::EvaluatorDerived<EvalT, Traits>
35{
36 public:
37
40 const Teuchos::ParameterList& p);
41
43 void
45 typename Traits::SetupData d,
47
49 void
51 typename Traits::EvalData d);
52
53 private:
54
55 using ScalarT = typename EvalT::ScalarT;
56
57 PHX::MDField<ScalarT,Cell,BASIS> residual;
58
59 PHX::MDField<const ScalarT,Cell,IP> scalar;
60
61 std::vector<PHX::MDField<const ScalarT,Cell,IP> > field_multipliers;
62
63 std::size_t num_nodes;
64
65 std::size_t num_qp;
66
67 double multiplier;
68
69 std::string basis_name;
70 std::size_t basis_index;
71
72 Kokkos::DynRankView<ScalarT,typename PHX::DevLayout<ScalarT>::type,PHX::Device> tmp;
73
74private:
76 Teuchos::RCP<Teuchos::ParameterList> getValidParameters() const;
77
78}; // end of class Integrator_TransientBasisTimesScalar
79
80
81}
82
83#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)
Looks up the basis index needed by evaluateFields(). Called once before the first evaluation.
Kokkos::DynRankView< ScalarT, typename PHX::DevLayout< ScalarT >::type, PHX::Device > tmp
Teuchos::RCP< Teuchos::ParameterList > getValidParameters() const
Returns the ParameterList of valid parameters/defaults for this evaluator's constructor.
void evaluateFields(typename Traits::EvalData d)
Computes the residual field for this workset per the class description, when the workset indicates tr...
User-defined data passed to PHX::Evaluator::postRegistrationSetup() during the one-time setup phase.