aerosolDrag.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) 2019-2023 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::dragModels::aerosolDrag
26 
27 Description
28  Stokes drag with Cunningham slip correction. The slip correction coefficient
29  is implemented in the following form:
30 
31  \f[
32  C_c = 1 + \lambda [A_1 + A_2 \exp(-A_3 d/\lambda)]/d\,.
33  \f]
34 
35  The coefficients default to the values proposed by Davis (1945). The mean
36  free path is computed by
37 
38  \f[
39  \lambda = \frac{kT}{\sqrt{2} \pi p \sigma^{2}}\,.
40  \f]
41 
42  \vartable
43  A_1 | Coefficient [-]
44  A_2 | Coefficient [-]
45  A_3 | Coefficient [-]
46  \sigma | Lennard-Jones parameter [m]
47  \endvartable
48 
49  Reference:
50  \verbatim
51  Davies, C. N. (1945).
52  Definitive equations for the fluid resistance of spheres.
53  Proceedings of the Physical Society, 57(4), 259.
54  \endverbatim
55 
56 Usage
57  \table
58  Property | Description | Required | Default value
59  A1 | Coefficient A1 | no | 2.514
60  A2 | Coefficient A2 | no | 0.8
61  A3 | Coefficient A2 | no | 0.55
62  sigma | Lennard-Jones parameter | yes | none
63  \endtable
64 
65 SourceFiles
66  aerosolDrag.C
67 
68 \*---------------------------------------------------------------------------*/
69 
70 #ifndef aerosolDrag_H
71 #define aerosolDrag_H
72 
73 #include "dispersedDragModel.H"
74 
75 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
76 
77 namespace Foam
78 {
79 namespace dragModels
80 {
81 
82 /*---------------------------------------------------------------------------*\
83  Class aerosolDrag Declaration
84 \*---------------------------------------------------------------------------*/
85 
86 class aerosolDrag
87 :
88  public dispersedDragModel
89 {
90  // Private Data
91 
92  //- Cunningham slip correction coefficient A1
93  const dimensionedScalar A1_;
94 
95  //- Cunningham slip correction coefficient A2
96  const dimensionedScalar A2_;
97 
98  //- Cunningham slip correction coefficient A3
99  const dimensionedScalar A3_;
100 
101  //- Lennard-Jones sigma parameter
102  const dimensionedScalar sigma_;
103 
104 
105 public:
106 
107  //- Runtime type information
108  TypeName("aerosolDrag");
109 
110 
111  // Constructors
112 
113  //- Construct from a dictionary and an interface
115  (
116  const dictionary& dict,
117  const phaseInterface& interface,
118  const bool registerObject
119  );
120 
121 
122  //- Destructor
123  virtual ~aerosolDrag();
124 
125 
126  // Member Functions
127 
128  //- Drag coefficient
129  virtual tmp<volScalarField> CdRe() const;
130 };
131 
132 
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
134 
135 } // End namespace dragModels
136 } // End namespace Foam
137 
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139 
140 #endif
141 
142 // ************************************************************************* //
bool & registerObject()
Register object created from this IOobject with registry if true.
Definition: IOobject.H:346
Model for drag between two phases where one phase can be considered dispersed in the other and the dr...
aerosolDrag(const dictionary &dict, const phaseInterface &interface, const bool registerObject)
Construct from a dictionary and an interface.
Definition: aerosolDrag.C:49
TypeName("aerosolDrag")
Runtime type information.
virtual ~aerosolDrag()
Destructor.
Definition: aerosolDrag.C:65
virtual tmp< volScalarField > CdRe() const
Drag coefficient.
Definition: aerosolDrag.C:71
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dictionary dict