From 41d49e98d34c193dcdaddf8b56bedd60c1543766 Mon Sep 17 00:00:00 2001 From: Thomas Lichtenegger Date: Thu, 22 Jun 2023 07:52:13 +0200 Subject: [PATCH] Option to restrict Nu number scaling to predefined cell set. --- .../heatTransferGunn/heatTransferGunn.C | 21 +++++++++++++++++-- .../heatTransferGunn/heatTransferGunn.H | 10 +++++++++ .../heatTransferRanzMarshall.C | 21 +++++++++++++++++-- .../heatTransferRanzMarshall.H | 10 +++++++++ 4 files changed, 58 insertions(+), 4 deletions(-) diff --git a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.C b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.C index 13389a9f..52426d21 100644 --- a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.C +++ b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.C @@ -51,6 +51,9 @@ heatTransferGunn::heatTransferGunn implicit_(propsDict_.lookupOrDefault("implicit",true)), calcTotalHeatFlux_(propsDict_.lookupOrDefault("calcTotalHeatFlux",true)), initPartTemp_(propsDict_.lookupOrDefault("initPartTemp",false)), + scaleNuCellsName_(propsDict_.lookupOrDefault("scaleNuCellsName","all")), + scaleNuCells_(), + allScaleNuCells_(false), Tmin_(propsDict_.lookupOrDefault("Tmin",0.0)), Tmax_(propsDict_.lookupOrDefault("Tmax",1e6)), totalHeatFlux_(0.0), @@ -166,7 +169,12 @@ heatTransferGunn::heatTransferGunn if (propsDict_.found("NusseltScalingFactor")) { NusseltScalingFactor_=readScalar(propsDict_.lookup ("NusseltScalingFactor")); - Info << "NusseltScalingFactor set to: " << NusseltScalingFactor_ << endl; + if(scaleNuCellsName_ != "all") + { + scaleNuCells_.set(new cellSet(particleCloud_.mesh(),scaleNuCellsName_)); + } + else allScaleNuCells_ = true; + Info << "NusseltScalingFactor set to: " << NusseltScalingFactor_ << " in cellSet " << scaleNuCellsName_ << endl; } if (propsDict_.found("maxSource")) @@ -237,6 +245,11 @@ heatTransferGunn::~heatTransferGunn() } // * * * * * * * * * * * * * * * private Member Functions * * * * * * * * * * * * * // +bool heatTransferGunn::scaleNuCell(label cell) const +{ + if (allScaleNuCells_) return true; + else return scaleNuCells_()[cell]; +} // * * * * * * * * * * * * * * * * Member Fct * * * * * * * * * * * * * * * // @@ -359,7 +372,11 @@ void heatTransferGunn::calcEnergyContribution() Pr = max(SMALL, Cp * muf / kf0); Nup = Nusselt(voidfraction, Rep, Pr); } - Nup *= NusseltScalingFactor_; + + if (scaleNuCell(cellI)) + { + Nup *= NusseltScalingFactor_; + } Tsum += partTemp_[index][0]; Nsum += 1.0; diff --git a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.H b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.H index 88f56189..3cb444ef 100644 --- a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.H +++ b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferGunn/heatTransferGunn.H @@ -28,6 +28,8 @@ License #include "fvCFD.H" #include "cfdemCloudEnergy.H" #include "energyModel.H" +#include "autoPtr.H" +#include "cellSet.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -60,6 +62,12 @@ protected: bool initPartTemp_; + word scaleNuCellsName_; + + autoPtr scaleNuCells_; + + bool allScaleNuCells_; + scalar Tmin_; scalar Tmax_; @@ -128,6 +136,8 @@ protected: scalar Nusselt(scalar, scalar, scalar) const; + bool scaleNuCell(label) const; + virtual void giveData(); virtual void heatFlux(label, scalar, scalar, scalar, scalar cg3 = 1.0); diff --git a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.C b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.C index e41aabc2..e9d96ebd 100644 --- a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.C +++ b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.C @@ -50,6 +50,9 @@ heatTransferRanzMarshall::heatTransferRanzMarshall implicit_(propsDict_.lookupOrDefault("implicit",true)), calcTotalHeatFlux_(propsDict_.lookupOrDefault("calcTotalHeatFlux",true)), initPartTemp_(propsDict_.lookupOrDefault("initPartTemp",false)), + scaleNuCellsName_(propsDict_.lookupOrDefault("scaleNuCellsName","all")), + scaleNuCells_(), + allScaleNuCells_(false), Tmin_(propsDict_.lookupOrDefault("Tmin",0.0)), Tmax_(propsDict_.lookupOrDefault("Tmax",1e6)), totalHeatFlux_(0.0), @@ -166,7 +169,12 @@ heatTransferRanzMarshall::heatTransferRanzMarshall if (propsDict_.found("NusseltScalingFactor")) { NusseltScalingFactor_=readScalar(propsDict_.lookup ("NusseltScalingFactor")); - Info << "NusseltScalingFactor set to: " << NusseltScalingFactor_ << endl; + if(scaleNuCellsName_ != "all") + { + scaleNuCells_.set(new cellSet(particleCloud_.mesh(),scaleNuCellsName_)); + } + else allScaleNuCells_ = true; + Info << "NusseltScalingFactor set to: " << NusseltScalingFactor_ << " in cellSet " << scaleNuCellsName_ << endl; } if (NusseltConstParameter_ < 0.6 || NusseltConstParameter_ > 1.8) @@ -246,6 +254,11 @@ heatTransferRanzMarshall::~heatTransferRanzMarshall() } // * * * * * * * * * * * * * * * private Member Functions * * * * * * * * * * * * * // +bool heatTransferRanzMarshall::scaleNuCell(label cell) const +{ + if (allScaleNuCells_) return true; + else return scaleNuCells_()[cell]; +} // * * * * * * * * * * * * * * * * Member Fct * * * * * * * * * * * * * * * // @@ -369,7 +382,11 @@ void heatTransferRanzMarshall::calcEnergyContribution() Pr = max(SMALL, Cp * muf / kf0); Nup = Nusselt(voidfraction, Rep, Pr); } - Nup *= NusseltScalingFactor_; + + if (scaleNuCell(cellI)) + { + Nup *= NusseltScalingFactor_; + } Tsum += partTemp_[index][0]; Nsum += 1.0; diff --git a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.H b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.H index 38f4adfd..fd73eb62 100644 --- a/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.H +++ b/src/lagrangian/cfdemParticle/subModels/energyModel/heatTransferRanzMarshall/heatTransferRanzMarshall.H @@ -28,6 +28,8 @@ License #include "fvCFD.H" #include "cfdemCloudEnergy.H" #include "energyModel.H" +#include "autoPtr.H" +#include "cellSet.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -59,6 +61,12 @@ protected: bool initPartTemp_; + word scaleNuCellsName_; + + autoPtr scaleNuCells_; + + bool allScaleNuCells_; + scalar Tmin_; scalar Tmax_; @@ -129,6 +137,8 @@ protected: scalar Nusselt(scalar, scalar, scalar) const; + bool scaleNuCell(label) const; + virtual void giveData(); virtual void heatFlux(label, scalar, scalar, scalar, scalar cg3 = 1.0);