tmp> mvConvection ( fv::convectionScheme::New ( mesh, fields, phi, mesh.divScheme("div(phi,Yi_h)") ) ); { reaction->correct(); Qdot = reaction->Qdot(); volScalarField Yt(0.0*Y[0]); forAll(Y, i) { if (i != inertIndex && composition.active(i)) { volScalarField& Yi = Y[i]; fvScalarMatrix YEqn ( mvConvection->fvmDiv(phi, Yi) - fvm::laplacian(turbulence->muEff(), Yi) == parcels.SYi(i, Yi) + reaction->R(Yi) + fvOptions(rho, Yi) ); YEqn.relax(); fvOptions.constrain(YEqn); YEqn.solve(mesh.solver("Yi")); fvOptions.correct(Yi); Yi.max(0.0); Yt += Yi; } } Y[inertIndex] = scalar(1) - Yt; Y[inertIndex].max(0.0); }