From 84cdf51d40a200a37d8327bd1d80c8e817ca8c6e Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 16 Feb 2015 21:38:55 +0000 Subject: [PATCH] interPhaseChangeDyMFoam: cache divU before time advancement to ensure the old-time meshPhi are used to make phi absolute --- .../interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C index e336e4a0..a228330c 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C +++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C @@ -93,6 +93,12 @@ int main(int argc, char *argv[]) while (runTime.run()) { #include "../interFoam/interDyMFoam/readControls.H" + + // Store divU from the previous mesh so that it can be mapped + // and used in correctPhi to ensure the corrected phi has the + // same divergence + volScalarField divU("divU0", fvc::div(fvc::absolute(phi, U))); + #include "CourantNo.H" #include "setDeltaT.H" @@ -105,9 +111,6 @@ int main(int argc, char *argv[]) { if (pimple.firstIter() || moveMeshOuterCorrectors) { - // Store divU from the previous mesh for the correctPhi - volScalarField divU(fvc::div(fvc::absolute(phi, U))); - scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime(); mesh.update();