Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
SutherlandsPropertyEvaluator.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 Sandia Corporation. */
3 /* This software is released under the license detailed */
4 /* in the file, LICENSE, which is located in the top-level Nalu */
5 /* directory structure */
6 /*------------------------------------------------------------------------*/
7 
8 
9 #ifndef SutherlandsPropertyEvaluator_h
10 #define SutherlandsPropertyEvaluator_h
11 
13 #include <FieldTypeDef.h>
14 
15 #include <vector>
16 #include <map>
17 
18 namespace stk { namespace mesh { struct Entity; } }
19 
20 namespace stk {
21 namespace mesh {
22  class MetaData;
23 }
24 }
25 
26 namespace sierra{
27 namespace nalu{
28 
29 class ReferencePropertyData;
30 
32 {
33 public:
34 
36  const std::map<std::string, ReferencePropertyData*> &referencePropertyDataMap,
37  const std::map<std::string, std::vector<double> > &polynomialCoeffsMap);
39 
40  double execute(
41  double *indVarList,
42  stk::mesh::Entity node);
43 
44  double compute_viscosity(
45  const double &T,
46  const double *pt_poly);
47 
48  std::vector<double> refMassFraction_;
49  std::vector<std::vector<double> > polynomialCoeffs_;
50 
51 };
52 
54 {
55 public:
56 
58  const std::map<std::string, std::vector<double> > &polynomialCoeffsMap,
59  stk::mesh::MetaData &metaData);
60 
62 
63  virtual double execute(
64  double *indVarList,
65  stk::mesh::Entity node);
66 
67  virtual double compute_viscosity(
68  const double &T,
69  const double *pt_poly);
70 
71  // field definition and extraction
73  size_t ykVecSize_;
74 
75  // polynomial coeffs
76  std::vector<std::vector<double> > polynomialCoeffs_;
77 
78 };
79 
81 {
82 public:
83 
85  const std::map<std::string, std::vector<double> > &polynomialCoeffsMap,
86  stk::mesh::MetaData &metaData,
87  const double tRef);
88 
90 
91  double execute(
92  double *indVarList,
93  stk::mesh::Entity node);
94 
95  const double tRef_;
96 };
97 
98 } // namespace nalu
99 } // namespace Sierra
100 
101 #endif
const double tRef_
Definition: SutherlandsPropertyEvaluator.h:95
Definition: SutherlandsPropertyEvaluator.h:31
Definition: ABLForcingAlgorithm.C:26
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: FieldTypeDef.h:27
Definition: SutherlandsPropertyEvaluator.h:53
Definition: Algorithm.h:14
Definition: SutherlandsPropertyEvaluator.h:80
std::vector< double > refMassFraction_
Definition: SutherlandsPropertyEvaluator.h:48
std::vector< std::vector< double > > polynomialCoeffs_
Definition: SutherlandsPropertyEvaluator.h:49
Definition: PropertyEvaluator.h:19
GenericFieldType * massFraction_
Definition: SutherlandsPropertyEvaluator.h:72
std::vector< std::vector< double > > polynomialCoeffs_
Definition: SutherlandsPropertyEvaluator.h:76
size_t ykVecSize_
Definition: SutherlandsPropertyEvaluator.h:73