From 6fc7b06b19394b97e590bd2db5ac35b314199b87 Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Fri, 9 May 2008 12:48:45 +0100 Subject: [PATCH] Made ddtPhiCorr optional in moving-mesh solvers. Controlled via the "ddtPhiCorr" switch in the PISO sub-dict, defaults to false. --- .../solvers/incompressible/icoDyMFoam/icoDyMFoam.C | 11 +++++++++-- applications/solvers/multiphase/interDyMFoam/pEqn.H | 12 ++++++------ .../cfdTools/general/include/readPISOControls.H | 6 ++++++ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/applications/solvers/incompressible/icoDyMFoam/icoDyMFoam.C b/applications/solvers/incompressible/icoDyMFoam/icoDyMFoam.C index 54f64497f4b..39774a3373f 100644 --- a/applications/solvers/incompressible/icoDyMFoam/icoDyMFoam.C +++ b/applications/solvers/incompressible/icoDyMFoam/icoDyMFoam.C @@ -75,6 +75,9 @@ int main(int argc, char *argv[]) # include "correctPhi.H" } + // Keep the absolute fluxes for use in ddtPhiCorr + surfaceScalarField phiAbs("phiAbs", phi); + // Make the fluxes relative to the mesh motion fvc::makeRelative(phi, U); @@ -95,7 +98,11 @@ int main(int argc, char *argv[]) U = rAU*UEqn.H(); phi = (fvc::interpolate(U) & mesh.Sf()); - //+ fvc::ddtPhiCorr(rAU, U, phi); + + if (ddtPhiCorr) + { + phi += fvc::ddtPhiCorr(rAU, U, phiAbs); + } adjustPhi(phi, U, p); @@ -116,7 +123,7 @@ int main(int argc, char *argv[]) { pEqn.solve(mesh.solver(p.name())); } - + if (nonOrth == nNonOrthCorr) { phi -= pEqn.flux(); diff --git a/applications/solvers/multiphase/interDyMFoam/pEqn.H b/applications/solvers/multiphase/interDyMFoam/pEqn.H index 5bd1a98d40a..d4afbae6f49 100644 --- a/applications/solvers/multiphase/interDyMFoam/pEqn.H +++ b/applications/solvers/multiphase/interDyMFoam/pEqn.H @@ -5,12 +5,12 @@ volVectorField HU = UEqn.H(); U = rAU*HU; - surfaceScalarField phiU - ( - "phiU", - (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rAU, rho, U, phiAbs) - ); + surfaceScalarField phiU("phiU", (fvc::interpolate(U) & mesh.Sf())); + + if (ddtPhiCorr) + { + phiU += fvc::ddtPhiCorr(rAU, rho, U, phiAbs); + } phi = phiU + ( diff --git a/src/finiteVolume/cfdTools/general/include/readPISOControls.H b/src/finiteVolume/cfdTools/general/include/readPISOControls.H index d29a60785ad..e51ecdbb8bc 100644 --- a/src/finiteVolume/cfdTools/general/include/readPISOControls.H +++ b/src/finiteVolume/cfdTools/general/include/readPISOControls.H @@ -25,3 +25,9 @@ { nOuterCorr = readInt(piso.lookup("nOuterCorrectors")); } + + bool ddtPhiCorr = false; + if (piso.found("ddtPhiCorr")) + { + ddtPhiCorr = Switch(piso.lookup("ddtPhiCorr")); + } -- GitLab