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
IdealGasPropertyEvaluator.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 IdealGasPropertyEvaluator_h
10 #define IdealGasPropertyEvaluator_h
11 
13 #include<FieldTypeDef.h>
14 
15 #include <vector>
16 
17 namespace stk { namespace mesh { struct Entity; } }
18 
19 namespace stk {
20 namespace mesh {
21 class MetaData;
22 }
23 }
24 
25 namespace sierra{
26 namespace nalu{
27 
29 {
30 public:
31 
33  double pRef,
34  double universalR,
35  std::vector<std::pair<double, double> > mwMassFracVec);
36  virtual ~IdealGasTPropertyEvaluator();
37 
38  double execute(
39  double *indVarList,
40  stk::mesh::Entity node);
41 
42  const double pRef_;
43  const double R_;
44  double mw_;
45 
46 };
47 
49 {
50 public:
51 
53  double pRef,
54  double universalR,
55  std::vector<double>mwVec,
56  stk::mesh::MetaData &metaData);
58 
59  double execute(
60  double *indVarList,
61  stk::mesh::Entity node);
62 
63  double compute_mw(
64  const double *yk);
65 
66  // reference quantities
67  const double pRef_;
68  const double R_;
69 
70  // field definition and extraction,
72 
73  // reference mw vector; size and declaration
74  size_t mwVecSize_;
75  std::vector<double> mwVec_;
76 
77 };
78 
80 {
81 public:
82 
84  double universalR,
85  std::vector<std::pair<double, double> > mwMassFracVec,
86  stk::mesh::MetaData &metaData);
87  virtual ~IdealGasTPPropertyEvaluator();
88 
89  double execute(
90  double *indVarList,
91  stk::mesh::Entity node);
92 
93  // reference quantities
94  const double R_;
95 
96  // molecular weight computed at construction time
97  double mw_;
98 
99  // field definition and extraction,
101 
102 };
103 
105 {
106 public:
107 
109  double pRef,
110  double tRef,
111  double universalR,
112  std::vector<double>mwVec,
113  stk::mesh::MetaData &metaData);
114  virtual ~IdealGasYkPropertyEvaluator();
115 
116  double execute(
117  double *indVarList,
118  stk::mesh::Entity node);
119 
120  double compute_mw(
121  const double *yk);
122 
123  // reference quantities
124  const double pRef_;
125  const double tRef_;
126  const double R_;
127 
128  // field definition and extraction,
130 
131  // reference mw vector; size and declaration
132  size_t mwVecSize_;
133  std::vector<double> mwVec_;
134 
135 };
136 
137 } // namespace nalu
138 } // namespace Sierra
139 
140 #endif
const double R_
Definition: IdealGasPropertyEvaluator.h:94
Definition: ABLForcingAlgorithm.C:26
const double pRef_
Definition: IdealGasPropertyEvaluator.h:42
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: FieldTypeDef.h:27
Definition: IdealGasPropertyEvaluator.h:79
std::vector< double > mwVec_
Definition: IdealGasPropertyEvaluator.h:75
Definition: Algorithm.h:14
const double pRef_
Definition: IdealGasPropertyEvaluator.h:124
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
const double R_
Definition: IdealGasPropertyEvaluator.h:126
Definition: IdealGasPropertyEvaluator.h:48
ScalarFieldType * pressure_
Definition: IdealGasPropertyEvaluator.h:100
double mw_
Definition: IdealGasPropertyEvaluator.h:44
const double pRef_
Definition: IdealGasPropertyEvaluator.h:67
const double R_
Definition: IdealGasPropertyEvaluator.h:43
Definition: IdealGasPropertyEvaluator.h:28
const double tRef_
Definition: IdealGasPropertyEvaluator.h:125
GenericFieldType * massFraction_
Definition: IdealGasPropertyEvaluator.h:71
std::vector< double > mwVec_
Definition: IdealGasPropertyEvaluator.h:133
size_t mwVecSize_
Definition: IdealGasPropertyEvaluator.h:132
const double R_
Definition: IdealGasPropertyEvaluator.h:68
Definition: PropertyEvaluator.h:19
Definition: IdealGasPropertyEvaluator.h:104
double mw_
Definition: IdealGasPropertyEvaluator.h:97
size_t mwVecSize_
Definition: IdealGasPropertyEvaluator.h:74
GenericFieldType * massFraction_
Definition: IdealGasPropertyEvaluator.h:129