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
WindEnergyAuxFunction.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 #ifndef WindEnergyAuxFunction_h
9 #define WindEnergyAuxFunction_h
10 
11 #include <AuxFunction.h>
12 
13 #include <string>
14 #include <vector>
15 
16 namespace sierra{
17 namespace nalu{
18 
19 class Realm;
20 class TanhFunction;
21 
23 {
24 public:
25 
27  const unsigned beginPos,
28  const unsigned endPos,
29  std::vector<std::string> theStringParams,
30  Realm &realm);
31 
32  virtual ~WindEnergyAuxFunction();
33 
34  virtual void do_evaluate(
35  const double * coords,
36  const double time,
37  const unsigned spatialDimension,
38  const unsigned numPoints,
39  double * fieldPtr,
40  const unsigned fieldSize,
41  const unsigned beginPos,
42  const unsigned endPos) const;
43 
44  void setup(const double time);
45  void cross_product(double *c, double *u) const;
46 
47 private:
48  double omegaBlend_;
50  std::vector<double> omegaMM_;
51  std::vector<double> centroidMM_;
52 };
53 
54 } // namespace nalu
55 } // namespace Sierra
56 
57 #endif
virtual void do_evaluate(const double *coords, const double time, const unsigned spatialDimension, const unsigned numPoints, double *fieldPtr, const unsigned fieldSize, const unsigned beginPos, const unsigned endPos) const
Definition: WindEnergyAuxFunction.C:82
Definition: ABLForcingAlgorithm.C:26
void setup(const double time)
Definition: WindEnergyAuxFunction.C:74
TanhFunction * tanhFunction_
Definition: WindEnergyAuxFunction.h:49
double omegaBlend_
Definition: WindEnergyAuxFunction.h:48
Definition: PecletFunction.h:35
std::vector< double > centroidMM_
Definition: WindEnergyAuxFunction.h:51
std::vector< double > omegaMM_
Definition: WindEnergyAuxFunction.h:50
WindEnergyAuxFunction(const unsigned beginPos, const unsigned endPos, std::vector< std::string > theStringParams, Realm &realm)
Definition: WindEnergyAuxFunction.C:24
virtual ~WindEnergyAuxFunction()
Definition: WindEnergyAuxFunction.C:67
Definition: WindEnergyAuxFunction.h:22
Definition: Realm.h:82
void cross_product(double *c, double *u) const
Definition: WindEnergyAuxFunction.C:111
Definition: AuxFunction.h:15