Dense Particle-laden Jet in Still Water

Submitted by rqwang on Thu, 10/27/2011 - 18:14

Hi Chris, Christoph, Alice, and cfdemers,

Encouraged by Chris, I would like to summarize the problems/modification in my happy time with CFDEM.

I am trying to simulate a dense particle-laden jet in still water.
To validate the code, I am trying to reproduce the experiment Case II of

Parthasarathy RN; Faeth GM (1987) Structure of particle-laden turbulent water jets in still water. Int J of Multiphase Flow 13:
699—716

I am using LES model of locDynOneEqEddy.

First, I reproduced single-phase jet. Thanks to OpenFOAM, the simulation looks perfect.

Adding particles, I expect the virtual mass, historical forces might be important in water environment, because the density of the water is close to the particles. The lift force might be also significant, because a strong shear layer exists at the boundary of the jet.

To keep the fluid phase accurate, I used the same grid mesh (which is very fine) as the above single phase case. Therefore, one particle may cover ~100 cells.

So far I have modified the code to implement the forces of
1. Standard quasi-steady drag model (C_D=24/Rep*(1+0.15Rep^0.687)
2. virtual mass force (To calculate the virtual mass force, the material derivative is needed, which means the Ur_old should be saved somewhere. In the current version of CFDEM, Ur_old is not stored in particleCloud class. The current way to save the Ur_old variable crashes my simulation, probably in terms of the memory.)
3. Lift force (See Loth and Dorgan, 2009)

For the voidfraction, I tried to implement Gauss voidfraction template to replace the evenly distribution model (bigParticle).
It looks no obvious improvement in my simulations.

I am using the reference below for my Lagrangian force model:

Section 2 of "E. Loth · A. J. Dorgan, An equation of motion for particles of finite Reynolds number and size, Environ Fluid Mech (2009) 9:187–206"

D Darmana, N Deen, and J Kuipers, “Parallelization of an Euler–Lagrange model using
mixed domain decomposition and a mirror domain technique: Application to dispersed gas–
liquid two-phase flow”, Journal of Computational Physics 220, 216-248 (2006)

Please let me know if anything is unclear.

Thank you for all the effort to make CFDEM better.
I have a splendid experience with this software.
Please keep this going.

Thanks.
rq

cgoniva's picture

cgoniva | Thu, 10/27/2011 - 19:02

Hi rq,

thank you for that insights!

some questions:
>>To keep the fluid phase accurate, I used the same grid mesh (which is very fine) as the above single phase case. >>Therefore, one particle may cover ~100 cells.

so you use unresolved CFD-DEM in combination with a modified bigParticle voidfraction model? Do you artificially blow up the particle's volume to have a voidfraction > 0 ?

>>For the voidfraction, I tried to implement Gauss voidfraction template to replace the evenly distribution model (bigParticle).
in case you want to contribute that model we could put it into the release?

Could you please further comment on the virtual mass force you'd suggest? Probably cou could post the significant LOC?

Cheers,
Chris

rqwang | Fri, 10/28/2011 - 00:17

Hi Chris,

Thanks for reply.

>>To keep the fluid phase accurate, I used the same grid mesh (which is very fine) as the above single phase case. >>Therefore, one particle may cover ~100 cells.
>>so you use unresolved CFD-DEM in combination with a modified bigParticle voidfraction model? Do you artificially blow up the particle's volume to have a voidfraction > 0 ?

I think the voidfraction is working in combination with dense regionAverage model (My guess is that it restrict the voidfraction>0.3) Anyway, I could send you my case code by email if necessary, but intend not to post here, since it's too far to be properly working.

>>For the voidfraction, I tried to implement Gauss voidfraction template to replace the evenly distribution model (bigParticle).
>>in case you want to contribute that model we could put it into the release?

I would like to share the code, even though it has some bugs. I know it crashes at high particle number. Should I send it via email?

>> Could you please further comment on the virtual mass force you'd suggest? Probably cou could post the significant LOC?

volVectorField advection= fvc::div(phi_,U_);

for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
if(mask[index][0])
{
vector virtualMassForce(0,0,0);
label cellI = particleCloud_.cellIDs()[index][0];

if (cellI > -1) // particle Found
{
vector Us = particleCloud_.velocity(index);
vector Ur = U_[cellI]-Us;
vector UrelOld;
for(int j=0;j<3;j++)
{
UrelOld[j] = particleCloud_.UrelOlds_[index][j];
particleCloud_.UrelOlds_[index][j] = Ur[j];
}

if (mag(UrelOld) ==0.0){UrelOld=Ur;}; // for particles first entered the domain
vector ddtUrel = (Ur-UrelOld)/dt;

scalar ds = 2*particleCloud_.radius(index);
scalar Vs = ds*ds*ds*M_PI/6;
scalar rho = rho_[cellI];
virtualMassForce = 0.5 * rho * Vs * (ddtUrel+advection[cellI]);
}

}

I think the present version of virtual mass force crashes at the line of
UrelOld_[index][j] = Ur[j];

Thanks.
rq