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
ComputeWallFrictionVelocityAlgorithm.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 ComputeWallFrictionVelocityAlgorithm_h
10 #define ComputeWallFrictionVelocityAlgorithm_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::Part *part,
30  const bool &useShifted);
32 
33  void execute();
34 
35  void zero_nodal_fields();
36 
37  void compute_utau(
38  const double &up, const double &yp,
39  const double &density, const double &viscosity,
40  double &utau);
41 
43 
44  const bool useShifted_;
45  const double yplusCrit_;
46  const double elog_;
47  const double kappa_;
48  const int maxIteration_;
49  const double tolerance_;
50 
61 };
62 
63 } // namespace nalu
64 } // namespace Sierra
65 
66 #endif
const double kappa_
Definition: ComputeWallFrictionVelocityAlgorithm.h:47
Definition: ABLForcingAlgorithm.C:26
GenericFieldType * exposedAreaVec_
Definition: ComputeWallFrictionVelocityAlgorithm.h:56
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: FieldTypeDef.h:27
void zero_nodal_fields()
Definition: ComputeWallFrictionVelocityAlgorithm.C:307
ScalarFieldType * viscosity_
Definition: ComputeWallFrictionVelocityAlgorithm.h:55
virtual ~ComputeWallFrictionVelocityAlgorithm()
Definition: ComputeWallFrictionVelocityAlgorithm.C:70
VectorFieldType * velocity_
Definition: ComputeWallFrictionVelocityAlgorithm.h:51
const bool useShifted_
Definition: ComputeWallFrictionVelocityAlgorithm.h:44
const double tolerance_
Definition: ComputeWallFrictionVelocityAlgorithm.h:49
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: FieldTypeDef.h:24
GenericFieldType * wallFrictionVelocityBip_
Definition: ComputeWallFrictionVelocityAlgorithm.h:57
GenericFieldType * wallNormalDistanceBip_
Definition: ComputeWallFrictionVelocityAlgorithm.h:58
Definition: ComputeWallFrictionVelocityAlgorithm.h:23
ScalarFieldType * assembledWallArea_
Definition: ComputeWallFrictionVelocityAlgorithm.h:60
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
const double elog_
Definition: ComputeWallFrictionVelocityAlgorithm.h:46
ScalarFieldType * assembledWallNormalDistance_
Definition: ComputeWallFrictionVelocityAlgorithm.h:59
ScalarFieldType * density_
Definition: ComputeWallFrictionVelocityAlgorithm.h:54
Definition: Algorithm.h:28
ComputeWallFrictionVelocityAlgorithm(Realm &realm, stk::mesh::Part *part, const bool &useShifted)
Definition: ComputeWallFrictionVelocityAlgorithm.C:41
const double yplusCrit_
Definition: ComputeWallFrictionVelocityAlgorithm.h:45
Definition: Realm.h:82
void normalize_nodal_fields()
Definition: ComputeWallFrictionVelocityAlgorithm.C:377
VectorFieldType * coordinates_
Definition: ComputeWallFrictionVelocityAlgorithm.h:53
VectorFieldType * bcVelocity_
Definition: ComputeWallFrictionVelocityAlgorithm.h:52
void execute()
Definition: ComputeWallFrictionVelocityAlgorithm.C:79
const int maxIteration_
Definition: ComputeWallFrictionVelocityAlgorithm.h:48
void compute_utau(const double &up, const double &yp, const double &density, const double &viscosity, double &utau)
Definition: ComputeWallFrictionVelocityAlgorithm.C:335