Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_STK_ScatterCellAvgQuantity_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_STK_ScatterCellAvgQuantity_decl_HPP__
12#define __PANZER_STK_ScatterCellAvgQuantity_decl_HPP__
13
14#include "Phalanx_config.hpp"
15#include "Phalanx_Evaluator_Macros.hpp"
16#include "Phalanx_MDField.hpp"
17
18#include "Teuchos_ParameterList.hpp"
19
20#include "Panzer_Dimension.hpp"
21#include "Panzer_Traits.hpp"
22
24
26
27namespace panzer_stk {
28
41template<typename EvalT, typename Traits>
43 :
44 public panzer::EvaluatorWithBaseImpl<Traits>,
45 public PHX::EvaluatorDerived<EvalT, Traits>
46{
47 public:
48
50 const Teuchos::ParameterList& p);
51
52 void
54 typename Traits::SetupData d,
56
57 void
59 typename Traits::EvalData d);
60
61 private:
62
63 using ScalarT = typename EvalT::ScalarT;
64 typedef panzer_stk::STK_Interface::SolutionFieldType VariableField; // this is weird, but the correct thing
65
66 std::size_t numValues_;
67
68 // map of variable-name to scale-factors to be applied upon output. if
69 // this is empty then no variable scaling will be performed. this
70 // should be passed in as an object via the teuchos parameter list in
71 // the ctor with the parameter name "Variable Scale Factors Map".
72 Teuchos::RCP<std::map<std::string,double>> varScaleFactors_;
73
74 std::vector< PHX::MDField<const ScalarT,panzer::Cell,panzer::Point> > scatterFields_;
75 Teuchos::RCP<STK_Interface> mesh_;
76
77 std::vector<VariableField*> stkFields_;
78
79}; // end of class ScatterCellAvgQuantity
80
81
82}
83
84// **************************************************************
85#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
stk::mesh::Field< double > SolutionFieldType
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
panzer_stk::STK_Interface::SolutionFieldType VariableField
Teuchos::RCP< std::map< std::string, double > > varScaleFactors_
std::vector< PHX::MDField< const ScalarT, panzer::Cell, panzer::Point > > scatterFields_