{ // Creates the porosity field for MULES volScalarField porosity ( IOobject ( "porosity", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, dimensionedScalar("nullptr", dimless, 1.0), "zeroGradient" ); forAll (pZones, zoneI) { const label zoneId = pZones[zoneI].zoneId(); const labelList& cells= mesh.cellZones()[zoneId]; const scalar& zonePorosity = pZones[zoneI].porosity(); forAll (cells, cellI) { porosity[cells[cellI]] = zonePorosity; } } // Ordinary MULES except for the argument list to explicitSolve word alphaScheme("div(phi,alpha)"); word alpharScheme("div(phirb,alpha)"); surfaceScalarField phic = mag(phi/mesh.magSf()); phic = min(interface.cAlpha()*phic, max(phic)); surfaceScalarField phir = phic*interface.nHatf(); for (int aCorr=0; aCorr