nonUnityLewisEddyDiffusivity.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::turbulenceThermophysicalTransportModels::nonUnityLewisEddyDiffusivity
26 
27 Description
28  Non-unity-Lewis-Eddy-diffusivity based gradient heat flux model for RAS or
29  LES of turbulent flow. Allows independent specification of turbulent
30  Prandtl and Schmidt numbers. The laminar Lewis number is still assumed to
31  equal one.
32 
33 Usage
34  \verbatim
35  LES
36  {
37  model nonUnityLewisEddyDiffusivity;
38  Prt 0.85;
39  Sct 0.7;
40  }
41  \endverbatim
42 
43 SourceFiles
44  nonUnityLewisEddyDiffusivity.C
45 
46 \*---------------------------------------------------------------------------*/
47 
48 #include "eddyDiffusivity.H"
49 
50 #ifndef nonUnityLewisEddyDiffusivity_H
51 #define nonUnityLewisEddyDiffusivity_H
52 
53 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 
55 namespace Foam
56 {
57 namespace turbulenceThermophysicalTransportModels
58 {
59 
60 /*---------------------------------------------------------------------------*\
61  Class nonUnityLewisEddyDiffusivity Declaration
62 \*---------------------------------------------------------------------------*/
63 
64 template<class TurbulenceThermophysicalTransportModel>
66 :
67  public eddyDiffusivity<TurbulenceThermophysicalTransportModel>
68 {
69 
70 protected:
71 
72  // Protected data
73 
74  // Model coefficients
75 
76  //- Turbulent Schmidt number []
78 
79 
80 public:
81 
82  typedef typename TurbulenceThermophysicalTransportModel::alphaField
83  alphaField;
84 
85  typedef typename
88 
89  typedef typename TurbulenceThermophysicalTransportModel::thermoModel
91 
92 
93  //- Runtime type information
94  TypeName("nonUnityLewisEddyDiffusivity");
95 
96 
97  // Constructors
98 
99  //- Construct from a momentum transport model and a thermo model
101  (
102  const momentumTransportModel& momentumTransport,
103  const thermoModel& thermo
104  );
105 
106 
107  //- Destructor
109  {}
110 
111 
112  // Member Functions
113 
114  //- Read thermophysicalTransport dictionary
115  virtual bool read();
116 
117  //- Effective mass diffusivity for a given specie mass-fraction [kg/m/s]
118  virtual tmp<volScalarField> DEff(const volScalarField& Yi) const
119  {
120  return volScalarField::New
121  (
122  "DEff",
123  this->thermo().alphaEff(this->Prt_/Sct_*this->alphat())
124  );
125  }
126 
127  //- Effective mass diffusivity for a given specie mass-fraction
128  // for patch [kg/m/s]
130  (
131  const volScalarField& Yi,
132  const label patchi
133  ) const
134  {
135  return this->thermo().alphaEff
136  (
137  this->Prt_.value()/Sct_.value()*this->alphat(patchi),
138  patchi
139  );
140  }
141 
142  //- Return the heat flux
143  virtual tmp<volVectorField> q() const;
144 
145  //- Return the source term for the energy equation
146  virtual tmp<fvScalarMatrix> divq(volScalarField& he) const;
147 };
148 
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 } // End namespace turbulenceThermophysicalTransportModels
153 } // End namespace Foam
154 
155 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 
157 #ifdef NoRepository
159 #endif
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 
163 #endif
164 
165 // ************************************************************************* //
volScalarField & he
Definition: YEEqn.H:50
dimensionedScalar Prt_
Turbulent Prandtl number [].
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
virtual tmp< fvScalarMatrix > divq(volScalarField &he) const
Return the source term for the energy equation.
Non-unity-Lewis-Eddy-diffusivity based gradient heat flux model for RAS or LES of turbulent flow...
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, const Internal &, const PtrList< fvPatchField< scalar >> &)
Return a temporary field constructed from name,.
virtual tmp< volScalarField > alphat() const
Turbulent thermal diffusivity for enthalpy [kg/m/s].
Eddy-diffusivity based gradient heat flux model for RAS or LES of turbulent flow. Specie fluxes are c...
rhoReactionThermo & thermo
Definition: createFields.H:28
virtual tmp< volScalarField > alphaEff() const
Effective thermal turbulent diffusivity of mixture [kg/m/s].
CompressibleMomentumTransportModel< fluidThermo > momentumTransportModel
TurbulenceThermophysicalTransportModel::momentumTransportModel momentumTransportModel
TypeName("nonUnityLewisEddyDiffusivity")
Runtime type information.
nonUnityLewisEddyDiffusivity(const momentumTransportModel &momentumTransport, const thermoModel &thermo)
Construct from a momentum transport model and a thermo model.
const Type & value() const
Return const reference to value.
label patchi
virtual tmp< volScalarField > DEff(const volScalarField &Yi) const
Effective mass diffusivity for a given specie mass-fraction [kg/m/s].
A class for managing temporary objects.
Definition: PtrList.H:53
Namespace for OpenFOAM.