From 2c074892b0dbc66f8f61fe791750f331d6ea2673 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 24 Mar 2011 14:58:03 +0000 Subject: [PATCH] ENH: reactingParcelFoam: moved hs out of PISO loop and added pFinal --- .../lagrangian/reactingParcelFoam/pEqn.H | 29 +++++++++++++++++-- .../reactingParcelFoam/reactingParcelFoam.C | 25 +++++++++++----- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H index 560fbc9895..3c65ca9fb9 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H @@ -26,7 +26,18 @@ if (transonic) parcels.Srho() ); - pEqn.solve(); + pEqn.solve + ( + mesh.solver + ( + p.select + ( + finalIter + && corr == nCorr-1 + && nonOrth == nNonOrthCorr + ) + ) + ); if (nonOrth == nNonOrthCorr) { @@ -54,7 +65,18 @@ else parcels.Srho() ); - pEqn.solve(); + pEqn.solve + ( + mesh.solver + ( + p.select + ( + finalIter + && corr == nCorr-1 + && nonOrth == nNonOrthCorr + ) + ) + ); if (nonOrth == nNonOrthCorr) { @@ -66,7 +88,10 @@ else #include "rhoEqn.H" #include "compressibleContinuityErrs.H" +rho = thermo.rho(); + U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); + DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C index 38a1bf908e..b0a82278f0 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -78,23 +78,32 @@ int main(int argc, char *argv[]) #include "rhoEqn.H" // --- PIMPLE loop - for (int ocorr=1; ocorr<=nOuterCorr; ocorr++) + for (int oCorr=0; oCorrcorrect(); + + if (finalIter) + { + mesh.data::remove("finalIteration"); + } } - turbulence->correct(); - - rho = thermo.rho(); - if (runTime.write()) { chemistry.dQ()().write();