Limiter for isotropic fluctuations.

This commit is contained in:
tlichtenegger
2020-04-22 14:37:44 +02:00
parent 5f16dce15b
commit 63f1f8fb68
2 changed files with 22 additions and 8 deletions

View File

@ -82,6 +82,7 @@ isotropicFluctuations::isotropicFluctuations
sm.mesh(),
dimensionedScalar("D0", dimensionSet(0,0,0,0,0,0,0), D0_)
),
maxDisplacement_(propsDict_.lookupOrDefault<scalar>("maxDisplacement", -1.0)),
dtDEM_(particleCloud_.dataExchangeM().DEMts()),
ranGen_(clock::getTime()+pid())
{
@ -126,6 +127,9 @@ void isotropicFluctuations::setForce() const
interpolationCellPoint<scalar> voidfractionInterpolator_(voidfraction_);
interpolationCellPoint<scalar> voidfractionRecInterpolator_(voidfractionRec_);
scalar maxVel = maxDisplacement_ / dtDEM_;
scalar magFlucU = 0.0;
for(int index = 0;index < particleCloud_.numberOfParticles(); ++index)
{
cellI = particleCloud_.cellIDs()[index][0];
@ -157,8 +161,16 @@ void isotropicFluctuations::setForce() const
if(deltaVoidfrac>0)
{
D = D0Field_[cellI];
magFlucU = fluctuationMag(relVolfractionExcess,D);
if (maxVel > 0.0 && magFlucU > maxVel)
{
flucU=unitFlucDir()*maxVel;
}
else
{
flucU=unitFlucDir()*fluctuationMag(relVolfractionExcess,D);
}
}
// write particle based data to global array
for(int j=0;j<3;j++)

View File

@ -76,6 +76,8 @@ protected:
volScalarField D0Field_;
scalar maxDisplacement_;
const scalar dtDEM_;
virtual vector unitFlucDir() const;