57 coeffsDict_(dict.
subDict(typeName +
"Coeffs")),
60 weCorrCoeff_(
readScalar(coeffsDict_.lookup(
"weCorrCoeff"))),
61 weBuCrit_(
readScalar(coeffsDict_.lookup(
"weBuCrit"))),
62 weBuBag_(
readScalar(coeffsDict_.lookup(
"weBuBag"))),
63 weBuMM_(
readScalar(coeffsDict_.lookup(
"weBuMM"))),
64 ohnCoeffCrit_(
readScalar(coeffsDict_.lookup(
"ohnCoeffCrit"))),
65 ohnCoeffBag_(
readScalar(coeffsDict_.lookup(
"ohnCoeffBag"))),
66 ohnCoeffMM_(
readScalar(coeffsDict_.lookup(
"ohnCoeffMM"))),
67 ohnExpCrit_(
readScalar(coeffsDict_.lookup(
"ohnExpCrit"))),
68 ohnExpBag_(
readScalar(coeffsDict_.lookup(
"ohnExpBag"))),
69 ohnExpMM_(
readScalar(coeffsDict_.lookup(
"ohnExpMM"))),
70 cInit_(
readScalar(coeffsDict_.lookup(
"Cinit"))),
74 cExp1_(
readScalar(coeffsDict_.lookup(
"Cexp1"))),
75 cExp2_(
readScalar(coeffsDict_.lookup(
"Cexp2"))),
76 cExp3_(
readScalar(coeffsDict_.lookup(
"Cexp3"))),
77 weConst_(
readScalar(coeffsDict_.lookup(
"Weconst"))),
78 weCrit1_(
readScalar(coeffsDict_.lookup(
"Wecrit1"))),
79 weCrit2_(
readScalar(coeffsDict_.lookup(
"Wecrit2"))),
80 coeffD_(
readScalar(coeffsDict_.lookup(
"CoeffD"))),
81 onExpD_(
readScalar(coeffsDict_.lookup(
"OnExpD"))),
82 weExpD_(
readScalar(coeffsDict_.lookup(
"WeExpD"))),
84 sigma_(
readScalar(coeffsDict_.lookup(
"sigma"))),
85 d32Coeff_(
readScalar(coeffsDict_.lookup(
"d32Coeff"))),
86 cDmaxBM_(
readScalar(coeffsDict_.lookup(
"cDmaxBM"))),
87 cDmaxS_(
readScalar(coeffsDict_.lookup(
"cDmaxS"))),
88 corePerc_(
readScalar(coeffsDict_.lookup(
"corePerc")))
109 label celli = p.
cell();
111 scalar
pc = spray_.p()[celli];
113 scalar sigma = fuels.
sigma(pc, T, p.
X());
114 scalar rhoLiquid = fuels.
rho(pc, T, p.
X());
115 scalar muLiquid = fuels.
mu(pc, T, p.
X());
116 scalar rhoGas = spray_.rho()[celli];
118 scalar weGas = p.
We(vel, rhoGas, sigma);
119 scalar weLiquid = p.
We(vel, rhoLiquid, sigma);
123 scalar reLiquid = p.
Re(rhoLiquid, vel, muLiquid);
124 scalar ohnesorge =
sqrt(weLiquid)/(reLiquid + VSMALL);
131 scalar weGasCorr = weGas/(1.0 + weCorrCoeff_ * ohnesorge);
135 scalar tChar = p.
d()/
mag(vRel)*
sqrt(rhoLiquid/rhoGas);
137 scalar tFirst = cInit_ * tChar;
140 scalar tCharSecond = 0;
143 bool multimode =
false;
145 bool success =
false;
155 tCharSecond = c1_*
pow((weGas - weConst_),cExp1_);
157 else if(weGas >= weCrit1_ && weGas <= weCrit2_)
159 tCharSecond = c2_*
pow((weGas - weConst_),cExp2_);
163 tCharSecond = c3_*
pow((weGas - weConst_),cExp3_);
167 scalar weC = weBuCrit_*(1.0+ohnCoeffCrit_*
pow(ohnesorge,ohnExpCrit_));
168 scalar weB = weBuBag_*(1.0+ohnCoeffBag_*
pow(ohnesorge, ohnExpBag_));
169 scalar weMM = weBuMM_*(1.0+ohnCoeffMM_*
pow(ohnesorge, ohnExpMM_));
171 if(weGas > weC && weGas < weB)
176 if(weGas >= weB && weGas <= weMM)
186 tSecond = tCharSecond * tChar;
188 scalar tBreakUP = tFirst + tSecond;
189 if(p.
ct() > tBreakUP)
192 scalar d32 = coeffD_*p.
d()*
pow(ohnesorge,onExpD_)*
pow(weGasCorr,weExpD_);
197 scalar d05 = d32Coeff_ * d32;
205 x = cDmaxBM_*rndGen_.scalar01();
207 y = rndGen_.scalar01();
223 scalar dC = weConst_*sigma/(rhoGas*
sqr(
mag(vRel)));
224 scalar d32Red = 4.0*(d32 * dC)/(5.0 * dC - d32);
225 scalar initMass = p.
m();
227 scalar d05 = d32Coeff_ * d32Red;
236 x = cDmaxS_*rndGen_.scalar01();
238 y = rndGen_.scalar01();
249 p.
m() = corePerc_ * initMass;
261 (1.0 - corePerc_)* initMass,