{ for (phaseModel& phase : fluid.phases()) { PtrList& Y = phase.Y(); if (!Y.empty()) { //- Su phase source terms PtrList Sus(Y.size()); //- Sp phase source terms PtrList Sps(Y.size()); forAll(Sus, i) { Sus.set ( i, new volScalarField::Internal ( IOobject ( "Su" + phase.name(), mesh.time().timeName(), mesh ), mesh, dimensionedScalar(dimless/dimTime, Zero) ) ); Sps.set ( i, new volScalarField::Internal ( IOobject ( "Sp" + phase.name(), mesh.time().timeName(), mesh ), mesh, dimensionedScalar(dimless/dimTime, Zero) ) ); } forAll(Y, i) { // Calculate mass exchange for species consistent with // alpha's source terms. fluid.massSpeciesTransfer(phase, Sus[i], Sps[i], Y[i].name()); } phase.solveYi(Sus, Sps); } } }