kOmegaFieldInversionOmega.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2 
3  DAFoam : Discrete Adjoint with OpenFOAM
4  Version : v3
5 
6  Description:
7  kOmegaSST turbulence model with a multiplicative betaFieldInversion
8  field.
9 
10 \*---------------------------------------------------------------------------*/
11 
12 #ifndef kOmegaFieldInversionOmega_H
13 #define kOmegaFieldInversionOmega_H
14 
15 #include "RASModel.H"
16 #include "eddyViscosity.H"
17 
18 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
19 
20 namespace Foam
21 {
22 namespace RASModels
23 {
24 
25 /*---------------------------------------------------------------------------*\
26  Class kOmegaFieldInversionOmega Declaration
27 \*---------------------------------------------------------------------------*/
28 
29 template<class BasicTurbulenceModel>
31  : public eddyViscosity<RASModel<BasicTurbulenceModel>>
32 {
33  // Private Member Functions
34 
35  // Disallow default bitwise copy construct and assignment
37  void operator=(const kOmegaFieldInversionOmega&);
38 
39 protected:
40  // Protected data
41 
42  // Fields
43 
45  volScalarField omega_;
46 
47  volScalarField k_;
48 
50  volScalarField betaFieldInversion_;
51 
53  volScalarField surfaceFriction_;
54 
56  volScalarField surfaceFrictionData_;
57 
59  volScalarField pData_;
60 
62  volVectorField UData_;
63 
65  volScalarField USingleComponentData_;
66 
67 
68  //- Wall distance
69  // Note: different to wall distance in parent RASModel
70  // which is for near-wall cells only
71  const volScalarField& y_;
72 
73  virtual void correctNut();
74 
75 public:
76  typedef typename BasicTurbulenceModel::alphaField alphaField;
77  typedef typename BasicTurbulenceModel::rhoField rhoField;
78  typedef typename BasicTurbulenceModel::transportModel transportModel;
79 
80  //- Runtime type information
81  TypeName("kOmegaFieldInversionOmega");
82 
83  // Constructors
84 
85  //- Construct from components
87  const alphaField& alpha,
88  const rhoField& rho,
89  const volVectorField& U,
90  const surfaceScalarField& alphaRhoPhi,
91  const surfaceScalarField& phi,
92  const transportModel& transport,
93  const word& propertiesName = turbulenceModel::propertiesName,
94  const word& type = typeName);
95 
96  //- Destructor
98  {
99  }
100 
101  // Member Functions
102 
103  //- Re-read model coefficients if they have changed
104  virtual bool read();
105 
106  //- Return the turbulence kinetic energy
107  virtual tmp<volScalarField> k() const;
108 
109  //- Return the turbulence kinetic energy dissipation rate
110  virtual tmp<volScalarField> epsilon() const;
111 
112  //- Solve the turbulence equations and correct the turbulence viscosity
113  virtual void correct();
114 };
115 
116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117 
118 } // End namespace RASModels
119 } // End namespace Foam
120 
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 
123 #ifdef NoRepository
125 #endif
126 
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128 
129 #endif
130 
131 // ************************************************************************* //
Foam::RASModels::kOmegaFieldInversionOmega::read
virtual bool read()
Definition: kOmegaFieldInversionOmega.C:130
U
U
Definition: pEqnPimpleDyM.H:60
kOmegaFieldInversionOmega.C
Foam::RASModels::kOmegaFieldInversionOmega::epsilon
virtual tmp< volScalarField > epsilon() const
Definition: kOmegaFieldInversionOmega.C:143
Foam::RASModels::kOmegaFieldInversionOmega
Definition: kOmegaFieldInversionOmega.H:30
Foam::RASModels::kOmegaFieldInversionOmega::betaFieldInversion_
volScalarField betaFieldInversion_
A beta field multiplying to the production term.
Definition: kOmegaFieldInversionOmega.H:50
Foam::RASModels::kOmegaFieldInversionOmega::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: kOmegaFieldInversionOmega.H:76
Foam::RASModels::kOmegaFieldInversionOmega::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: kOmegaFieldInversionOmega.H:77
phi
surfaceScalarField & phi
Definition: createRefsPimple.H:8
Foam::RASModels::kOmegaFieldInversionOmega::omega_
volScalarField omega_
turbulence variables for k-omega
Definition: kOmegaFieldInversionOmega.H:45
Foam::RASModels::kOmegaFieldInversionOmega::surfaceFrictionData_
volScalarField surfaceFrictionData_
the reference field for surfaceFriction
Definition: kOmegaFieldInversionOmega.H:56
Foam::RASModels::kOmegaFieldInversionOmega::k_
volScalarField k_
Definition: kOmegaFieldInversionOmega.H:47
Foam::RASModels::kOmegaFieldInversionOmega::y_
const volScalarField & y_
Definition: kOmegaFieldInversionOmega.H:71
Foam::RASModels::kOmegaFieldInversionOmega::UData_
volVectorField UData_
reference field (e.g. velocity for DNS)
Definition: kOmegaFieldInversionOmega.H:62
Foam
Definition: multiFreqScalarFvPatchField.C:144
Foam::RASModels::kOmegaFieldInversionOmega::~kOmegaFieldInversionOmega
virtual ~kOmegaFieldInversionOmega()
Definition: kOmegaFieldInversionOmega.H:97
Foam::RASModels::kOmegaFieldInversionOmega::k
virtual tmp< volScalarField > k() const
Definition: kOmegaFieldInversionOmega.C:137
Foam::RASModels::kOmegaFieldInversionOmega::TypeName
TypeName("kOmegaFieldInversionOmega")
Foam::RASModels::kOmegaFieldInversionOmega::USingleComponentData_
volScalarField USingleComponentData_
the reference pressure field data
Definition: kOmegaFieldInversionOmega.H:65
Foam::RASModels::kOmegaFieldInversionOmega::correct
virtual void correct()
Definition: kOmegaFieldInversionOmega.C:149
Foam::RASModels::kOmegaFieldInversionOmega::surfaceFriction_
volScalarField surfaceFriction_
a surface friction 'field' when using skin friction data for field inversion
Definition: kOmegaFieldInversionOmega.H:53
Foam::RASModels::kOmegaFieldInversionOmega::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: kOmegaFieldInversionOmega.H:78
Foam::RASModels::kOmegaFieldInversionOmega::correctNut
virtual void correctNut()
Definition: kOmegaFieldInversionOmega.C:23
Foam::RASModels::kOmegaFieldInversionOmega::pData_
volScalarField pData_
the reference field for surfacePressure
Definition: kOmegaFieldInversionOmega.H:59
rho
volScalarField & rho
Definition: createRefsRhoSimpleC.H:8