View Issue Details

IDProjectCategoryView StatusLast Update
0002937OpenFOAMBugpublic2018-05-17 11:18
Reporterlavdwall Assigned Tohenry  
PrioritylowSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product Versiondev 
Fixed in Versiondev 
Summary0002937: kinetic theory: granular pressure in (div)DevRhoReff
DescriptionShouldn't there be a granular pressure term in the stress tensor when using the kinetic theory of granular flow? In kineticTheoryModel.C, devRhoReff is defined as follows:

  - (rho_*nut_)
       *dev(twoSymm(fvc::grad(U_)))
  - ((rho_*lambda_)*fvc::div(phi_))*symmTensor::I

But according to eqn B1 and B2 in the MFiX documentation (https://mfix.netl.doe.gov/download/mfix/mfix_current_documentation/MFIXEquations2012-1.pdf) the solids stress term should be

  - (rho_*nut_)
       *dev(twoSymm(fvc::grad(U_)))
  - ((rho_*lambda_)*fvc::div(phi_)-psolids)*symmTensor::I

with psolids = granularPressureModel_->granularPressureCoeff(alpha,gs0_,rho,e_) * Theta_
TagsNo tags attached.

Activities

henry

2018-05-15 16:22

manager   ~0009578

I think this has be discussed at length before, take a look through previous posts related to kinetic theory.

tniemi

2018-05-16 07:15

reporter   ~0009584

The granular (and frictional) pressures are separately taken into account in pEqn.
For example, in twoPhaseEulerFoam (https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H)

the phase1.turbulence().pPrime() -term adds the effect of the pressure. In reactingEulerFoam it is included in fluid.phiFs.

lavdwall

2018-05-16 21:22

reporter   ~0009588

OK, so in theory, if the phase1.turbulence().pPrime() function is set to return a zero field, and the pressure is included in divDevRhoReff instead, it should give the same result? Because if I try that, the bed dynamics are quite different...

tniemi

2018-05-17 08:31

reporter   ~0009589

In theory perhaps, but in practice likely not. One reason for separating the pressure is to avoid checker-boarding effects. It is numerically better to calculate the pressure flux directly at the faces instead of calculating it in divDevRhoReff and then interpolating to faces. Also, the current formulation allows eg. implicitPhasePressure-treatment.

Issue History

Date Modified Username Field Change
2018-05-15 15:57 lavdwall New Issue
2018-05-15 16:22 henry Priority normal => low
2018-05-15 16:22 henry Severity major => minor
2018-05-15 16:22 henry Note Added: 0009578
2018-05-16 07:15 tniemi Note Added: 0009584
2018-05-16 21:22 lavdwall Note Added: 0009588
2018-05-17 08:31 tniemi Note Added: 0009589
2018-05-17 11:18 henry Assigned To => henry
2018-05-17 11:18 henry Status new => closed
2018-05-17 11:18 henry Resolution open => no change required
2018-05-17 11:18 henry Fixed in Version => dev