From e9f3811218192c2dcc1a7cc91edbefb9f4d44a0a Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Fri, 15 Feb 2019 10:28:15 +0000 Subject: [PATCH] chtMultiRegionFoam,reactingParcelFoam: Improved pressure and density limiting --- .../heatTransfer/chtMultiRegionFoam/fluid/pEqn.H | 13 ++++++------- .../solvers/lagrangian/reactingParcelFoam/pEqn.H | 14 +++++++------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H index db94899d74..3c5098a38e 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H @@ -93,6 +93,11 @@ constrainPressure(p_rgh, rho, U, phiHbyA, rhorAUf, MRF); p = p_rgh + rho*gh; + if (pressureControl.limit(p)) + { + p.correctBoundaryConditions(); + } + // Thermodynamic density update if (!mesh.steady()) { @@ -117,8 +122,6 @@ else #include "incompressible/continuityErrs.H" } -// Pressure limiting -const bool pLimited = pressureControl.limit(p); // For closed-volume compressible cases adjust the pressure level // to obey overall mass continuity @@ -127,15 +130,11 @@ if (adjustMass) p += (initialMass - fvc::domainIntegrate(thermo.rho())) /fvc::domainIntegrate(psi); p_rgh = p - rho*gh; -} - -if (adjustMass || pLimited) -{ p.correctBoundaryConditions(); } // Density updates -if (adjustMass || pLimited || mesh.steady() || pimple.simpleRho()) +if (adjustMass || mesh.steady() || pimple.simpleRho()) { rho = thermo.rho(); } diff --git a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H index 08a414a076..c55ec10b1d 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H @@ -64,19 +64,19 @@ while (pimple.correctNonOrthogonal()) p = p_rgh + rho*gh; +if (pressureControl.limit(p)) +{ + p.correctBoundaryConditions(); + p_rgh = p - rho*gh; +} + // Thermodynamic density update thermo.correctRho(psi*p - psip0); #include "rhoEqn.H" #include "compressibleContinuityErrs.H" -if (pressureControl.limit(p)) -{ - p.correctBoundaryConditions(); - rho = thermo.rho(); - p_rgh = p - rho*gh; -} -else if (pimple.simpleRho()) +if (pimple.simpleRho()) { rho = thermo.rho(); }