From fe3916e09a6ea9d95dd0615773bd451a0556e584 Mon Sep 17 00:00:00 2001 From: Henry Weller 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 | 67 ++++++++++++++----- .../fluid/createFluidFields.H | 67 ++++++++++++++----- 6 files changed, 111 insertions(+), 40 deletions(-) diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C index cd254643b..aec50069b 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 977fb1542..8c6402f8f 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H @@ -50,9 +50,11 @@ autoPtr 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 403fb6fec..8950122e3 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 37a76ba7c..d7cf3eb70 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H @@ -49,9 +49,10 @@ autoPtr 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 1811878bd..f3b065540 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H @@ -4,10 +4,11 @@ PtrList rhoFluid(fluidRegions.size()); PtrList UFluid(fluidRegions.size()); PtrList phiFluid(fluidRegions.size()); PtrList gFluid(fluidRegions.size()); -PtrList turbulence(fluidRegions.size()); -PtrList p_rghFluid(fluidRegions.size()); +PtrList hRefFluid(fluidRegions.size()); PtrList ghFluid(fluidRegions.size()); PtrList ghfFluid(fluidRegions.size()); +PtrList turbulence(fluidRegions.size()); +PtrList p_rghFluid(fluidRegions.size()); PtrList radiation(fluidRegions.size()); List initialMassFluid(fluidRegions.size()); @@ -107,6 +108,54 @@ forAll(fluidRegions, i) ) ); + Info<< " Adding to hRefFluid\n" << endl; + hRefFluid.set + ( + i, + new uniformDimensionedScalarField + ( + 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()) - ghRef + ) + ); + + Info<< " Adding to ghfFluid\n" << endl; + ghfFluid.set + ( + i, + new surfaceScalarField + ( + "ghf", + (gFluid[i] & fluidRegions[i].Cf()) - ghRef + ) + ); + Info<< " Adding to turbulence\n" << endl; turbulence.set ( @@ -120,20 +169,6 @@ forAll(fluidRegions, i) ).ptr() ); - Info<< " Adding to ghFluid\n" << endl; - ghFluid.set - ( - i, - new volScalarField("gh", gFluid[i] & fluidRegions[i].C()) - ); - - Info<< " Adding to ghfFluid\n" << endl; - ghfFluid.set - ( - i, - new surfaceScalarField("ghf", gFluid[i] & fluidRegions[i].Cf()) - ); - p_rghFluid.set ( i, diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H index 2e6654648..2097833ed 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H @@ -4,10 +4,11 @@ PtrList rhoFluid(fluidRegions.size()); PtrList UFluid(fluidRegions.size()); PtrList phiFluid(fluidRegions.size()); PtrList gFluid(fluidRegions.size()); -PtrList turbulence(fluidRegions.size()); -PtrList p_rghFluid(fluidRegions.size()); +PtrList hRefFluid(fluidRegions.size()); PtrList ghFluid(fluidRegions.size()); PtrList ghfFluid(fluidRegions.size()); +PtrList turbulence(fluidRegions.size()); +PtrList p_rghFluid(fluidRegions.size()); PtrList radiation(fluidRegions.size()); PtrList KFluid(fluidRegions.size()); PtrList dpdtFluid(fluidRegions.size()); @@ -104,6 +105,54 @@ forAll(fluidRegions, i) ) ); + Info<< " Adding to hRefFluid\n" << endl; + hRefFluid.set + ( + i, + new uniformDimensionedScalarField + ( + 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()) - ghRef + ) + ); + + Info<< " Adding to ghfFluid\n" << endl; + ghfFluid.set + ( + i, + new surfaceScalarField + ( + "ghf", + (gFluid[i] & fluidRegions[i].Cf()) - ghRef + ) + ); + Info<< " Adding to turbulence\n" << endl; turbulence.set ( @@ -117,20 +166,6 @@ forAll(fluidRegions, i) ).ptr() ); - Info<< " Adding to ghFluid\n" << endl; - ghFluid.set - ( - i, - new volScalarField("gh", gFluid[i] & fluidRegions[i].C()) - ); - - Info<< " Adding to ghfFluid\n" << endl; - ghfFluid.set - ( - i, - new surfaceScalarField("ghf", gFluid[i] & fluidRegions[i].Cf()) - ); - p_rghFluid.set ( i,