1 fvVectorMatrix UaEqn(Ua, Ua.dimensions()*dimVol/dimTime);
2 fvVectorMatrix UbEqn(Ub, Ub.dimensions()*dimVol/dimTime);
6 volTensorField gradUaT(T(fvc::grad(Ua)));
8 if (kineticTheory.on())
10 kineticTheory.solve(gradUaT);
11 nuEffa = kineticTheory.mua()/rhoa;
13 else // If not using kinetic theory is using Ct model
15 nuEffa = sqr(Ct)*nutb + nua;
21 ((2.0/3.0)*I)*(sqr(Ct)*k + nuEffa*tr(gradUaT)) - nuEffa*gradUaT
24 if (kineticTheory.on())
26 Rca -= ((kineticTheory.lambda()/rhoa)*tr(gradUaT))*tensor(I);
29 surfaceScalarField phiRa
31 -fvc::interpolate(nuEffa)*mesh.magSf()*fvc::snGrad(alpha)
32 /fvc::interpolate(alpha + scalar(0.001))
37 (scalar(1) + Cvm*rhob*beta/rhoa)*
40 + fvm::div(phia, Ua, "div(phia,Ua)")
41 - fvm::Sp(fvc::div(phia), Ua)
44 - fvm::laplacian(nuEffa, Ua)
47 + fvm::div(phiRa, Ua, "div(phia,Ua)")
48 - fvm::Sp(fvc::div(phiRa), Ua)
49 + (fvc::grad(alpha)/(fvc::average(alpha) + scalar(0.001)) & Rca)
51 // g // Buoyancy term transfered to p-equation
52 - fvm::Sp(beta/rhoa*K, Ua)
53 //+ beta/rhoa*K*Ub // Explicit drag transfered to p-equation
54 - beta/rhoa*(liftCoeff - Cvm*rhob*DDtUb)
61 volTensorField gradUbT(T(fvc::grad(Ub)));
65 ((2.0/3.0)*I)*(k + nuEffb*tr(gradUbT)) - nuEffb*gradUbT
68 surfaceScalarField phiRb
70 -fvc::interpolate(nuEffb)*mesh.magSf()*fvc::snGrad(beta)
71 /fvc::interpolate(beta + scalar(0.001))
76 (scalar(1) + Cvm*rhob*alpha/rhob)*
79 + fvm::div(phib, Ub, "div(phib,Ub)")
80 - fvm::Sp(fvc::div(phib), Ub)
83 - fvm::laplacian(nuEffb, Ub)
86 + fvm::div(phiRb, Ub, "div(phib,Ub)")
87 - fvm::Sp(fvc::div(phiRb), Ub)
89 + (fvc::grad(beta)/(fvc::average(beta) + scalar(0.001)) & Rcb)
91 // g // Buoyancy term transfered to p-equation
92 - fvm::Sp(alpha/rhob*K, Ub)
93 //+ alpha/rhob*K*Ua // Explicit drag transfered to p-equation
94 + alpha/rhob*(liftCoeff + Cvm*rhob*DDtUa)