Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_DOF_PointValues.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_DOF_POINTVALUES_HPP
12#define PANZER_EVALUATOR_DOF_POINTVALUES_HPP
13
14#include <string>
15#include "Phalanx_Evaluator_Macros.hpp"
16#include "Phalanx_MDField.hpp"
17#include "PanzerDiscFE_config.hpp"
20
21namespace panzer {
22
24template<typename EvalT, typename TRAITS>
26 public PHX::EvaluatorDerived<EvalT, TRAITS> {
27public:
28
29 DOF_PointValues(const Teuchos::ParameterList& p);
30
31 void postRegistrationSetup(typename TRAITS::SetupData d,
33
34 void evaluateFields(typename TRAITS::EvalData d);
35
36private:
37
38 typedef typename EvalT::ScalarT ScalarT;
39
40 PHX::MDField<const ScalarT,Cell,Point> dof_basis;
41 PHX::MDField<ScalarT,Cell,Point> dof_ip_scalar;
42 PHX::MDField<ScalarT,Cell,Point,Dim> dof_ip_vector;
43
45
46 Teuchos::RCP<const PureBasis> basis;
47 Teuchos::RCP<BasisValues2<double> > basisValues;
48};
49
53template<typename TRAITS>
54class DOF_PointValues<typename TRAITS::Jacobian,TRAITS> :
55 public panzer::EvaluatorWithBaseImpl<TRAITS>,
56 public PHX::EvaluatorDerived<typename TRAITS::Jacobian, TRAITS> {
57public:
58
59 DOF_PointValues(const Teuchos::ParameterList& p);
60
61 void postRegistrationSetup(typename TRAITS::SetupData d,
63
64 void evaluateFields(typename TRAITS::EvalData d);
65
66private:
67
69
70 PHX::MDField<const ScalarT,Cell,Point> dof_basis;
71 PHX::MDField<ScalarT,Cell,Point> dof_ip_scalar;
72 PHX::MDField<ScalarT,Cell,Point,Dim> dof_ip_vector;
73
75
77 PHX::View<int*> offsets_array;
78
79 Teuchos::RCP<const PureBasis> basis;
80 Teuchos::RCP<BasisValues2<double> > basisValues;
81};
82
83}
84
85#endif
void postRegistrationSetup(typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &fm)
Interpolates basis DOF values to IP DOF Curl values.
Teuchos::RCP< const PureBasis > basis
void postRegistrationSetup(typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &fm)
PHX::MDField< ScalarT, Cell, Point > dof_ip_scalar
PHX::MDField< ScalarT, Cell, Point, Dim > dof_ip_vector
Teuchos::RCP< BasisValues2< double > > basisValues
void evaluateFields(typename TRAITS::EvalData d)
PHX::MDField< const ScalarT, Cell, Point > dof_basis
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.