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
SpecificHeatPropertyEvaluator.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 SpecificHeatPropertyEvaluator_h
10 #define SpecificHeatPropertyEvaluator_h
11 
13 #include <FieldTypeDef.h>
14 
15 #include <string>
16 #include <map>
17 #include <vector>
18 
19 namespace stk {
20 namespace mesh {
21 struct Entity;
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> > &lowPolynomialCoeffsMap,
38  const std::map<std::string, std::vector<double> > &highPolynomialCoeffsMap,
39  double universalR);
41 
42  double execute(
43  double *indVarList,
44  stk::mesh::Entity node);
45 
46  double compute_cp_r(
47  const double &T,
48  const double *pt_poly);
49 
50  std::vector<double> refMassFraction_;
51 
52 };
53 
55 {
56 public:
57 
59  const std::map<std::string, ReferencePropertyData*> &referencePropertyDataMap,
60  const std::map<std::string, std::vector<double> > &lowPolynomialCoeffsMap,
61  const std::map<std::string, std::vector<double> > &highPolynomialCoeffsMap,
62  double universalR,
63  stk::mesh::MetaData &metaData);
64 
66 
67  double execute(
68  double *indVarList,
69  stk::mesh::Entity node);
70 
71  double compute_cp_r(
72  const double &T,
73  const double *pt_poly);
74 
75  // field definition and extraction
77 
78 };
79 
81 {
82 public:
83 
85  const std::map<std::string, double> &cpConstMap,
86  stk::mesh::MetaData &metaData);
87 
89 
90  double execute(
91  double *indVarList,
92  stk::mesh::Entity node);
93 
94  // field definition and extraction
95  const size_t cpVecSize_;
97  std::vector<double> cpVec_;
98 };
99 
100 } // namespace nalu
101 } // namespace Sierra
102 
103 #endif
Definition: ABLForcingAlgorithm.C:26
std::vector< double > refMassFraction_
Definition: SpecificHeatPropertyEvaluator.h:50
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: FieldTypeDef.h:27
GenericFieldType * massFraction_
Definition: SpecificHeatPropertyEvaluator.h:96
Definition: Algorithm.h:14
Definition: SpecificHeatPropertyEvaluator.h:80
Definition: SpecificHeatPropertyEvaluator.h:54
const size_t cpVecSize_
Definition: SpecificHeatPropertyEvaluator.h:95
GenericFieldType * massFraction_
Definition: SpecificHeatPropertyEvaluator.h:76
Definition: PolynomialPropertyEvaluator.h:30
Definition: SpecificHeatPropertyEvaluator.h:31
std::vector< double > cpVec_
Definition: SpecificHeatPropertyEvaluator.h:97
Definition: PropertyEvaluator.h:19