problems refering to the cfdemSoverIB method with two liquids.

Submitted by Jak on Tue, 07/10/2018 - 14:23

Hallo CFDEM-community,

I have some rather tricky problems refering to the cfdemSoverIB method with two liquids.

For my master thesis I am trying to use the cfdemSolverIB approach (see the Glowinski tutorial) to simulate particles with a second fluid phase. The aim is something like the CFDEM Ergun tutorial (which is done „unresolved“ with one liquid phase) with a bed of particles and two liquids.

Something like this would be really nice: https://vimeo.com/224478469
(I assume that this was done based on the unresolved cfdemSolverPiso, right?)

I assume that it have to do it „resolved“, so the cfdemSolverPiso approach wouldn‘t work for me. (In another thread Christoph Goniva wrote the the unresolved cfdemSolverPiso required that the cell/particle ratio needs to be at least 3:1or so).

The „unresolved“ case has successfully been implemented already. See the this post publication by Louis Jing. For industrial applications there is a commercial solution by the cfdem project. Jing said, that he did it based on a master thesis by Klemens Gruber. See also the comment below by keepfit. This seems to be the obvious approach.

Unfortunately I am just some engineering student with basic knowledge of programming, but I am by far no trained coder. So my approach is to look at the stuff already developped and to try to adapt it to my needs.

The cfdemSolverIB basically works like this (see the dissertation by Alice Hager chapter 2 for further explanation of the concept):

- first the effects of the fluid on the particle is calculated (DEM)
- then the momentum equation is solved over the entire domain (particles are considered as fluid!) (CFD)
- finally the the pressure and the fluid velocity „in“ and around the particles is corrected (this is done with the calcVelocityCorrection function of the cfdemCloudIB)

I had some initial success with the following approach:

Basically I analysed interFoam (for the VoF stuff) and cfdemSolverIB (for the particles). I assumed that I could keep the working interFoam solver for the CFD and add the particle calculation from cfdemSolverIB for the DEM. The particle sees the second phase only, because the density and viscosity change (VoF method). The source code for interFoam is this with the UEqn, the pEqn and the createFields files. The code for cfdemSolverIB is this plus the createField files.

The only particle stuff in the cfdemSolverIB seems to be:
- line 50-61 files for the particles
- line 76 for the dynamic mesh
- line 91-97 for the creation of particles
- line 107-109 calculation of dynamic mesh
- line 120-122 calclation of the DEM (fluid on particle)
- line 199 this comes out of the continuum equation
- line 224-226 for the correction of the pressure and the fluid velocity

(The particle stuff needs to be added to the createFlieds.H as well.)

For the case setup I worked based on the Glowinski tutorial and integrated the VoF stuff from the dambreak (openfoam).

Ok, that‘s that.

Now there are problems.

The solver works insofar as there are two liquid phases and particles. Unfortunately the particles move randomly. When I put a particle on the interface of the liquids and the particle has the density of 500 and the liquids are air and water (1 and 1000) the partice should swim like an iceberg, right?

Unfortunately this happens:
https://vimeo.com/279088022

It looks like water is sucked into the particle. (I kept the particle glyph representation out to make the effect clearer...)

This result is obviously nonsensical.

When I put the particle (density 1) above the fluid interface it should stand still. In the Glowinski tutorial this works with a particle density 1 (the default density of the fluid is one). With my solver the particles fly up.

The Glowinski tutorial looks like that (default density of the particles is 1.5):
https://vimeo.com/279092709 (Ok apparently vimeo didn't process this video correctly. I will update the link tomorrow...)

Compare this to my solver. I set the density of the particle to 1. So it should stand still in the air. This doesn‘t happen (a particle under the surface shows the same behaviour):
https://vimeo.com/279095967

Apparently NO phiIB field and NO pressure around the particle got calculated!!!
Could it be that the particle calculation gets hindered by something?

So now come the questions:

- interFoam is build on pimple and cfdemSolverIB uses piso. I build the solver based on interFoam so it works with pimple. I noticed that I needed to keep the piso stuff in the fvSolution folder to run a case. Could it be that this is why the calculation of the calcVelocityCorrection (hence no phiIB or p around the particles) doesn‘t work properly? Do I need to addapt more stuff in the particle calculation to pimple? And if so what?

- Could it be that the use of pressure as kg/ms² in interFoam and of m²/s² in cfdemSolverIB makes problems? Usually for incompressible fluids the pressure is set at presssure/density (because the density is constant). In interfoam the density is obviously not constant so density needs to be included explicitly in the momentum equation. I used for the CFD calculation p_rgh as pressure and set the p as pressure/density. Could this lead to problems and confuse the particle calculation?

- What about my approach in general? I noticed that apparently nobody has integrated (successfully) a second liquid pase into cfdemSolverIB (at least I didn't find anything published). Are there any inherent problems? Can the solver only handle one liquid (with one density?). So is my entire approach dumb to begin with and can‘t work properly?

THANKS TO THOSE FEW HOW TOOK THE TIME TO READ THIS ENTIRE POST!

I think it needed to be this long to explain my problems...

Any feedback is welcome.

Are there people in the CFDEM community, who already tried to integrate VoF into ccdfemSoverIB? There are already threads on VoF and CFDEM, but it seems to be all based on the „unresolved“ Solver...

Best regards,
Jakob

shademani | Thu, 05/23/2019 - 22:50

Hello Jak,
Thank you so much for your explanation. It was very useful and helped me a lot
I am a new CFDEM user and I am trying to integrate Vof into CFDEMSolverIB.
As you mentioned you have found some information from 'Glowinski tutorial' and ' based on a master thesis by Klemens Gruber', but I could not find these references. I would appreciate it if you could share these references with me.
Could you solve your problems and did you find any advices ?
Best regards,
Shadi