View Issue Details

IDProjectCategoryView StatusLast Update
0001794OpenFOAMBugpublic2015-12-03 13:53
Reporteruser1139Assigned Tohenry  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
PlatformGNU/LinuxOSOpenSuSEOS Version13.1
Summary0001794: wenyu drag model in twoPhaseEulerFoam
Descriptionwenyu drag model in theory is as follows:
Cd=24/(Re_s)*[1+0.15*pow(Re_s,0.687)] if Re_s<1000;
Cd=0.44 if Re_s>1000;

In dragModel.C source code(line 108-114), K_gs is defined as:
       *max(pair_.dispersed(), residualAlpha_)
in Wenyu.C (line70-77), the return value is
    volScalarField CdsRe
        neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))
      + pos(Re - 1000)*0.44*max(Re, residualRe_)

       *pow(alpha2, -2.65)
       *max(pair_.continuous(), residualAlpha_);

But in source code phasePair.C(line 131), Re is defined as
Re = magUr()*dispersed().d()/continuous().nu(), not including alpha_g term,
so Re_s = alpha_g*Re;
and I think that in line70-71, the term Re should be replaced by alpha_g*Re.
It is my suggestion, would you like to give me some response?
TagsNo tags attached.



2015-07-30 17:08

manager   ~0005147

Last edited: 2015-07-30 17:09

Looks plausible. That's how CFX does it . Ditto this .

I've tried the change on a couple of fluidised bed cases and, frankly, I see no difference in the results. I think cases like this, which use a mixture of Wen-Yu and Ergun models, tend to be quite Ergun dominated. Do you have a case where the change has a noticeable (ideally beneficial) effect on the results?


2015-07-30 19:32


Wen-Yu.docx (76,913 bytes)


2015-07-30 19:35


Thank you for your reply.I also found that it could not recognize the influence on the fluidised bed simulation results. Wen-Yu model is usually used to calculate dilute phase flow, such as dilute phase pneumatic conveying. The difference between expression could be seen from the attached file Wen-Yu.


2015-07-31 09:52

manager   ~0005149

The document shows the difference in the functions, sure, but it would be more encouraging to a difference in an actual simulation.

Despite that, I'd probably make this change, even without evidence of an improvement of a simulation. It's not likely to affect anything that we have tested, and it does look more correct on paper.


2015-08-04 13:31

manager   ~0005191

I have corrected the formulation on OpenFOAM-dev:

commit a91cf40aff0b595faf067c7d33bf7373e019b284
Author: Henry Weller <>
Date: Tue Aug 4 13:29:11 2015 +0100

    twoPhaseEulerFoam/interfacialModels/dragModels/WenYu: Corrected Re -> Re*alpha_g
    Resolves bug-report

Let me know if you are satisfied that this corresponds to the published form. Note the -3.65 coefficient which handles the CdsRes -> CdsRe


2015-08-18 10:59

manager   ~0005258

I assume that the update in OpenFOAM-dev is correct, if not please re-open this bug-report.


2015-08-26 19:02


I am sorry to response so late. I just wonder the function of the term "*max(pair_.continuous(), residualAlpha_)". It is for the numerical requirement or for other purpose? Would you like to give me your suggestions? Thank you a lot!


2015-08-26 19:45

manager   ~0005304

Yes the residualAlpha_ is needed for numerical stability.

Issue History

Date Modified Username Field Change
2015-07-22 21:34 user1139 New Issue
2015-07-30 17:08 will Note Added: 0005147
2015-07-30 17:09 will Note Edited: 0005147
2015-07-30 17:09 will Note Edited: 0005147
2015-07-30 19:32 user1139 File Added: Wen-Yu.docx
2015-07-30 19:35 user1139 Note Added: 0005148
2015-07-31 09:52 will Note Added: 0005149
2015-08-04 13:31 henry Note Added: 0005191
2015-08-18 10:59 henry Note Added: 0005258
2015-08-18 10:59 henry Status new => resolved
2015-08-18 10:59 henry Resolution open => fixed
2015-08-18 10:59 henry Assigned To => henry
2015-08-26 19:02 user1139 Note Added: 0005302
2015-08-26 19:02 user1139 Status resolved => feedback
2015-08-26 19:02 user1139 Resolution fixed => reopened
2015-08-26 19:45 henry Note Added: 0005304
2015-12-03 13:52 henry Status feedback => resolved
2015-12-03 13:52 henry Resolution reopened => fixed