As in this previous post, I am simulating a large scale reactor with different inlets and outlets:
The biomass injection through the inclined wall was posing an issue, as particles start reacting before entering the system or just stay for some time in a tube with a mass inlet. Using the post below and the setup in “pic_flow_bcs.f”, I managed to set a particle injection at some specific region of the bed.
Particles are correctly injected. However, when they ascend, they seem to ignore the particles of the other phase and just fly up in the reactor. Then, they fall down on the free surface, but there seems to be an anomalous behavior of these biomass particles. What could be the reason? Could it be due to the density difference? I have tried to simulate using similar particle densities and the particles move more physically (at least during the first half second).
I have tried to check the behavior of the system if enabling collision damping. In this case, the bed remains completely static. In fact, even initializing a layer of particles on top of the bed, they do not seem to fall by gravity. Please see the .mfx of this specific case.
Also, in the video of the last post, particles seem to overlap a lot in the inclined region of the bed, which is defluidized. Any advice to avoid this behavior?
Is there any way to realisticly represent the behavior of low density particles in a bed using PIC?
Sorry for answering to myself. Just to update, I have tried to implement a wall + mass inflow BC for particles. That is, the reactor sees a wall and particles are injected in the horizontal direction in the picture below, so a bit of the reactor volume is blocked. The case is still running, but the behavior seems more realistic.
Is it possible that I am missing some index, ID or property in my injection subroutine in the previous posts that is preventing the calculation of correct dense phase particle interactions?
You did not include usr3_des.f in your zip file. Go to the main menu ans select send bug report. This will create a zip file with all relevant project files
Thank you for your answer. I did not include usr3_des.f, as I am invoking the injection from the usr1.f fluid side. Please see the bug report uploaded to GDrive (too heavy).
I managed to make it run using another implementation which mainly consists in modifying the pic_flow_bcs.f90 file and invoke the particle injection from there (I called it .txt because it is not allowing to upload an .inc file). Again, there is a point in which, in my opinion, lighter particles ascend very fast to the surface of the bed, and do not seem to interact with the dense phase. What do you think?
/.nfs/home//MFiX/25.1/test_pequeno_2025-05-21T182040.965764/pic_flow_bcs.f90:96:48:
96 | use usr, only: DEM_INJECT_DT, DEM_INJECT_TIME, START_PMODEL
| 1
Error: Symbol start_pmodel referenced at (1) not found in module usr
Looks like usr_mod.f is missing in the zip file.
Is it any better if you turn on collision damping with your latest model?
Also, your stl file has 276K facets, this is probably overkill and it will slow down the simulation. This large stl file is what makes the zip file so large.
Sorry, the case with the latest model was part of a bigger model that includes a particle level model (reactions, source terms, etc.) and particle recirculation, that is why there was some compilation error. I have reduced the number of facets and solved the compilation errors. Please see it attached now:
If I just set collision damping, in any of both alternatives, particles remain completely static. I have also tried to run the loop seal tutorial example and, even with a very high value of the collision damping resitution coefficient, particles seem to be overdamped, I do not understand why. Could this be a bug in the implementation of collision damping?
Another interesting behavior is that, if I initially mix up the two phases, the lower density particles just blow up in the bed and segregate extremely fast. I will try to make a video to reproduce the effect.
This is the behavior I am observing. It would be really useful for me to be able to initialize the bed with initially mixed particles and that they segregate progressively. I am trying to “trick” the case by using large density of the yellow particles at the beginning of the case to try to avoid this segregation and then changing it manually, but I would like to understand this behavior.
Also, collision damping still seems to make the particles stick to each other.
I am still running in circles with this. I am using parcels of 200 kg/m³ in a bed of 3500 kg/m³ and they have very dissimilar statistical weights. They segregate extremely fast at the beginning of the simulation and they seem to partially ignore each other. I have tried to modify PIC solid stress model parameters and nothing works.
Can someone please give me a hint on how to solve this issue? This is the inital configuration of the bed and the behavior of the lighter particles:
I think you are just running into a very well known limitation of PIC. The parcels don’t interact with each other in a Newtonian fashion. I believe @maclarke implemented a solids drag in MFiX some time ago. If it’s still in there, Jeff or Charles could tell you how to activate. You’ll need something like that to prevent excessive segregation in PIC (and other statistical approaches). Or you can give up on PIC and use a “coarse-grained” DEM model. It’s not a physics-based model, just an ad-hoc extension of DEM to consider a particle as many particles, but then the “elements” or whatever you want to call them interact directly with one another.
I have seen this very same case simulated using CPFD and Fluent DDPM. I am implementing a particle-level code in MFiX, this is my benchmark. Seeing it in other software made me think it could be done in MFiX-PIC, and due to the big dimensions of the reactor, CGP would be computationally very expensive. The idea is to have something that works in industrial-size systems.
I will wait for @jeff.dietiker or Charles to confirme me if there is some additional drag available, how to activate it, or any other piece of advice. I am also wondering about the strange behavior of the collision damping option. I think that would do the trick, but I at this point I am completely lost on how to make it work.
I think what Will refers to as solids drag is the collision damping that you have already tried. Have you tried to adjust the PIC parameters to see it this makes a difference?
Yes, I am also trying that. What are the recommended settings for a large difference in densities like this? I am trying with cases like P=1 and gamma=5 (seen in the documentation), and P=1000 and gamma=2 to see if it makes a difference.
Could it be that there is some kind of bug in the implementation of the collision damping? I am particularly concerned about the sticky behavior in the loop seal tutorial example, as shown above.
I found a bug in PIC that was introduced in 25.1. Please try the attached (copy into your project directory and rebuild the solver), and let us know if this makes a difference for you.
Thank you for the answer and for checking on the bug.
The case was running for some days but then it failed. Anyhow, particle segregation was still very aggresive. It may be it is a limitation with the PIC and that collision damping is not behaving as I expected.
I am going to investigate other reactors using MFiX, so I will probably reach you in the future with some other questions. We can close this topic for the moment.