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-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::TAB
28
29Group
30 grpLagrangianIntermediateBreakupSubModels
31
32Description
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
46See 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
59namespace Foam
60{
61
62/*---------------------------------------------------------------------------*\
63 Class TAB Declaration
64\*---------------------------------------------------------------------------*/
65
66template<class CloudType>
67class TAB
68:
69 public BreakupModel<CloudType>
70{
71public:
72
73 //- Enumeration for the SMD breakup calculation
74 enum SMDMethods
75 {
76 method1,
78 };
79
80
81private:
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
96public:
97
98 //- Runtime type information
99 TypeName("TAB");
100
101
102 // Constructors
103
104 //- Construct from dictionary
106
107 //- Construct copy
108 TAB(const TAB<CloudType>& im);
109
110 //- Construct and return a clone
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// ************************************************************************* //
scalar y
const uniformDimensionedVectorField & g
Templated break-up model class.
Definition: BreakupModel.H:61
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
A 1D vector of objects of type <T> with a fixed length <N>.
Definition: FixedList.H:81
The TAB Method for Numerical Calculation of Spray Droplet Breakup.
Definition: TAB.H:69
TypeName("TAB")
Runtime type information.
virtual ~TAB()
Destructor.
Definition: TAB.C:83
virtual autoPtr< BreakupModel< CloudType > > clone() const
Construct and return a clone.
Definition: TAB.H:110
SMDMethods
Enumeration for the SMD breakup calculation.
Definition: TAB.H:74
@ method1
Definition: TAB.H:75
@ method2
Definition: TAB.H:76
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
A class for handling words, derived from Foam::string.
Definition: word.H:68
U
Definition: pEqn.H:72
const volScalarField & mu
mesh update()
Urel
Definition: pEqn.H:56
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73