massRosinRammler.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) 2016-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::distributionModels::massRosinRammler
26 
27 Description
28  Mass-based Rosin-Rammler distributionModel.
29 
30  Corrected form of the Rosin-Rammler distribution taking into account the
31  varying number of particles per parcel for for fixed-mass parcels. This
32  distribution should be used when
33  \verbatim
34  parcelBasisType mass;
35  \endverbatim
36 
37  See equation 10 in reference:
38  \verbatim
39  Yoon, S. S., Hewson, J. C., DesJardin, P. E., Glaze, D. J.,
40  Black, A. R., & Skaggs, R. R. (2004).
41  Numerical modeling and experimental measurements of a high speed
42  solid-cone water spray for use in fire suppression applications.
43  International Journal of Multiphase Flow, 30(11), 1369-1388.
44  \endverbatim
45 
46 SourceFiles
47  massRosinRammler.C
48 
49 \*---------------------------------------------------------------------------*/
50 
51 #ifndef massRosinRammler_H
52 #define massRosinRammler_H
53 
54 #include "distributionModel.H"
55 
56 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57 
58 namespace Foam
59 {
60 namespace distributionModels
61 {
62 
63 /*---------------------------------------------------------------------------*\
64  Class massRosinRammler Declaration
65 \*---------------------------------------------------------------------------*/
66 
67 class massRosinRammler
68 :
69  public distributionModel
70 {
71  // Private Data
72 
73  //- Distribution minimum
74  scalar minValue_;
75 
76  //- Distribution maximum
77  scalar maxValue_;
78 
79  //- Characteristic droplet size
80  scalar d_;
81 
82  //- Empirical dimensionless constant to specify the distribution width,
83  // sometimes referred to as the dispersion coefficient
84  scalar n_;
85 
86 
87 public:
88 
89  //- Runtime type information
90  TypeName("massRosinRammler");
91 
92 
93  // Constructors
94 
95  //- Construct from components
97 
98  //- Construct copy
100 
101  //- Construct and return a clone
102  virtual autoPtr<distributionModel> clone() const
103  {
104  return autoPtr<distributionModel>(new massRosinRammler(*this));
105  }
106 
107 
108  //- Destructor
109  virtual ~massRosinRammler();
110 
111 
112  // Member Functions
113 
114  //- Sample the distributionModel
115  virtual scalar sample() const;
116 
117  //- Return the minimum value
118  virtual scalar minValue() const;
119 
120  //- Return the maximum value
121  virtual scalar maxValue() const;
122 
123  //- Return the mean value
124  virtual scalar meanValue() const;
125 };
126 
127 
128 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 
130 } // End namespace distributionModels
131 } // End namespace Foam
132 
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
134 
135 #endif
136 
137 // ************************************************************************* //
dictionary dict
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
virtual autoPtr< distributionModel > clone() const
Construct and return a clone.
virtual scalar meanValue() const
Return the mean value.
Random rndGen(label(0))
massRosinRammler(const dictionary &dict, Random &rndGen)
Construct from components.
Random number generator.
Definition: Random.H:57
A library of runtime-selectable distribution models.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
virtual scalar maxValue() const
Return the maximum value.
volScalarField & p
virtual scalar minValue() const
Return the minimum value.
virtual scalar sample() const
Sample the distributionModel.
Mass-based Rosin-Rammler distributionModel.
Namespace for OpenFOAM.
TypeName("massRosinRammler")
Runtime type information.