diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/ErgunStatFines.C b/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/ErgunStatFines.C index 5fb83965..507601ea 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/ErgunStatFines.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/ErgunStatFines.C @@ -105,10 +105,11 @@ ErgunStatFines::~ErgunStatFines() void ErgunStatFines::setForce() const { if (scaleDia_ > 1) - Info << "Gidaspow using scale = " << scaleDia_ << endl; - else if (particleCloud_.cg() > 1){ + Info << "ErgunStatFines using scale = " << scaleDia_ << endl; + else if (particleCloud_.cg() > 1) + { scaleDia_=particleCloud_.cg(); - Info << "Gidaspow using scale from liggghts cg = " << scaleDia_ << endl; + Info << "ErgunStatFines using scale from liggghts cg = " << scaleDia_ << endl; } const volScalarField& nufField = forceSubM(0).nuField(); @@ -135,6 +136,8 @@ void ErgunStatFines::setForce() const vector dragExplicit(0,0,0); scalar dragCoefficient(0); + + scalar scaleDia3 = scaleDia_*scaleDia_*scaleDia_; interpolationCellPoint voidfractionInterpolator_(voidfraction_); interpolationCellPoint UInterpolator_(U_); @@ -209,6 +212,7 @@ void ErgunStatFines::setForce() const // calc particle's drag betaP /= (1-alphaPartEff); dragCoefficient = M_PI/6 * ds/scaleDia_ * ds/scaleDia_ * dSauter_[cellI] * voidfraction / (1 - voidfraction) * betaP * scaleDrag_; + dragCoefficient *= scaleDia3; if (modelType_=="B") dragCoefficient /= voidfraction; diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/FanningDynFines.C b/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/FanningDynFines.C index 08b1f9a3..997cfdf4 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/FanningDynFines.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/Fines/FanningDynFines.C @@ -91,7 +91,15 @@ void FanningDynFines::setForce() const { if(forceSubM(0).verbose()) Info << "Entering force loop of FanningDynFines.\n" << endl; - + + if (scaleDia_ > 1) + Info << "FanningDynFines using scale = " << scaleDia_ << endl; + else if (particleCloud_.cg() > 1) + { + scaleDia_=particleCloud_.cg(); + Info << "FanningDynFines using scale from liggghts cg = " << scaleDia_ << endl; + } + vector UDyn(0,0,0); vector drag(0,0,0); label cellI=0; diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.C b/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.C index 665942d6..0ccdfc56 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.C @@ -55,6 +55,8 @@ dSauter::dSauter propsDict_(dict.subDict(typeName + "Props")), d2_(NULL), d3_(NULL), + scaleDia_(1.0), + scaleDiaDist_(1.0), d2Field_ ( IOobject ( @@ -99,6 +101,11 @@ dSauter::dSauter // init force sub model setForceSubModels(propsDict_); + + if (propsDict_.found("scaleCG")) + scaleDia_=scalar(readScalar(propsDict_.lookup("scaleCG"))); + if (propsDict_.found("scaleDist")) + scaleDiaDist_=scalar(readScalar(propsDict_.lookup("scaleDist"))); } @@ -122,10 +129,19 @@ void dSauter::allocateMyArrays() const void dSauter::setForce() const { + if (scaleDia_ > 1) + Info << "dSauter using scaleCG = " << scaleDia_ << endl; + else if (particleCloud_.cg() > 1) + { + scaleDia_=particleCloud_.cg(); + Info << "dSauter using scaleCG from liggghts cg = " << scaleDia_ << endl; + } + allocateMyArrays(); label cellI=0; scalar ds(0); + scalar scale = scaleDiaDist_/scaleDia_; for(int index = 0;index < particleCloud_.numberOfParticles(); ++index) { @@ -161,7 +177,7 @@ void dSauter::setForce() const { if(d2Field_[cellI] > ROOTVSMALL) { - dSauter_[cellI] = d3Field_[cellI] / d2Field_[cellI]; + dSauter_[cellI] = d3Field_[cellI] / d2Field_[cellI] * scale; } else { diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.H b/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.H index d4794c68..7a81fab5 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/dSauter/dSauter.H @@ -46,6 +46,10 @@ private: mutable double **d2_; mutable double **d3_; + + mutable scalar scaleDia_; // scaling due to coarse graining + + mutable scalar scaleDiaDist_; // scaling due to modified particle size distribution mutable volScalarField d2Field_;