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
SurfaceForceAndMomentAlgorithm.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 SurfaceForceAndMomentAlgorithm_h
10 #define SurfaceForceAndMomentAlgorithm_h
11 
12 #include<Algorithm.h>
13 #include<FieldTypeDef.h>
14 
15 // stk
16 #include <stk_mesh/base/Part.hpp>
17 
18 namespace sierra{
19 namespace nalu{
20 
21 class Realm;
22 
24 {
25 public:
26 
28  Realm &realm,
29  stk::mesh::PartVector &partVec,
30  const std::string &outputFileName,
31  const int &frequency_,
32  const std::vector<double > &parameters,
33  const bool &useShifted);
35 
36  void execute();
37 
38  void pre_work();
39 
40  void cross_product(
41  double *force, double *cross, double *rad);
42 
43  const std::string &outputFileName_;
44  const int &frequency_;
45  const std::vector<double > &parameters_;
46  const bool useShifted_;
47  const double includeDivU_;
48 
59 
60  const int w_;
61 
62 };
63 
64 } // namespace nalu
65 } // namespace Sierra
66 
67 #endif
std::vector< Part * > PartVector
Definition: Algorithm.h:16
const bool useShifted_
Definition: SurfaceForceAndMomentAlgorithm.h:46
Definition: ABLForcingAlgorithm.C:26
SurfaceForceAndMomentAlgorithm(Realm &realm, stk::mesh::PartVector &partVec, const std::string &outputFileName, const int &frequency_, const std::vector< double > &parameters, const bool &useShifted)
Definition: SurfaceForceAndMomentAlgorithm.C:47
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: FieldTypeDef.h:27
const std::vector< double > & parameters_
Definition: SurfaceForceAndMomentAlgorithm.h:45
ScalarFieldType * yplus_
Definition: SurfaceForceAndMomentAlgorithm.h:53
ScalarFieldType * pressure_
Definition: SurfaceForceAndMomentAlgorithm.h:50
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: FieldTypeDef.h:24
Definition: SurfaceForceAndMomentAlgorithm.h:23
const double includeDivU_
Definition: SurfaceForceAndMomentAlgorithm.h:47
ScalarFieldType * tauWall_
Definition: SurfaceForceAndMomentAlgorithm.h:52
void pre_work()
Definition: SurfaceForceAndMomentAlgorithm.C:410
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
void cross_product(double *force, double *cross, double *rad)
Definition: SurfaceForceAndMomentAlgorithm.C:480
const int w_
Definition: SurfaceForceAndMomentAlgorithm.h:60
~SurfaceForceAndMomentAlgorithm()
Definition: SurfaceForceAndMomentAlgorithm.C:109
VectorFieldType * coordinates_
Definition: SurfaceForceAndMomentAlgorithm.h:49
Definition: Algorithm.h:28
ScalarFieldType * viscosity_
Definition: SurfaceForceAndMomentAlgorithm.h:55
void execute()
Definition: SurfaceForceAndMomentAlgorithm.C:118
GenericFieldType * dudx_
Definition: SurfaceForceAndMomentAlgorithm.h:56
ScalarFieldType * density_
Definition: SurfaceForceAndMomentAlgorithm.h:54
const int & frequency_
Definition: SurfaceForceAndMomentAlgorithm.h:44
Definition: Realm.h:82
GenericFieldType * exposedAreaVec_
Definition: SurfaceForceAndMomentAlgorithm.h:57
ScalarFieldType * assembledArea_
Definition: SurfaceForceAndMomentAlgorithm.h:58
VectorFieldType * pressureForce_
Definition: SurfaceForceAndMomentAlgorithm.h:51
const std::string & outputFileName_
Definition: SurfaceForceAndMomentAlgorithm.h:43