From 216f0a0cd10b1faa22ba19830604c24e6e02d264 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 11 Oct 2010 16:18:49 +0100 Subject: [PATCH] pimpleDyMFoam: Corrected caching of rUA/rAU --- .../solvers/incompressible/pimpleFoam/UEqn.H | 4 ++-- .../solvers/incompressible/pimpleFoam/pEqn.H | 8 ++++---- .../pimpleFoam/pimpleDyMFoam/createFields.H | 2 +- .../pimpleFoam/pimpleDyMFoam/pEqn.H | 1 + .../incompressible/pimpleDyMFoam/movingCone/0/U | 16 ++++++++-------- .../incompressible/pimpleDyMFoam/movingCone/0/p | 16 ++++++++-------- .../pimpleDyMFoam/movingCone/system/fvSolution | 10 ++++++++-- 7 files changed, 32 insertions(+), 25 deletions(-) diff --git a/applications/solvers/incompressible/pimpleFoam/UEqn.H b/applications/solvers/incompressible/pimpleFoam/UEqn.H index 3574c6553a..3655677979 100644 --- a/applications/solvers/incompressible/pimpleFoam/UEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/UEqn.H @@ -9,7 +9,7 @@ tmp UEqn UEqn().relax(); -volScalarField rUA = 1.0/UEqn().A(); +volScalarField rAU = 1.0/UEqn().A(); if (momentumPredictor) { @@ -17,6 +17,6 @@ if (momentumPredictor) } else { - U = rUA*(UEqn().H() - fvc::grad(p)); + U = rAU*(UEqn().H() - fvc::grad(p)); U.correctBoundaryConditions(); } diff --git a/applications/solvers/incompressible/pimpleFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pEqn.H index b5dc23a58c..acd86ed4b0 100644 --- a/applications/solvers/incompressible/pimpleFoam/pEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/pEqn.H @@ -1,4 +1,4 @@ -U = rUA*UEqn().H(); +U = rAU*UEqn().H(); if (nCorr <= 1) { @@ -6,7 +6,7 @@ if (nCorr <= 1) } phi = (fvc::interpolate(U) & mesh.Sf()) - + fvc::ddtPhiCorr(rUA, U, phi); + + fvc::ddtPhiCorr(rAU, U, phi); adjustPhi(phi, U, p); @@ -16,7 +16,7 @@ for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) // Pressure corrector fvScalarMatrix pEqn ( - fvm::laplacian(rUA, p) == fvc::div(phi) + fvm::laplacian(rAU, p) == fvc::div(phi) ); pEqn.setReference(pRefCell, pRefValue); @@ -47,5 +47,5 @@ for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) // Explicitly relax pressure for momentum corrector p.relax(); -U -= rUA*fvc::grad(p); +U -= rAU*fvc::grad(p); U.correctBoundaryConditions(); diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createFields.H b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createFields.H index bc798ba988..16b3bd977d 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createFields.H +++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createFields.H @@ -27,7 +27,7 @@ mesh ); -# include "createPhi.H" + #include "createPhi.H" label pRefCell = 0; diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H index 155f43a632..74045cabb7 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H @@ -46,6 +46,7 @@ for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) #include "continuityErrs.H" +// Explicitly relax pressure for momentum corrector p.relax(); // Make the fluxes relative to the mesh motion diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/0/U b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/U index b3bc15c145..ddeb5b36b8 100644 --- a/tutorials/incompressible/pimpleDyMFoam/movingCone/0/U +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/U @@ -20,47 +20,47 @@ internalField uniform (0 0 0); boundaryField { - movingWall + movingWall { type fixedValue; value uniform (1 0 0); } - farFieldMoving + farFieldMoving { type fixedValue; value uniform (0 0 0); } - fixedWall + fixedWall { type fixedValue; value uniform (0 0 0); } - axis + axis { type symmetryPlane; } - left + left { type pressureInletOutletVelocity; value uniform (0 0 0); } - farField + farField { type fixedValue; value uniform (0 0 0); } - back + back { type wedge; } - front + front { type wedge; } diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/0/p b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/p index 112e30ef2f..9f13ffc4a4 100644 --- a/tutorials/incompressible/pimpleDyMFoam/movingCone/0/p +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/p @@ -20,27 +20,27 @@ internalField uniform 0; boundaryField { - movingWall + movingWall { type zeroGradient; } - farFieldMoving + farFieldMoving { type zeroGradient; } - fixedWall + fixedWall { type zeroGradient; } - axis + axis { type symmetryPlane; } - left + left { type totalPressure; p0 uniform 0; @@ -52,17 +52,17 @@ boundaryField value uniform 0; } - farField + farField { type zeroGradient; } - back + back { type wedge; } - front + front { type wedge; } diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution index 6bc425e2f6..f93592537c 100644 --- a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution @@ -21,7 +21,7 @@ solvers { solver PCG; preconditioner DIC; - tolerance 0.01; + tolerance 0.02; relTol 0; } @@ -30,7 +30,7 @@ solvers solver PCG; preconditioner DIC; tolerance 1e-06; - relTol 0.05; + relTol 0.01; } pFinal @@ -66,10 +66,16 @@ solvers PIMPLE { + correctPhi yes; nOuterCorrectors 2; nCorrectors 1; nNonOrthogonalCorrectors 0; } +relaxationFactors +{ + U 1; + UFinal 1; +} // ************************************************************************* //