View Issue Details

IDProjectCategoryView StatusLast Update
0001831OpenFOAMBugpublic2018-07-10 11:25
Reporteruser1217Assigned Tohenry  
Status closedResolutionfixed 
PlatformGNU/LinuxOSUbuntuOS Version14.04
Summary0001831: Errors in application of twoPhaseEulerFoam frictional stress
DescriptionIn kineticTheory.C:
The frictional pressure and viscosity have not been added to the solids pressure and shear viscosity before solving ThetaEqn. In literature, usually the frictional pressure and viscosity are added before solving the granular energy equation. Pay attention to the units of PsCoeff and pf, they are different due to a division by theta. They cannot be simply added, this will result in an error when running a test case.

In Schaeffer frictional stress model:
The frictional viscosity is only calculated if alpha1 exceeds alphaMax. In this case, alphaMax is the maximum packing of the solids, which should not be exceeded in any case, so the frictional viscosity should (theoretically) never be calculated in this case. I believe alphaMax should replaced be the minimum friction hold-up, alphaMinFriction.
Additional InformationMore details in cfd-online forum post:
Tagskinetic theory


related to 0002647 closedhenry frictional stress in kinetic theory modeling not taken into account 



2015-08-18 14:53


In the thesis of Van Wachem, page 52, this is also discussed.


2015-08-19 11:26

reporter   ~0005270


Schaeffer frictional stress model:
Note, that the condition is "alphaMax.value() - 5e-2", not just alphaMax, so when closer than 5e-2 to packing the frictional viscosity gets computed. However, I agree that replacing "alphaMax.value() - 5e-2" with minFriction would be more logical and follows the practice presented in the literature.

The first question is a more difficult one and I don't have a clear opinion about it.


2015-08-19 11:44


According to the MFIX documentation:
"Two entirely different approaches are used to describe the stresses in these flow regimes. Johnson and Jackson (1987) proposed a model to describe shearing granular flows, combining the theories of viscous and plastic flow regimes, by simply adding the two formulas. In MFIX, the theories are combined by introducing a "switch" at a critical packing, εg*, the packed-bed void fraction at which a granular flow regime transition is assumed to occur:"

Page 13/14 of:

In practise this means either the frictional pressure and viscosity should be added to the "regular" (kinetic+collisional) parts of the solids pressure and viscosity, OR the frictional pressure and viscosity should be used INSTEAD of the "regular" ones. I believe none of these approaches is used by OpenFOAM.

Van Wachem, on which OpenFOAM based their kinetic theory files, suggests the additive approach.


2015-08-19 12:10

reporter   ~0005273

Last edited: 2015-08-19 12:24

> I believe none of these approaches is used by OpenFOAM.

Yes, you are correct that neither approach is used when solving ThetaEqn. However, the additive approach is used in other equations, such as in momentum eqs.

But for me at least it is not clear whether the frictional effects should be in ThetaEqn or not. The reason is that ThetaEqn is derived from kinetic theory, which does not take into account friction and usually friction is not discussed when dealing with ThetaEqn. So it may be there or may not, it is hard to say without seeing the implementations of the different authors.

I have access to MFIX code and I very briefly looked through it. To me it seems like friction is not included in the Theta equation, but I'm not 100% sure. Hopefully someone more knowledgeable can comment about this.

My interpretation of MFIX code: in source_granular_energy.f file the viscosity is MU_s_c. MU_s_c is defined in calc_mu_s.f, where it is set as MU_s_c=MU_s_v, where the v=viscous without friction. However, this is the first time I'm looking at this code...


2015-08-19 12:37


I agree with you on the frictional pressure contributing to the momentum equations.

I do not see how the frictional viscosity contributes to the momentum equations. Are you suggesting that "this->nut_" in the divDevRhoReff function in kineticTheory.C contains a frictional contribution? (Perhaps my C++ is not good enough to see it)

You have a good point, I do not remember any literature which discusses this in such detail. When looking at Van Wachem again (see my first comment), he writes "The frictional stress is added to the stress predicted by kinetic theory ...". To me, this suggests it should be part of the KTGF, i.e. should be part of the granular temperature equations (especially since KTGF has been developed to describe these type of dense gas-solid systems). Also it would be strange if the solids pressure and viscosity in the momentum equations would be different from those in the granular temperature equations. Seems inconsistent.


2015-08-19 13:30

reporter   ~0005275

Last edited: 2015-08-19 13:32

> Are you suggesting that "this->nut_" in the divDevRhoReff function in kineticTheory.C contains a frictional contribution?

Yes. In kineticTheoryModel.C, after solving Theta equation, the frictional effects are computed. In lines 555-561

nut_ += frictionalStressModel_->nu
So when calling divDevRhoReff after calling correct(), the frictional effects are there.

"especially since KTGF has been developed to describe these type of dense gas-solid systems"

Yes, KTGF is for dense systems, but there is a big difference between dense, but still collisional flow and near packing, frictional conditions. Actually in my experience it is so that when the flow is frictional, the frictional pressure and viscosity are orders of magnitude larger than those predicted by KTGF and as such ThetaEqn has only small influence. But if you have a good simulation case, you could test whether inlcuding friction in ThetaEqn has any effect to the results.

But to summarize, my opinion is that the first suggestion of changing "alphaMax.value() - 5e-2" to minFriction should probably be made, but adding friction to thetaEqn is more debatable.


2015-08-19 16:32

manager   ~0005276

Thanks for the bug-report and analysis.
Resolved by commit 30ef574d251456674476af16c6b91f901b4b0c24 in OpenFOAM-dev


2015-09-03 10:29


For the sake of completeness:
I have consulted experts on this topic, according to them the frictional pressure and viscosity should not be added to the KTGF closures, only to solids mechanics. So the implementation as it is in OpenFOAM seems to be correct.

Issue History

Date Modified Username Field Change
2015-08-18 12:51 user1217 New Issue
2015-08-18 14:53 user1217 Note Added: 0005261
2015-08-19 11:26 tniemi Note Added: 0005270
2015-08-19 11:44 user1217 Note Added: 0005272
2015-08-19 12:10 tniemi Note Added: 0005273
2015-08-19 12:24 tniemi Note Edited: 0005273
2015-08-19 12:37 user1217 Note Added: 0005274
2015-08-19 13:30 tniemi Note Added: 0005275
2015-08-19 13:32 tniemi Note Edited: 0005275
2015-08-19 16:32 henry Note Added: 0005276
2015-08-19 16:32 henry Status new => resolved
2015-08-19 16:32 henry Resolution open => fixed
2015-08-19 16:32 henry Assigned To => henry
2015-09-03 10:29 user1217 Note Added: 0005319
2015-09-03 10:29 user1217 Status resolved => feedback
2015-09-03 10:29 user1217 Resolution fixed => reopened
2015-12-03 13:52 henry Status feedback => closed
2015-12-03 13:52 henry Resolution reopened => fixed
2017-08-03 13:42 Juho Tag Attached: kinetic theory
2017-08-03 13:45 tniemi Tag Attached: kineticTheory
2017-08-04 11:14 henry Relationship added related to 0002647
2018-07-10 11:25 administrator Tag Detached: kineticTheory