TAB.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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::TAB
28 
29 Group
30  grpLagrangianIntermediateBreakupSubModels
31 
32 Description
33  The TAB Method for Numerical Calculation of Spray Droplet Breakup.
34 
35  \verbatim
36  O'Rourke, P.J. and Amsden, A.A.,
37  "The TAB Method for Numerical Calculation of Spray Droplet Breakup,"
38  1987 SAE International Fuels and Lubricants Meeting and Exposition,
39  Toronto, Ontario, November 2-5, 1987,
40  Los Alamos National Laboratory document LA-UR-87-2105;
41  SAE Technical Paper Series, Paper 872089.
42  \endverbatim
43 
44  This implementation follows the kiva version.
45 
46 See also
47  The Enhanced %TAB model - ETAB
48 
49 \*---------------------------------------------------------------------------*/
50 
51 #ifndef TAB_H
52 #define TAB_H
53 
54 #include "BreakupModel.H"
55 #include "FixedList.H"
56 
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58 
59 namespace Foam
60 {
61 
62 /*---------------------------------------------------------------------------*\
63  Class TAB Declaration
64 \*---------------------------------------------------------------------------*/
65 
66 template<class CloudType>
67 class TAB
68 :
69  public BreakupModel<CloudType>
70 {
71 public:
72 
73  //- Enumeration for the SMD breakup calculation
74  enum SMDMethods
75  {
77  method2
78  };
79 
80 
81 private:
82 
83  // Private data
84 
85  // Inverse function approximation of the Rossin-Rammler Distribution
86  // used when calculating the droplet size after breakup
88 
89 
90  // Model constants
91 
92  word SMDCalcMethod_;
93  SMDMethods SMDMethod_;
94 
95 
96 public:
97 
98  //- Runtime type information
99  TypeName("TAB");
100 
101 
102  // Constructors
103 
104  //- Construct from dictionary
105  TAB(const dictionary& dict, CloudType& owner);
106 
107  //- Construct copy
108  TAB(const TAB<CloudType>& im);
109 
110  //- Construct and return a clone
111  virtual autoPtr<BreakupModel<CloudType>> clone() const
112  {
114  (
115  new TAB<CloudType>(*this)
116  );
117  }
118 
119 
120  //- Destructor
121  virtual ~TAB();
122 
123 
124  // Member Functions
125 
126  //- Update the parcel diameter
127  virtual bool update
128  (
129  const scalar dt,
130  const vector& g,
131  scalar& d,
132  scalar& tc,
133  scalar& ms,
134  scalar& nParticle,
135  scalar& KHindex,
136  scalar& y,
137  scalar& yDot,
138  const scalar d0,
139  const scalar rho,
140  const scalar mu,
141  const scalar sigma,
142  const vector& U,
143  const scalar rhoc,
144  const scalar muc,
145  const vector& Urel,
146  const scalar Urmag,
147  const scalar tMom,
148  scalar& dChild,
149  scalar& massChild
150  );
151 };
152 
153 
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 
156 } // End namespace Foam
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #ifdef NoRepository
161  #include "TAB.C"
162 #endif
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 #endif
167 
168 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::constant::physicoChemical::mu
const dimensionedScalar mu
Atomic mass unit.
Definition: createFieldRefs.H:4
Urel
Urel
Definition: pEqn.H:56
Foam::TAB::update
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:91
Foam::TAB::method2
Definition: TAB.H:76
rho
rho
Definition: readInitialConditions.H:88
Foam::TAB::~TAB
virtual ~TAB()
Destructor.
Definition: TAB.C:83
Foam::TAB::TypeName
TypeName("TAB")
Runtime type information.
Foam::TAB::method1
Definition: TAB.H:75
Foam::TAB::SMDMethods
SMDMethods
Enumeration for the SMD breakup calculation.
Definition: TAB.H:73
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
TAB.C
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::TAB::clone
virtual autoPtr< BreakupModel< CloudType > > clone() const
Construct and return a clone.
Definition: TAB.H:110
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
g
const uniformDimensionedVectorField & g
Definition: createFluidFields.H:26
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::BreakupModel
Templated break-up model class.
Definition: SprayCloud.H:50
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
U
U
Definition: pEqn.H:72
BreakupModel.H
Foam::Vector< scalar >
Foam::FixedList< scalar, 100 >
sigma
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
FixedList.H
Foam::TAB
The TAB Method for Numerical Calculation of Spray Droplet Breakup.
Definition: TAB.H:66
Foam::TAB::TAB
TAB(const dictionary &dict, CloudType &owner)
Construct from dictionary.
Definition: TAB.C:34
y
scalar y
Definition: LISASMDCalcMethod1.H:14