{ label inertIndex = -1; volScalarField Yt(0.0*Y[0]); forAll(Y, i) { if (Y[i].name() != inertSpecie) { volScalarField& Yi = Y[i]; fvScalarMatrix YiEqn ( fvm::ddt(rho, Yi) + mvConvection->fvmDiv(phi, Yi) - fvm::laplacian(1.47*turbulence->mut(), Yi) == fvOptions(rho, Yi) ); YiEqn.relax(); fvOptions.constrain(YiEqn); YiEqn.solve(mesh.solver("Yi")); fvOptions.correct(Yi); Yi.max(0.0); Yt += Yi; } else { inertIndex = i; } } Y[inertIndex] = scalar(1) - Yt; Y[inertIndex].max(0.0); }