LISASMDCalcMethod1.H
Go to the documentation of this file.
1 {
2  // calculate the new diameter with a Rosin Rammler distribution
3 
4  scalar minValue = min(d, dD/10.0);
5  scalar maxValue = dD;
6 
7  if (maxValue - minValue < SMALL)
8  {
9  minValue = d/10.0;
10  }
11 
12  scalar range = maxValue - minValue;
13 
14  scalar y = 0;
15 
16  bool success = false;
17 
18  while(!success)
19  {
20 
21  x = minValue + range*rndGen.sample01<scalar>();
22  y = rndGen.sample01<scalar>();
23  scalar p = 0.0;
24  scalar nExp = 1;
25  scalar xx = pow(x/dD, nExp);
26 
27  p = xx*exp(-xx);
28  if (y<p)
29  {
30  success = true;
31  }
32  }
33 }
cachedRandom rndGen(label(0),-1)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensionedScalar exp(const dimensionedScalar &ds)
scalar nExp
scalar minValue
volScalarField & p
Definition: createFields.H:51
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)