From 486da88fb9133af615b691cc205c1119b808bca5 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 19 Jan 2012 14:19:36 +0000 Subject: [PATCH] BUG: Corrected mesh movement in sprayEngineFoam solver --- .../Make/files | 0 .../Make/options | 0 .../createClouds.H | 0 .../logSummary.H | 0 .../sprayFoam/sprayEngineFoam/pEqn.H | 73 +++++++++++++++++++ .../readEngineTimeControls.H | 0 .../sprayEngineFoam.C | 2 + .../startSummary.H | 0 8 files changed, 75 insertions(+) rename applications/solvers/lagrangian/sprayFoam/{sprayEnginFoam => sprayEngineFoam}/Make/files (100%) rename applications/solvers/lagrangian/sprayFoam/{sprayEnginFoam => sprayEngineFoam}/Make/options (100%) rename applications/solvers/lagrangian/sprayFoam/{sprayEnginFoam => sprayEngineFoam}/createClouds.H (100%) rename applications/solvers/lagrangian/sprayFoam/{sprayEnginFoam => sprayEngineFoam}/logSummary.H (100%) create mode 100644 applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H rename applications/solvers/lagrangian/sprayFoam/{sprayEnginFoam => sprayEngineFoam}/readEngineTimeControls.H (100%) rename applications/solvers/lagrangian/sprayFoam/{sprayEnginFoam => sprayEngineFoam}/sprayEngineFoam.C (99%) rename applications/solvers/lagrangian/sprayFoam/{sprayEnginFoam => sprayEngineFoam}/startSummary.H (100%) diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/Make/files b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/files similarity index 100% rename from applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/Make/files rename to applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/files diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options similarity index 100% rename from applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/Make/options rename to applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/createClouds.H b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/createClouds.H similarity index 100% rename from applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/createClouds.H rename to applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/createClouds.H diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/logSummary.H b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/logSummary.H similarity index 100% rename from applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/logSummary.H rename to applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/logSummary.H diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H new file mode 100644 index 0000000000..5109788ea1 --- /dev/null +++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H @@ -0,0 +1,73 @@ +rho = thermo.rho(); + +volScalarField rAU(1.0/UEqn.A()); +U = rAU*UEqn.H(); + +if (pimple.transonic()) +{ + surfaceScalarField phid + ( + "phid", + fvc::interpolate(psi) + *( + ((fvc::interpolate(U) & mesh.Sf()) - fvc::meshPhi(rho, U)) + + fvc::ddtPhiCorr(rAU, rho, U, phi) + ) + ); + + while (pimple.correctNonOrthogonal()) + { + fvScalarMatrix pEqn + ( + fvm::ddt(psi, p) + + fvm::div(phid, p) + - fvm::laplacian(rho*rAU, p) + == + parcels.Srho() + ); + + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); + + if (pimple.finalNonOrthogonalIter()) + { + phi == pEqn.flux(); + } + } +} +else +{ + phi = + fvc::interpolate(rho) + *( + ((fvc::interpolate(U) & mesh.Sf()) - fvc::meshPhi(rho, U)) + + fvc::ddtPhiCorr(rAU, rho, U, phi) + ); + + while (pimple.correctNonOrthogonal()) + { + fvScalarMatrix pEqn + ( + fvm::ddt(psi, p) + + fvc::div(phi) + - fvm::laplacian(rho*rAU, p) + == + parcels.Srho() + ); + + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); + + if (pimple.finalNonOrthogonalIter()) + { + phi += pEqn.flux(); + } + } +} + +#include "rhoEqn.H" +#include "compressibleContinuityErrs.H" + +U -= rAU*fvc::grad(p); +U.correctBoundaryConditions(); +K = 0.5*magSqr(U); + +dpdt = fvc::ddt(p); diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/readEngineTimeControls.H b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/readEngineTimeControls.H similarity index 100% rename from applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/readEngineTimeControls.H rename to applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/readEngineTimeControls.H diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/sprayEngineFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C similarity index 99% rename from applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/sprayEngineFoam.C rename to applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C index 7014cc1af3..a4ae147f51 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/sprayEngineFoam.C +++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C @@ -74,6 +74,8 @@ int main(int argc, char *argv[]) Info<< "Crank angle = " << runTime.theta() << " CA-deg" << endl; + mesh.move(); + parcels.evolve(); #include "rhoEqn.H" diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/startSummary.H b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/startSummary.H similarity index 100% rename from applications/solvers/lagrangian/sprayFoam/sprayEnginFoam/startSummary.H rename to applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/startSummary.H