Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_STK_ScatterCellQuantity_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_ScatterCellQuantity_decl_HPP__
12#define __PANZER_STK_ScatterCellQuantity_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
40template<typename EvalT, typename Traits>
42 :
43 public panzer::EvaluatorWithBaseImpl<Traits>,
44 public PHX::EvaluatorDerived<EvalT, Traits>
45{
46 public:
47
50 const Teuchos::ParameterList& p);
51
53 void
55 typename Traits::SetupData d,
57
59 void
61 typename Traits::EvalData d);
62
63 private:
64
65 using ScalarT = typename EvalT::ScalarT;
66 std::vector< PHX::MDField<const ScalarT,panzer::Cell> > scatterFields_;
67 Teuchos::RCP<STK_Interface> mesh_;
68
69 // map of variable-name to scale-factors to be applied upon output. if
70 // this is empty then no variable scaling will be performed. this
71 // should be passed in as an object via the teuchos parameter list in
72 // the ctor with the parameter name "Variable Scale Factors Map".
73 Teuchos::RCP<std::map<std::string,double>> varScaleFactors_;
74
75}; // end of class ScatterCellQuantity
76
77
78}
79
80// **************************************************************
81#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
std::vector< PHX::MDField< const ScalarT, panzer::Cell > > scatterFields_
void evaluateFields(typename Traits::EvalData d)
Writes this workset's (optionally scaled) cell field values to the STK mesh per the class description...
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
Looks up the STK field pointers needed by evaluateFields(). Called once before the first evaluation.
Teuchos::RCP< std::map< std::string, double > > varScaleFactors_