FickianEddyDiffusivity.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-2026 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::FickianEddyDiffusivity
26 
27 Description
28  Multi-component Fickian and eddy-diffusivity turbulent based temperature
29  gradient heat flux model for RAS or LES of turbulent flow with optional
30  Soret thermal diffusion of species.
31 
32  The mixture diffusion coefficients are specified as Function2<scalar>s of
33  pressure and temperature but independent of composition.
34 
35  The heat flux source is implemented as an implicit energy correction to the
36  temperature gradient based flux source. At convergence the energy
37  correction is 0.
38 
39 Usage
40  \verbatim
41  RAS
42  {
43  model FickianEddyDiffusivity;
44 
45  mixtureDiffusionCoefficients yes;
46 
47  Prt 0.85;
48  Sct 0.7;
49 
50  Dm // [m^2/s]
51  {
52  O2 1e-2;
53  O3 5e-2;
54  N2 1e-2;
55  }
56 
57  DT // [kg/m/s] Optional
58  {
59  O2 1e-2;
60  O3 5e-2;
61  N2 1e-2;
62  }
63  }
64  \endverbatim
65 
66  or if binary mass diffusion coefficient functions are available they can be
67  mixed to form the mass diffusion coefficients w.r.t. the mixture:
68 
69  \verbatim
70  RAS
71  {
72  model FickianEddyDiffusivity;
73 
74  mixtureDiffusionCoefficients no;
75 
76  Prt 0.85;
77  Sct 0.7;
78 
79  D // [m^2/s]
80  {
81  O2-O2 1e-2;
82  O3-O3 5e-2;
83  N2-N2 1e-2;
84  O3-O2 5e-2;
85  O3-N2 5e-2;
86  O2-N2 1e-2;
87  }
88 
89  DT // [kg/m/s] Optional
90  {
91  O2 1e-2;
92  O3 5e-2;
93  N2 1e-2;
94  }
95  }
96  \endverbatim
97 
98 SourceFiles
99  FickianEddyDiffusivity.C
100 
101 \*---------------------------------------------------------------------------*/
102 
103 #ifndef FickianEddyDiffusivity_H
104 #define FickianEddyDiffusivity_H
105 
106 #include "Fickian.H"
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 namespace Foam
112 {
113 namespace turbulenceThermophysicalTransportModels
114 {
115 
116 /*---------------------------------------------------------------------------*\
117  Class FickianEddyDiffusivity Declaration
118 \*---------------------------------------------------------------------------*/
119 
120 template<class TurbulenceThermophysicalTransportModel>
122 :
123  public Fickian
124  <
125  unityLewisEddyDiffusivity<TurbulenceThermophysicalTransportModel>
126  >
127 {
128 
129 protected:
130 
131  // Protected data
132 
133  // Model coefficients
134 
135  //- Turbulent Schmidt number []
137 
138 
139 public:
140 
141  typedef typename TurbulenceThermophysicalTransportModel::alphaField
142  alphaField;
143 
144  typedef typename
147 
148  typedef typename TurbulenceThermophysicalTransportModel::thermoModel
149  thermoModel;
150 
151 
152  //- Runtime type information
153  TypeName("FickianEddyDiffusivity");
154 
155 
156  // Constructors
157 
158  //- Construct from a momentum transport model and a thermo model
160  (
161  const momentumTransportModel& momentumTransport,
162  const thermoModel& thermo,
163  const word& type = typeName
164  );
165 
166 
167  //- Destructor
168  virtual ~FickianEddyDiffusivity()
169  {}
170 
171 
172  // Member Functions
173 
174  //- Read thermophysicalTransport dictionary
175  virtual bool read();
176 
177  //- Effective mass diffusion coefficient
178  // for a given specie mass-fraction [kg/m/s]
179  virtual tmp<volScalarField> DEff(const volScalarField& Yi) const;
180 
181  //- Effective mass diffusion coefficient
182  // for a given specie mass-fraction for patch [kg/m/s]
183  virtual tmp<scalarField> DEff
184  (
185  const volScalarField& Yi,
186  const label patchi
187  ) const;
188 };
189 
190 
191 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
192 
193 } // End namespace turbulenceThermophysicalTransportModels
194 } // End namespace Foam
195 
196 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
197 
198 #ifdef NoRepository
199  #include "FickianEddyDiffusivity.C"
200 #endif
201 
202 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
203 
204 #endif
205 
206 // ************************************************************************* //
Generic GeometricField class.
A class for managing temporary objects.
Definition: tmp.H:55
Multi-component Fickian and eddy-diffusivity turbulent based temperature gradient heat flux model for...
virtual tmp< volScalarField > DEff(const volScalarField &Yi) const
Effective mass diffusion coefficient.
TurbulenceThermophysicalTransportModel::thermoModel thermoModel
TypeName("FickianEddyDiffusivity")
Runtime type information.
TurbulenceThermophysicalTransportModel::momentumTransportModel momentumTransportModel
TurbulenceThermophysicalTransportModel::alphaField alphaField
FickianEddyDiffusivity(const momentumTransportModel &momentumTransport, const thermoModel &thermo, const word &type=typeName)
Construct from a momentum transport model and a thermo model.
virtual bool read()
Read thermophysicalTransport dictionary.
Template function which returns the un-mangled name of a given type. Useful for types which do not ha...
A class for handling words, derived from string.
Definition: word.H:63
label patchi
compressibleMomentumTransportModel momentumTransportModel
Namespace for OpenFOAM.
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
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Definition: POSIX.C:488
fluidMulticomponentThermo & thermo
Definition: createFields.H:15