This commit is contained in:
tlichtenegger
2020-03-16 10:35:53 +01:00
10 changed files with 66 additions and 18 deletions

View File

@ -150,7 +150,8 @@ heatTransferGunn::heatTransferGunn
partRe_(NULL),
partNu_(NULL),
scaleDia_(1.),
typeCG_(propsDict_.lookupOrDefault<scalarList>("coarseGrainingFactors",scalarList(1,1.0)))
typeCG_(propsDict_.lookupOrDefault<scalarList>("coarseGrainingFactors",scalarList(1,1.0))),
maxTypeCG_(typeCG_.size())
{
allocateMyArrays();
@ -209,7 +210,10 @@ heatTransferGunn::heatTransferGunn
scaleDia_=scalar(readScalar(propsDict_.lookup("scale")));
typeCG_[0] = scaleDia_;
}
else if (typeCG_.size()>1) multiTypes_ = true;
else if (typeCG_.size()>1)
{
multiTypes_ = true;
}
if (initPartTemp_ && !partTempField_.headerOk())
{
@ -340,6 +344,10 @@ void heatTransferGunn::calcEnergyContribution()
if (multiTypes_)
{
partType = particleCloud_.particleType(index);
if (partType > maxTypeCG_)
{
FatalError<< "Too few coarse-graining factors provided." << abort(FatalError);
}
cg = typeCG_[partType - 1];
scaleDia3 = cg*cg*cg;
}

View File

@ -126,6 +126,8 @@ protected:
scalarList typeCG_;
const label maxTypeCG_;
void allocateMyArrays() const;
void partTempField();

View File

@ -149,7 +149,8 @@ heatTransferRanzMarshall::heatTransferRanzMarshall
partRe_(NULL),
partNu_(NULL),
scaleDia_(1.),
typeCG_(propsDict_.lookupOrDefault<scalarList>("coarseGrainingFactors",scalarList(1,1.0)))
typeCG_(propsDict_.lookupOrDefault<scalarList>("coarseGrainingFactors",scalarList(1,1.0))),
maxTypeCG_(typeCG_.size())
{
allocateMyArrays();
@ -208,7 +209,10 @@ heatTransferRanzMarshall::heatTransferRanzMarshall
scaleDia_=scalar(readScalar(propsDict_.lookup("scale")));
typeCG_[0] = scaleDia_;
}
else if (typeCG_.size()>1) multiTypes_ = true;
else if (typeCG_.size()>1)
{
multiTypes_ = true;
}
if (initPartTemp_ && !partTempField_.headerOk())
{
@ -340,6 +344,10 @@ void heatTransferRanzMarshall::calcEnergyContribution()
if (multiTypes_)
{
partType = particleCloud_.particleType(index);
if (partType > maxTypeCG_)
{
FatalError<< "Too few coarse-graining factors provided." << abort(FatalError);
}
cg = typeCG_[partType - 1];
scaleDia3 = cg*cg*cg;
}

View File

@ -125,6 +125,8 @@ protected:
scalarList typeCG_;
const label maxTypeCG_;
void allocateMyArrays() const;
void partTempField();

View File

@ -58,8 +58,9 @@ BeetstraDrag::BeetstraDrag
minVoidfraction_(propsDict_.lookupOrDefault<scalar>("minVoidfraction",0.1)),
UsFieldName_(propsDict_.lookup("granVelFieldName")),
UsField_(sm.mesh().lookupObject<volVectorField> (UsFieldName_)),
scaleDia_(1.),
maxTypeCG_(1),
typeCG_(propsDict_.lookupOrDefault<scalarList>("coarseGrainingFactors",scalarList(1,1.0))),
scaleDia_(1.),
scaleDrag_(1.),
rhoP_(0.),
rho_(0.),
@ -102,7 +103,11 @@ BeetstraDrag::BeetstraDrag
scaleDrag_=scalar(readScalar(propsDict_.lookup("scaleDrag")));
}
if (typeCG_.size()>1) multiTypes_ = true;
if (typeCG_.size()>1)
{
multiTypes_ = true;
maxTypeCG_ = typeCG_.size();
}
if (propsDict_.found("useFilteredDragModel"))
{
@ -219,6 +224,10 @@ void BeetstraDrag::setForce() const
if (multiTypes_)
{
partType = particleCloud_.particleType(index);
if (partType > maxTypeCG_)
{
FatalError<< "Too few coarse-graining factors provided." << abort(FatalError);
}
cg = typeCG_[partType - 1];
scaleDia3 = cg*cg*cg;
}

View File

@ -64,9 +64,11 @@ protected:
const volVectorField& UsField_;
mutable scalar scaleDia_;
mutable label maxTypeCG_;
mutable scalarList typeCG_;
scalarList typeCG_;
mutable scalar scaleDia_;
mutable scalar scaleDrag_;

View File

@ -56,6 +56,7 @@ dSauter::dSauter
multiTypes_(false),
d2_(NULL),
d3_(NULL),
maxTypeCG_(1),
typeCG_(propsDict_.lookupOrDefault<scalarList>("coarseGrainingFactors",scalarList(1,1.0))),
d2Field_
( IOobject
@ -95,7 +96,11 @@ dSauter::dSauter
"zeroGradient"
)
{
if (typeCG_.size()>1) multiTypes_ = true;
if (typeCG_.size()>1)
{
multiTypes_ = true;
maxTypeCG_ = typeCG_.size();
}
allocateMyArrays();
dSauter_.write();
@ -153,6 +158,10 @@ void dSauter::setForce() const
if (multiTypes_)
{
partType = particleCloud_.particleType(index);
if (partType > maxTypeCG_)
{
FatalError<< "Too few coarse-graining factors provided." << abort(FatalError);
}
cg = typeCG_[partType - 1];
}
ds = particleCloud_.d(index);

View File

@ -49,6 +49,8 @@ private:
mutable double **d3_;
label maxTypeCG_;
scalarList typeCG_;
mutable volScalarField d2Field_;

View File

@ -122,14 +122,6 @@ pdCorrelation::pdCorrelation
sm.mesh(),
dimensionedScalar("zero", dimless, 0)
),
typeCG_
(
propsDict_.lookupOrDefault
(
"coarseGrainingFactors",
scalarList(1, sm.cg())
)
),
particleDensities_
(
propsDict_.lookupOrDefault
@ -138,6 +130,15 @@ pdCorrelation::pdCorrelation
scalarList(1, -1.)
)
),
typeCG_
(
propsDict_.lookupOrDefault
(
"coarseGrainingFactors",
scalarList(1, sm.cg())
)
),
maxTypeCG_(typeCG_.size()),
constantCG_(typeCG_.size() < 2),
CG_(!constantCG_ || typeCG_[0] > 1. + SMALL),
runOnWriteOnly_(propsDict_.lookupOrDefault("runOnWriteOnly", false))
@ -222,6 +223,10 @@ void pdCorrelation::setForce() const
typei = particleCloud_.particleTypes()[pi][0] - 1;
rhop = densityFromList ? particleDensities_[typei]
: particleCloud_.particleDensity(pi);
if (!constantCG_ && typei >= maxTypeCG_)
{
FatalError<< "Too few coarse-graining factors provided." << abort(FatalError);
}
cg = constantCG_ ? typeCG_[0] : typeCG_[typei];
}

View File

@ -58,8 +58,9 @@ private:
mutable volScalarField cg3Field_;
const scalarList typeCG_;
const scalarList particleDensities_;
const scalarList typeCG_;
const label maxTypeCG_;
const Switch constantCG_;
const Switch CG_;
const Switch runOnWriteOnly_;