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