All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TAB.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) 2011-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::TAB
26 
27 Description
28  The TAB Method for Numerical Calculation of Spray Droplet Breakup.
29 
30  @verbatim
31  O'Rourke, P.J. and Amsden, A.A.,
32  "The TAB Method for Numerical Calculation of Spray Droplet Breakup,"
33  1987 SAE International Fuels and Lubricants Meeting and Exposition,
34  Toronto, Ontario, November 2-5, 1987,
35  Los Alamos National Laboratory document LA-UR-87-2105;
36  SAE Technical Paper Series, Paper 872089.
37  @endverbatim
38 
39  This implementation follows the kiva version.
40 
41 See also
42  The Enhanced %TAB model - ETAB
43 
44 \*---------------------------------------------------------------------------*/
45 
46 #ifndef TAB_H
47 #define TAB_H
48 
49 #include "BreakupModel.H"
50 #include "FixedList.H"
51 
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 
54 namespace Foam
55 {
56 /*---------------------------------------------------------------------------*\
57  Class TAB Declaration
58 \*---------------------------------------------------------------------------*/
59 
60 template<class CloudType>
61 class TAB
62 :
63  public BreakupModel<CloudType>
64 {
65 public:
66 
67  //- Enumeration for the SMD breakup calculation
68  enum SMDMethods
69  {
71  method2
72  };
73 
74 
75 private:
76 
77  // Private Data
78 
79  // Inverse function approximation of the Rossin-Rammler Distribution
80  // used when calculating the droplet size after breakup
82 
83 
84  // Model constants
85 
86  word SMDCalcMethod_;
87  SMDMethods SMDMethod_;
88 
89 
90 public:
91 
92  //- Runtime type information
93  TypeName("TAB");
94 
95 
96  // Constructors
97 
98  //- Construct from dictionary
99  TAB(const dictionary& dict, CloudType& owner);
100 
101  //- Construct copy
102  TAB(const TAB<CloudType>& im);
103 
104  //- Construct and return a clone
105  virtual autoPtr<BreakupModel<CloudType>> clone() const
106  {
108  (
109  new TAB<CloudType>(*this)
110  );
111  }
112 
113 
114  //- Destructor
115  virtual ~TAB();
116 
117 
118  // Member Functions
119 
120  //- Update the parcel diameter
121  virtual bool update
122  (
123  const scalar dt,
124  const vector& g,
125  scalar& d,
126  scalar& tc,
127  scalar& ms,
128  scalar& nParticle,
129  scalar& KHindex,
130  scalar& y,
131  scalar& yDot,
132  const scalar d0,
133  const scalar rho,
134  const scalar mu,
135  const scalar sigma,
136  const vector& U,
137  const scalar rhoc,
138  const scalar muc,
139  const vector& Urel,
140  const scalar Urmag,
141  const scalar tMom,
142  scalar& dChild,
143  scalar& massChild
144  );
145 };
146 
147 
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 
150 } // End namespace Foam
151 
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
153 
154 #ifdef NoRepository
155  #include "TAB.C"
156 #endif
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #endif
161 
162 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
SMDMethods
Enumeration for the SMD breakup calculation.
Definition: TAB.H:67
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:110
const CloudType & owner() const
Return const access to the owner cloud.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
scalar y
A class for handling words, derived from string.
Definition: word.H:59
virtual ~TAB()
Destructor.
Definition: TAB.C:81
Urel
Definition: pEqn.H:60
TypeName("TAB")
Runtime type information.
const dimensionedScalar mu
Atomic mass unit.
The TAB Method for Numerical Calculation of Spray Droplet Breakup.
Definition: TAB.H:60
TAB(const dictionary &dict, CloudType &owner)
Construct from dictionary.
Definition: TAB.C:32
U
Definition: pEqn.H:72
virtual autoPtr< BreakupModel< CloudType > > clone() const
Construct and return a clone.
Definition: TAB.H:104
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
Templated break-up model class.
Definition: SprayCloud.H:55
const dimensionedVector & g
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
virtual bool update(const scalar dt, const vector &g, scalar &d, scalar &tc, scalar &ms, scalar &nParticle, scalar &KHindex, scalar &y, scalar &yDot, const scalar d0, const scalar rho, const scalar mu, const scalar sigma, const vector &U, const scalar rhoc, const scalar muc, const vector &Urel, const scalar Urmag, const scalar tMom, scalar &dChild, scalar &massChild)
Update the parcel diameter.
Definition: TAB.C:89
Namespace for OpenFOAM.