View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001831||OpenFOAM||[All Projects] Bug||public||2015-08-18 12:51||2018-07-10 11:25|
|Fixed in Version|
|Summary||0001831: Errors in application of twoPhaseEulerFoam frictional stress|
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 Information||More details in cfd-online forum post: http://www.cfd-online.com/Forums/openfoam-bugs/158171-errors-twophaseeulerfoams-kinetic-theory.html|
|In the thesis of Van Wachem, page 52, this is also discussed.|
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.
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.
> 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...
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.
> 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.
Thanks for the bug-report and analysis.
Resolved by commit 30ef574d251456674476af16c6b91f901b4b0c24 in OpenFOAM-dev
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.
||Note Added: 0005261|
|2015-08-19 11:26||tniemi||Note Added: 0005270|
||Note Added: 0005272|
|2015-08-19 12:10||tniemi||Note Added: 0005273|
|2015-08-19 12:24||tniemi||Note Edited: 0005273||View Revisions|
||Note Added: 0005274|
|2015-08-19 13:30||tniemi||Note Added: 0005275|
|2015-08-19 13:32||tniemi||Note Edited: 0005275||View Revisions|
|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|
||Note Added: 0005319|
||Status||resolved => feedback|
||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|