viscoelastic flow with particles

Submitted by heliana60 on Mon, 03/21/2016 - 15:25

Hey there,

I've been writing on and off in this forum, because I couldn't work 100% with CFDEM, but now I can :)

In other forums I posted some problems I had when compiling CFDEM, which I managed to solve now, so all solvers are running.

I would like though to implement a solver that includes viscoelastic effects in the flow with particles. I just started by modifying the existing cfdemSolverPiso tio inlude diverse viscoelasticModels that are already in OpenFOAM 1.6 ext (viscoelasticFluidFoam solver).

First modifications were more or less simple, anyways the first problem I encounter is that since I do not include turbulence (I am for low Re numbers) and I disable somehow this in my solver, when I try to run it I get the next:

--> FOAM FATAL ERROR:

request for turbulenceModel turbulenceProperties from objectRegistry region0 failed
available objects of type turbulenceModel are
0()

From function objectRegistry::lookupObject(const word&) const
in file /home/hcardenas/OpenFOAM/OpenFOAM-3.0.x/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 198.

Which I guess, though I am not including turbulentmodels, cfdemCloud still requires a turbulentModel? (I pressume I am stuck in something simple :( )

Has someone done something similar? I am still far from modifying the drag models, just starting with the solver,

If you guys have any feedback, it would be welcome!

thanks! have a nice day,

Heliana

heliana60 | Mon, 05/09/2016 - 08:55

Hello there,

I "created/adapted" a solver using the cfdemSolverIB based on the viscoelasticFluidFoam solver included in openFoam-1.6-ext. It solves viscoelastic flows depending on the constitutive equation you need. There are different models already in openFoam-1.6-ext that can be used, like Oldroyd-B model. I am using this new cfdemSolverIBVisco to solve the viscoelastic flow and to calculate the viscous forces coming from the non-Newtonian fluid I use to immersed bodies.

I created a new force instead of the IBDragPerV_ already implemented because my flow is non-Newtonian. So my new force will be:

IBViscoDragPerV_ = rhoField()*(divStress-fvc::grad(p));

Where divStress is the divergence of the stress that sums the divergence of the non-Newtonian stress and the divergence of the Newtonian stress. (I created a new subModel where I called this force just so I do not modify the already existing ShirgaonkarIB model. )

So far so good, the cfdemParticle compiles without errors and the new solver as well. The problem comes when I run the case that is in the tutorial (1 or 2 particles) the solver runs good with all contCumulative_0 in the order of 10^-8 until the simulation kind of explotes and Co number goes to 10^29 ..... When I use 1 particle this happens just before touching the bottom of the box. When I use 2 particles (like in the twoSpheresGlowinskiMPI tutorial) the system crashes a bit further from the bottom. Force increases there rapidly (more due to the grad(P)) at this point before crashing.

I am checking which the cause could be and as soon as I know I will share here. If someone has done something similar or could give a hint/advice it would be really nice!

Have a nice week,

Heliana

Riccardo Maione's picture

Riccardo Maione | Wed, 06/08/2016 - 10:00

Hello Heliana,

I had the same problem with a "normal" solver, i was trying to use CFDEM with granular and lubrication interactions. My guess is that you are using a high viscosity fluid. Now the courant number is a measure of "how many cells can i pass in one time step?" as it is something like u*dt/dx, however you may have big drag forces induced by the high viscosity, creating very high fluxes between cells, so my suggestion would be to lower the fluid time step AND the coupling time step maybe you can send me an e-mail if u want to better investigate the matter.

Riccardo

heliana60 | Wed, 06/29/2016 - 16:36

Thank you for answering. I more or less got my solver running, and tried for smaller viscosities and it works more or less stable, but yes indeed my problem comes when I increase the viscosity, which is my main goal. Though the simulation runs I get some "weird" looking velocity vs time for the particle sedimenting. ( I am sorry if I didn't say it before, but i am staring only for these cases with just one particle sedimenting). With weird I mean velocity reaches its settle value and then every certain time there are jumps or discontinuities, I am not sure how I could tune this with the time step (CFD or DEM) :(

Sorry I don't have your email,
Heliana

Yuhan_Wang | Tue, 03/30/2021 - 13:30

Basically, I meet the same problem as you. The large viscosity results in a high Courant number and my model diverges. I also tried the method of reducing the time step, inducing trivial improvements. Have you finally solved this issue? Sorry it has been a long time.

Han.

mofazli | Tue, 07/13/2021 - 06:28

Hi Han,
Did you find any solution for the high viscosity problem? I am facing the same issue when I specify a high viscosity for cfdemSolverIB in a settling particle.
cheers,
Mo