Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / lagrangian / spray / submodels / BreakupModel / TAB / TABSMDCalcMethod2.H
blob5d3be05323cf81fbc51b05a85ff80f16fcdbdffc
2     // Calculation of the mean radius based on SMR rs. Coefficient
3     // factorGamma depends on nExp.
4     scalar factorGamma = 1.;
5     scalar delta = rs/factorGamma;
7     scalar minValue = min(d/2.0, 0.04*rs);
8     scalar maxValue = rs*4.0;
10     scalar range = maxValue - minValue;
12     if (maxValue - minValue < SMALL)
13     {
14         minValue = d/20.0;
15         maxValue = d;
16     }
18     scalar nExp = 3.5;
19     FixedList<scalar, 100> rrd;
21     scalar probFactorMin = exp(-pow(minValue/delta, nExp));
22     scalar probFactorMax = exp(-pow(maxValue/delta, nExp));
23     scalar probFactor = 1./(probFactorMin - probFactorMax);
25     forAll(rrd, n)
26     {
27         scalar xx = minValue + range*n/100;
28         rrd[n] = (probFactorMin - exp(-pow(xx/delta, nExp)))*probFactor;
29     }
31     label n = 0;
32     bool found = false;
33     scalar random = rndGen.sample01<scalar>();
35     while (!found && (n<100))
36     {
37         if (rrd[n] > random)
38         {
39             found = true;
40         }
41         n++;
43     }
45     rNew = minValue + range*(n - 0.5)/100.0;