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
HDF5TablePropAlgorithm.h
Go to the documentation of this file.
1 #ifndef HDF5TABLEPROPALGORITHM_H
2 #define HDF5TABLEPROPALGORITHM_H
3 
4 #include <Algorithm.h>
5 
6 #include <vector>
7 #include <set>
8 #include <string>
9 #include <map>
10 
12 
13 namespace stk {
14 namespace mesh {
15 class FieldBase;
16 class Part;
17 class MetaData;
18 }
19 }
20 
21 namespace sierra {
22 namespace nalu {
23 
24 // Forward declarations
25 class Realm;
26 class H5IO;
27 
41 {
42 
43 public:
44 
49  Realm & realm,
50  stk::mesh::Part * part,
51  H5IO *fileIO,
52  stk::mesh::FieldBase * prop,
53  std::string tablePropName,
54  std::vector<std::string> &indVarNameVec,
55  std::vector<std::string> &indVarTableNameVec,
56  const stk::mesh::MetaData &meta_data);
57 
58  virtual ~HDF5TablePropAlgorithm();
59 
60  stk::mesh::FieldBase *prop_;
61  std::string tablePropName_;
62  std::vector<std::string> indVarTableNameVec_;
63  const size_t indVarSize_;
64 
65  std::vector<stk::mesh::FieldBase *> indVar_;
66  std::vector<double *> workIndVar_;
67  std::vector<double> workZ_;
68 
70  virtual void execute();
71 
73  const std::string & name() const { return tablePropName_; }
74 
77  const std::vector<std::string> & input_names() const { return inputNames_; }
78 
79  private:
80 
81  // Add the current values to the clipping event log
82  void log_clip_event( const std::vector<double> & values ) const;
83 
84  //HDF5 file pointer
86 
87  //HDF5 table holding for tablePropName_
89 
90  // Names of the inputs required by the query() function
91  std::vector<std::string> inputNames_;
92 
93 };
94 
95 //typedef SharedPtr<const HDF5TablePropAlgorithm> ConstHDF5TablePropAlgorithmPtr;
96 
97 } // end nalu namespace
98 } // end sierra namespace
99 
100 #endif
Definition: ABLForcingAlgorithm.C:26
Simple wrapper around the HDF5 library to make usage easier.
Definition: H5IO.h:57
stk::mesh::FieldBase * prop_
Definition: HDF5TablePropAlgorithm.h:60
std::vector< std::string > inputNames_
Definition: HDF5TablePropAlgorithm.h:91
const std::string & name() const
Get the name of the variable returned by a query to this HDF5TablePropAlgorithm.
Definition: HDF5TablePropAlgorithm.h:73
Definition: Algorithm.h:14
const std::vector< std::string > & input_names() const
Get the list of input variables required by calls to query(), in the order that they are to be provid...
Definition: HDF5TablePropAlgorithm.h:77
std::vector< std::string > indVarTableNameVec_
Definition: HDF5TablePropAlgorithm.h:62
const size_t indVarSize_
Definition: HDF5TablePropAlgorithm.h:63
HDF5Table * table_
Definition: HDF5TablePropAlgorithm.h:88
H5IO * fileIO_
Definition: HDF5TablePropAlgorithm.h:85
Object to manage property evaluation as a function of a set of input chemical state variables...
Definition: HDF5TablePropAlgorithm.h:40
std::vector< double * > workIndVar_
Definition: HDF5TablePropAlgorithm.h:66
Object to manage property evaluation as a function of a set of input chemical state variables...
Definition: HDF5Table.h:49
Definition: Algorithm.h:28
std::string tablePropName_
Definition: HDF5TablePropAlgorithm.h:61
Definition: Realm.h:82
std::vector< double > workZ_
Definition: HDF5TablePropAlgorithm.h:67
std::vector< stk::mesh::FieldBase * > indVar_
Definition: HDF5TablePropAlgorithm.h:65