7 scalar
sumD = p1().d() + p2().d();
8 scalar
pc = spray_.p()[p1().cell()];
37 scalar
xx = rndGen_.scalar01();
40 if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) {
42 scalar gamma = dMax/
max(dMin, 1.0
e-12);
43 scalar
f = gamma*gamma*gamma + 2.7*gamma - 2.4*gamma*gamma;
49 scalar averageTemp = (
pMax().T()*mMax +
pMin().T()*
mMin)/mTot;
52 scalar sigma = spray_.fuels().sigma(pc, averageTemp, Xav);
53 sigma =
max(1.0
e-6, sigma);
54 scalar
rho = spray_.fuels().rho(pc, averageTemp, Xav);
56 scalar WeColl =
max(1.0
e-12, 0.5*rho*magVRel*magVRel*dMin/sigma);
58 scalar coalesceProb =
min(1.0, 2.4*f/WeColl);
59 scalar prob = rndGen_.scalar01();
62 if ( prob < coalesceProb && coalescence_) {
72 while ((zz < xx) && (n<1000)) {
79 if (nProb*nMax > nMin) {
86 scalar newMinMass =
pMin().m();
87 scalar newMaxMass = mMax + (mMin - newMinMass);
88 pMax().m() = newMaxMass;
90 pMax().T() = (averageTemp*mTot - newMinMass*
pMin().T())/newMaxMass;
91 rhoMax = spray_.fuels().rho(pc,
pMax().
T(),
pMax().X());
92 scalar d3 =
pow(dMax, 3) + nProb*
pow(dMin,3);
94 pMax().U() = (momMax + (1.0-newMinMass/
mMin)*momMin)/newMaxMass;
99 scalarField Ynew = mMax*Ymax + (mMin - newMinMass)*Ymin;
103 Wlinv += Ynew[i]/spray_.fuels().properties()[i].W();
107 pMax().X()[i] = Ynew[i]/(spray_.fuels().properties()[i].W()*Wlinv);
114 scalar gf =
sqrt(prob) -
sqrt(coalesceProb);
115 scalar denom = 1.0 -
sqrt(coalesceProb);
116 if (denom < 1.0
e-5) {
125 scalar
rho1 = spray_.fuels().rho(pc, p1().
T(), p1().X());
126 scalar
rho2 = spray_.fuels().rho(pc, p2().
T(), p2().X());
127 scalar m1 = p1().m();
128 scalar m2 = p2().m();
129 scalar n1 = p1().N(rho1);
130 scalar n2 = p2().N(rho2);
140 p2().U() = (n1*v2p + (n2-n1)*v2)/n2;
143 p1().U() = (n2*v1p + (n1-n2)*
v1)/n1;