From 7810d4327c903280b024684cdb5fd23946967a2b Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Sun, 19 Jul 2015 19:05:06 +0100 Subject: [PATCH] SRFSimpleFoam, SRFPimpleFoam: Use absolute U for the production term in turbulence models Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1788 --- .../pimpleFoam/SRFPimpleFoam/createFields.H | 14 +++++------ .../simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C | 20 +++------------- .../simpleFoam/SRFSimpleFoam/createFields.H | 24 +++++++++++++++---- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H index f4707dacc7f..da4fee802ee 100644 --- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H +++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H @@ -45,13 +45,6 @@ scalar pRefValue = 0.0; setRefCell(p, pimple.dict(), pRefCell, pRefValue); mesh.setFluxRequired(p.name()); -singlePhaseTransportModel laminarTransport(Urel, phi); - -autoPtr<incompressible::turbulenceModel> turbulence -( - incompressible::turbulenceModel::New(Urel, phi, laminarTransport) -); - Info<< "Creating SRF model\n" << endl; autoPtr<SRF::SRFModel> SRF ( @@ -71,3 +64,10 @@ volVectorField U ), Urel + SRF->U() ); + +singlePhaseTransportModel laminarTransport(U, phi); + +autoPtr<incompressible::turbulenceModel> turbulence +( + incompressible::turbulenceModel::New(U, phi, laminarTransport) +); diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C index e52a6d93871..97617bd925f 100644 --- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C +++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C @@ -65,26 +65,12 @@ int main(int argc, char *argv[]) #include "pEqn.H" } + U = Urel + SRF->U(); + laminarTransport.correct(); turbulence->correct(); - if (runTime.outputTime()) - { - volVectorField Uabs - ( - IOobject - ( - "Uabs", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - Urel + SRF->U() - ); - - runTime.write(); - } + runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H index d7096ed087f..9d9fb484fcc 100644 --- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H +++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H @@ -45,12 +45,26 @@ scalar pRefValue = 0.0; setRefCell(p, simple.dict(), pRefCell, pRefValue); mesh.setFluxRequired(p.name()); -singlePhaseTransportModel laminarTransport(Urel, phi); +Info<< "Creating SRF model\n" << endl; +autoPtr<SRF::SRFModel> SRF(SRF::SRFModel::New(Urel)); -autoPtr<incompressible::RASModel> turbulence +// Construct the absolute velocity +volVectorField U ( - incompressible::RASModel::New(Urel, phi, laminarTransport) + IOobject + ( + "U", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + Urel + SRF->U() ); -Info<< "Creating SRF model\n" << endl; -autoPtr<SRF::SRFModel> SRF(SRF::SRFModel::New(Urel)); +singlePhaseTransportModel laminarTransport(U, phi); + +autoPtr<incompressible::RASModel> turbulence +( + incompressible::RASModel::New(U, phi, laminarTransport) +); -- GitLab