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  Class TAB Declaration
63 \*---------------------------------------------------------------------------*/
64 
65 template<class CloudType>
66 class TAB
67 :
68  public BreakupModel<CloudType>
69 {
70 public:
71 
72  //- Enumeration for the SMD breakup calculation
73  enum SMDMethods
74  {
76  method2
77  };
78 
79 
80 private:
81 
82  // Private data
83 
84  // Inverse function approximation of the Rossin-Rammler Distribution
85  // used when calculating the droplet size after breakup
87 
88 
89  // Model constants
90 
91  word SMDCalcMethod_;
92  SMDMethods SMDMethod_;
93 
94 
95 public:
96 
97  //- Runtime type information
98  TypeName("TAB");
99 
100 
101  // Constructors
102 
103  //- Construct from dictionary
104  TAB(const dictionary& dict, CloudType& owner);
105 
106  //- Construct copy
107  TAB(const TAB<CloudType>& im);
108 
109  //- Construct and return a clone
110  virtual autoPtr<BreakupModel<CloudType>> clone() const
111  {
113  (
114  new TAB<CloudType>(*this)
115  );
116  }
117 
118 
119  //- Destructor
120  virtual ~TAB();
121 
122 
123  // Member Functions
124 
125  //- Update the parcel diameter
126  virtual bool update
127  (
128  const scalar dt,
129  const vector& g,
130  scalar& d,
131  scalar& tc,
132  scalar& ms,
133  scalar& nParticle,
134  scalar& KHindex,
135  scalar& y,
136  scalar& yDot,
137  const scalar d0,
138  const scalar rho,
139  const scalar mu,
140  const scalar sigma,
141  const vector& U,
142  const scalar rhoc,
143  const scalar muc,
144  const vector& Urel,
145  const scalar Urmag,
146  const scalar tMom,
147  scalar& dChild,
148  scalar& massChild
149  );
150 };
151 
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 } // End namespace Foam
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 #ifdef NoRepository
160  #include "TAB.C"
161 #endif
162 
163 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
164 
165 #endif
166 
167 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:62
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:75
rho
rho
Definition: readInitialConditions.H:96
Foam::TAB::~TAB
virtual ~TAB()
Destructor.
Definition: TAB.C:83
Foam::TAB::TypeName
TypeName("TAB")
Runtime type information.
Foam::TAB::method1
Definition: TAB.H:74
Foam::TAB::SMDMethods
SMDMethods
Enumeration for the SMD breakup calculation.
Definition: TAB.H:72
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:109
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
g
const uniformDimensionedVectorField & g
Definition: createFluidFields.H:24
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::BreakupModel
Templated break-up model class.
Definition: SprayCloud.H:49
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:65
Foam::TAB::TAB
TAB(const dictionary &dict, CloudType &owner)
Construct from dictionary.
Definition: TAB.C:34
y
scalar y
Definition: LISASMDCalcMethod1.H:14