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,7 +161,15 @@ void isotropicFluctuations::setForce() const
if(deltaVoidfrac>0)
{
D = D0Field_[cellI];
flucU=unitFlucDir()*fluctuationMag(relVolfractionExcess,D);
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

View File

@ -1,6 +1,6 @@
/*---------------------------------------------------------------------------*\
CFDEMcoupling academic - Open Source CFD-DEM coupling
Contributing authors:
Thomas Lichtenegger
Copyright (C) 2015- Johannes Kepler University, Linz
@ -46,24 +46,24 @@ class isotropicFluctuations
{
protected:
dictionary propsDict_;
bool interpolate_;
bool measureDiff_;
mutable OFstream recErrorFile_;
// ignore fluctuations in region
word ignoreCellsName_;
autoPtr<cellSet> ignoreCells_;
bool existIgnoreCells_;
word voidfractionFieldName_;
const volScalarField& voidfraction_;
word voidfractionRecFieldName_;
const volScalarField& voidfractionRec_;
@ -76,6 +76,8 @@ protected:
volScalarField D0Field_;
scalar maxDisplacement_;
const scalar dtDEM_;
virtual vector unitFlucDir() const;