kineticTheoryModel.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | Copyright (C) 2011-2015 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::kineticTheoryModel
26 
27 Description
28  Kinetic theory particle phase RAS model
29 
30  Reference:
31  \verbatim
32  "Derivation, implementation, and validation of computer simulation
33  models for gas-solid fluidized beds",
34  van Wachem, B.G.M.,
35  Ph.D. Thesis, Delft University of Technology, Amsterdam, 2000.
36  \endverbatim
37 
38  There are no default model coefficients.
39 
40 SourceFiles
41  kineticTheoryModel.C
42 
43 \*---------------------------------------------------------------------------*/
44 
45 #ifndef kineticTheoryModel_H
46 #define kineticTheoryModel_H
47 
48 #include "RASModel.H"
49 #include "eddyViscosity.H"
51 #include "EddyDiffusivity.H"
52 #include "phaseModel.H"
53 #include "dragModel.H"
54 #include "viscosityModel.H"
55 #include "conductivityModel.H"
56 #include "radialModel.H"
57 #include "granularPressureModel.H"
58 #include "frictionalStressModel.H"
59 
60 
61 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
62 
63 namespace Foam
64 {
65 namespace RASModels
66 {
67 
68 /*---------------------------------------------------------------------------*\
69  Class kineticTheoryModel Declaration
70 \*---------------------------------------------------------------------------*/
71 
73 :
74  public eddyViscosity
75  <
76  RASModel<EddyDiffusivity<phaseCompressibleTurbulenceModel> >
77  >
78 {
79  // Private data
80 
81  // Input Fields
82 
83  const phaseModel& phase_;
84 
85 
86  // Sub-models
87 
88  //- Run-time selected viscosity model
90 
91  //- Run-time selected conductivity model
93 
94  //- Run-time selected radial distribution model
96 
97  //- Run-time selected granular pressure model
99  granularPressureModel_;
100 
101  //- Run-time selected frictional stress model
103  frictionalStressModel_;
104 
105 
106  // Kinetic Theory Model coefficients
107 
108  //- Use equilibrium approximation: generation == dissipation
109  Switch equilibrium_;
110 
111  //- Coefficient of restitution
113 
114  //- Maximum packing phase-fraction
115  dimensionedScalar alphaMax_;
116 
117  //- Min value for which the frictional stresses are zero
118  dimensionedScalar alphaMinFriction_;
119 
120  //- Residual phase fraction
121  dimensionedScalar residualAlpha_;
122 
123 
124  // Kinetic Theory Model Fields
125 
126  //- The granular energy/temperature
127  volScalarField Theta_;
128 
129  //- The granular bulk viscosity
130  volScalarField lambda_;
131 
132  //- The granular radial distribution
133  volScalarField gs0_;
134 
135  //- The granular "thermal" conductivity
136  volScalarField kappa_;
137 
138 
139  // Private Member Functions
140 
141  void correctNut()
142  {}
143 
144  //- Disallow default bitwise copy construct
146 
147  //- Disallow default bitwise assignment
148  void operator=(const kineticTheoryModel&);
149 
150 
151 public:
152 
153  //- Runtime type information
154  TypeName("kineticTheory");
155 
156 
157  // Constructors
158 
159  //- Construct from components
161  (
162  const volScalarField& alpha,
163  const volScalarField& rho,
164  const volVectorField& U,
165  const surfaceScalarField& alphaRhoPhi,
166  const surfaceScalarField& phi,
167  const phaseModel& transport,
168  const word& propertiesName = turbulenceModel::propertiesName,
169  const word& type = typeName
170  );
171 
172 
173  //- Destructor
174  virtual ~kineticTheoryModel();
175 
176 
177  // Member Functions
178 
179  //- Re-read model coefficients if they have changed
180  virtual bool read();
181 
182  //- Return the effective viscosity
183  virtual tmp<volScalarField> nuEff() const
184  {
185  return this->nut();
186  }
187 
188  //- Return the effective viscosity on patch
189  virtual tmp<scalarField> nuEff(const label patchi) const
190  {
191  return this->nut(patchi);
192  }
193 
194  //- Return the turbulence kinetic energy
195  virtual tmp<volScalarField> k() const;
196 
197  //- Return the turbulence kinetic energy dissipation rate
198  virtual tmp<volScalarField> epsilon() const;
199 
200  //- Return the Reynolds stress tensor
201  virtual tmp<volSymmTensorField> R() const;
202 
203  //- Return the phase-pressure'
204  // (derivative of phase-pressure w.r.t. phase-fraction)
205  virtual tmp<volScalarField> pPrime() const;
206 
207  //- Return the face-phase-pressure'
208  // (derivative of phase-pressure w.r.t. phase-fraction)
209  virtual tmp<surfaceScalarField> pPrimef() const;
210 
211  //- Return the effective stress tensor
212  virtual tmp<volSymmTensorField> devRhoReff() const;
213 
214  //- Return the source term for the momentum equation
216 
217  //- Solve the kinetic theory equations and correct the viscosity
218  virtual void correct();
219 };
220 
221 
222 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
223 
224 } // End namespace RASModels
225 } // End namespace Foam
226 
227 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
228 
229 #endif
230 
231 // ************************************************************************* //
virtual tmp< volScalarField > k() const
Return the turbulence kinetic energy.
virtual tmp< surfaceScalarField > pPrimef() const
Return the face-phase-pressure&#39;.
TypeName("kineticTheory")
Runtime type information.
A class for handling words, derived from string.
Definition: word.H:59
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 ~kineticTheoryModel()
Destructor.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none.
Definition: Switch.H:60
Namespace for OpenFOAM.
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity.
scalar nut
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
virtual void correct()
Solve the kinetic theory equations and correct the viscosity.
virtual tmp< volSymmTensorField > devRhoReff() const
Return the effective stress tensor.
label patchi
Eddy viscosity turbulence model base class.
Definition: eddyViscosity.H:52
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate.
virtual tmp< volScalarField > pPrime() const
Return the phase-pressure&#39;.
virtual tmp< fvVectorMatrix > divDevRhoReff(volVectorField &U) const
Return the source term for the momentum equation.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Definition: POSIX.C:589
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:53
surfaceScalarField & phi
virtual tmp< volSymmTensorField > R() const
Return the Reynolds stress tensor.
static const word propertiesName
Default name of the turbulence properties dictionary.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:117
A class for managing temporary objects.
Definition: PtrList.H:118
virtual bool read()
Re-read model coefficients if they have changed.
U
Definition: pEqn.H:82