BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / lagrangian / spray / submodels / BreakupModel / SHF / SHF.H
blob0d4e47567822a128f4a9ffb61b13c03125720c83
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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.
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.
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/>.
24 Class
25     Foam::SHF
27 Description
28     Secondary Breakup Model to take account of the different breakup regimes,
29     bag, molutimode, shear....
31     Accurate description in
32     @verbatim
33     R. Schmehl, G. Maier, S. Witting
34     "CFD Analysis of Fuel Atomization, Secondary Droplet Breakup and Spray
35     Dispersion in the Premix Duct of a LPP Combustor".
36     Eight International Conference on Liquid Atomization and Spray Systems, 2000
37     @endverbatim
39 \*---------------------------------------------------------------------------*/
41 #ifndef SHF_H
42 #define SHF_H
44 #include "BreakupModel.H"
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 namespace Foam
50 /*---------------------------------------------------------------------------*\
51                        Class SHF Declaration
52 \*---------------------------------------------------------------------------*/
54 template<class CloudType>
55 class SHF
57     public BreakupModel<CloudType>
59 private:
61     // Private data
63         // Model constants
65             scalar weCorrCoeff_;
67             scalar weBuCrit_;
68             scalar weBuBag_;
69             scalar weBuMM_;
71             scalar ohnCoeffCrit_;
72             scalar ohnCoeffBag_;
73             scalar ohnCoeffMM_;
75             scalar ohnExpCrit_;
76             scalar ohnExpBag_;
77             scalar ohnExpMM_;
79             scalar cInit_;
81             scalar c1_;
82             scalar c2_;
83             scalar c3_;
85             scalar cExp1_;
86             scalar cExp2_;
87             scalar cExp3_;
89             scalar weConst_;
90             scalar weCrit1_;
91             scalar weCrit2_;
93             scalar coeffD_;
94             scalar onExpD_;
95             scalar weExpD_;
97             scalar mu_;
98             scalar sigma_;
100             scalar d32Coeff_;
101             scalar cDmaxBM_;
102             scalar cDmaxS_;
104             scalar corePerc_;
107 public:
109     //- Runtime type information
110     TypeName("SHF");
113     // Constructors
115         //- Construct from dictionary
116         SHF(const dictionary&, CloudType&);
118         //- Construct copy
119         SHF(const SHF<CloudType>& bum);
121         //- Construct and return a clone
122         virtual autoPtr<BreakupModel<CloudType> > clone() const
123         {
124             return autoPtr<BreakupModel<CloudType> >
125             (
126                 new SHF<CloudType>(*this)
127             );
128         }
131     //- Destructor
132     virtual ~SHF();
135     // Member Functions
137         //- update the parcel properties
138         virtual bool update
139         (
140             const scalar dt,
141             const vector& g,
142             scalar& d,
143             scalar& tc,
144             scalar& ms,
145             scalar& nParticle,
146             scalar& KHindex,
147             scalar& y,
148             scalar& yDot,
149             const scalar d0,
150             const scalar rho,
151             const scalar mu,
152             const scalar sigma,
153             const vector& U,
154             const scalar rhoc,
155             const scalar muc,
156             const vector& Urel,
157             const scalar Urmag,
158             const scalar tMom,
159             const scalar averageParcelMass,
160             scalar& dChild,
161             scalar& massChild,
162             cachedRandom& rndGen
163         ) const;
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 } // End namespace Foam
172 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174 #ifdef NoRepository
175 #   include "SHF.C"
176 #endif
178 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
180 #endif
182 // ************************************************************************* //