1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 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
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 A library of runtime-selectable pdf's.
31 Returns a sampled value given the expectation (nu) and variance (sigma^2)
33 Sample of planned pdfs (beta p. 374-375):
51 The pdf is tabulated in equidistant nPoints, in an interval.
52 These values are integrated to obtain the cumulated pdf,
53 which is then used to change the distribution from unifrom to
61 \*---------------------------------------------------------------------------*/
66 #include "IOdictionary.H"
70 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
75 /*---------------------------------------------------------------------------*\
77 \*---------------------------------------------------------------------------*/
86 const dictionary& dict_;
93 //-Runtime type information
97 //- Declare runtime constructor selection table
98 declareRunTimeSelectionTable
104 const dictionary& dict,
113 //- Construct from dictionary
114 pdf(const dictionary& dict, Random& rndGen);
118 static autoPtr<pdf> New(const dictionary& dict, Random& rndGen);
128 virtual scalar sample() const = 0;
130 //- Return the minimum value
131 virtual scalar minValue() const = 0;
133 //- Return the maximum value
134 virtual scalar maxValue() const = 0;
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 } // End namespace Foam
142 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 // ************************************************************************* //