From d047107489c046cafd4dc90fd2e59b1315308417 Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Mon, 30 Nov 2015 16:29:10 +0000 Subject: [PATCH] chtMultiRegionFoam, chtMultiRegionSimpleFoam, buoyantPimpleFoam, buoyantSimpleFoam: Added support for hRef --- .../buoyantPimpleFoam/buoyantPimpleFoam.C | 1 - .../buoyantPimpleFoam/createFields.H | 8 ++- .../buoyantSimpleFoam/buoyantSimpleFoam.C | 1 - .../buoyantSimpleFoam/createFields.H | 7 ++- .../fluid/createFluidFields.H | 59 +++++++++++++++---- .../fluid/createFluidFields.H | 59 +++++++++++++++---- 6 files changed, 103 insertions(+), 32 deletions(-) diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C index cd254643b08..aec50069be2 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C @@ -51,7 +51,6 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); - #include "readGravitationalAcceleration.H" #include "createFields.H" #include "createMRF.H" #include "createFvOptions.H" diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H index 977fb1542a5..8c6402f8f48 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H @@ -50,9 +50,11 @@ autoPtr<compressible::turbulenceModel> turbulence ) ); -Info<< "Calculating field g.h\n" << endl; -volScalarField gh("gh", g & mesh.C()); -surfaceScalarField ghf("ghf", g & mesh.Cf()); + +#include "readGravitationalAcceleration.H" +#include "readhRef.H" +#include "gh.H" + Info<< "Reading field p_rgh\n" << endl; volScalarField p_rgh diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C index 403fb6fecd1..8950122e32d 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C @@ -48,7 +48,6 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); - #include "readGravitationalAcceleration.H" #include "createFields.H" #include "createMRF.H" #include "createFvOptions.H" diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H index 37a76ba7c63..d7cf3eb704d 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H @@ -49,9 +49,10 @@ autoPtr<compressible::RASModel> turbulence ); -Info<< "Calculating field g.h\n" << endl; -volScalarField gh("gh", g & mesh.C()); -surfaceScalarField ghf("ghf", g & mesh.Cf()); +#include "readGravitationalAcceleration.H" +#include "readhRef.H" +#include "gh.H" + Info<< "Reading field p_rgh\n" << endl; volScalarField p_rgh diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H index 1811878bd73..f3b0655405a 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H @@ -4,10 +4,11 @@ PtrList<volScalarField> rhoFluid(fluidRegions.size()); PtrList<volVectorField> UFluid(fluidRegions.size()); PtrList<surfaceScalarField> phiFluid(fluidRegions.size()); PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size()); -PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size()); -PtrList<volScalarField> p_rghFluid(fluidRegions.size()); +PtrList<uniformDimensionedScalarField> hRefFluid(fluidRegions.size()); PtrList<volScalarField> ghFluid(fluidRegions.size()); PtrList<surfaceScalarField> ghfFluid(fluidRegions.size()); +PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size()); +PtrList<volScalarField> p_rghFluid(fluidRegions.size()); PtrList<radiation::radiationModel> radiation(fluidRegions.size()); List<scalar> initialMassFluid(fluidRegions.size()); @@ -107,31 +108,65 @@ forAll(fluidRegions, i) ) ); - Info<< " Adding to turbulence\n" << endl; - turbulence.set + Info<< " Adding to hRefFluid\n" << endl; + hRefFluid.set ( i, - compressible::turbulenceModel::New + new uniformDimensionedScalarField ( - rhoFluid[i], - UFluid[i], - phiFluid[i], - thermoFluid[i] - ).ptr() + IOobject + ( + "hRef", + runTime.constant(), + fluidRegions[i], + IOobject::READ_IF_PRESENT, + IOobject::NO_WRITE + ), + dimensionedScalar("hRef", dimLength, 0) + ) + ); + + dimensionedScalar ghRef + ( + mag(gFluid[i].value()) > SMALL + ? gFluid[i] + & (cmptMag(gFluid[i].value())/mag(gFluid[i].value()))*hRefFluid[i] + : dimensionedScalar("ghRef", gFluid[i].dimensions()*dimLength, 0) ); Info<< " Adding to ghFluid\n" << endl; ghFluid.set ( i, - new volScalarField("gh", gFluid[i] & fluidRegions[i].C()) + new volScalarField + ( + "gh", + (gFluid[i] & fluidRegions[i].C()) - ghRef + ) ); Info<< " Adding to ghfFluid\n" << endl; ghfFluid.set ( i, - new surfaceScalarField("ghf", gFluid[i] & fluidRegions[i].Cf()) + new surfaceScalarField + ( + "ghf", + (gFluid[i] & fluidRegions[i].Cf()) - ghRef + ) + ); + + Info<< " Adding to turbulence\n" << endl; + turbulence.set + ( + i, + compressible::turbulenceModel::New + ( + rhoFluid[i], + UFluid[i], + phiFluid[i], + thermoFluid[i] + ).ptr() ); p_rghFluid.set diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H index 2e665464832..2097833ed9d 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H @@ -4,10 +4,11 @@ PtrList<volScalarField> rhoFluid(fluidRegions.size()); PtrList<volVectorField> UFluid(fluidRegions.size()); PtrList<surfaceScalarField> phiFluid(fluidRegions.size()); PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size()); -PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size()); -PtrList<volScalarField> p_rghFluid(fluidRegions.size()); +PtrList<uniformDimensionedScalarField> hRefFluid(fluidRegions.size()); PtrList<volScalarField> ghFluid(fluidRegions.size()); PtrList<surfaceScalarField> ghfFluid(fluidRegions.size()); +PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size()); +PtrList<volScalarField> p_rghFluid(fluidRegions.size()); PtrList<radiation::radiationModel> radiation(fluidRegions.size()); PtrList<volScalarField> KFluid(fluidRegions.size()); PtrList<volScalarField> dpdtFluid(fluidRegions.size()); @@ -104,31 +105,65 @@ forAll(fluidRegions, i) ) ); - Info<< " Adding to turbulence\n" << endl; - turbulence.set + Info<< " Adding to hRefFluid\n" << endl; + hRefFluid.set ( i, - compressible::turbulenceModel::New + new uniformDimensionedScalarField ( - rhoFluid[i], - UFluid[i], - phiFluid[i], - thermoFluid[i] - ).ptr() + IOobject + ( + "hRef", + runTime.constant(), + fluidRegions[i], + IOobject::READ_IF_PRESENT, + IOobject::NO_WRITE + ), + dimensionedScalar("hRef", dimLength, 0) + ) + ); + + dimensionedScalar ghRef + ( + mag(gFluid[i].value()) > SMALL + ? gFluid[i] + & (cmptMag(gFluid[i].value())/mag(gFluid[i].value()))*hRefFluid[i] + : dimensionedScalar("ghRef", gFluid[i].dimensions()*dimLength, 0) ); Info<< " Adding to ghFluid\n" << endl; ghFluid.set ( i, - new volScalarField("gh", gFluid[i] & fluidRegions[i].C()) + new volScalarField + ( + "gh", + (gFluid[i] & fluidRegions[i].C()) - ghRef + ) ); Info<< " Adding to ghfFluid\n" << endl; ghfFluid.set ( i, - new surfaceScalarField("ghf", gFluid[i] & fluidRegions[i].Cf()) + new surfaceScalarField + ( + "ghf", + (gFluid[i] & fluidRegions[i].Cf()) - ghRef + ) + ); + + Info<< " Adding to turbulence\n" << endl; + turbulence.set + ( + i, + compressible::turbulenceModel::New + ( + rhoFluid[i], + UFluid[i], + phiFluid[i], + thermoFluid[i] + ).ptr() ); p_rghFluid.set -- GitLab