Boundary conditions for PIC simulation

Dear forum,

I am aiming to simulate a big reactor for gasification using PIC. For the moment, I am just testing a small domain. However, I am having some questions with how to apply the relevant BCs. The snapshots show the geometry reactor, with MI at the bottom, PO at top, a PO at the bottom small diameter inclined tube and a MI at the top small tube. In fact, the bottom PO and the top MI are connected through a riser and cyclone, which I aim to replicate as a change in temperature and composition of the particles between the PO and the MI (I found a post in the forum indicating how to “connect” two boundaries).

When setting the boundary conditions of these two small tubes, I find the issue that CG-MI is not compatible with PIC, neither does PS. The two small tubes are not in the same plane, so I cannot reduce the size of the domain without interferring with the main .stl walls.

Any clue on how to use a MI condition in that region? In fact, for future developments of this model, biomass will be introduced through the inclined part of the reactor. I was thinking about making smaller STL regions and selecting them for the biomass input, but the fact CG-MI and PS are not allowed comlicates things a lot.

Any support in this regard would be much appreciated.

Thank you,
Eduardo

Hello,

I have managed to get rid of the need of CG_MI by rotating the problem and doing some bricolage on the BCs. However, I am still wondering how to apply a mass inflow in the inclined part of the reactor.

Also, do you have any recommendation for code analysis and dependency trees? I normally do it manually, but I am going to do some modifications in the code. For example, following the following thread to replicate the riser, and I want to make sure I understand everything I am doing. How to count the number of parcels in the solid outlet, and then inject the same number of parcels to the solid inlet in MFIX-PIC? - MFiX - NETL Flow Science Software Support (doe.gov)

Thank you!

Hello,

Any help on how to set the biomass injection through the inclined wall of the system?

I have though about creating a large tube for the particles to enter the system and use a normal MI boundary condition. However, air will enter that tube, which will promote the particles to start reacting before entering the reactor.

Then, if the tube is too small, that forces me to use a very fine mesh for the .stl.

Sorry for the insistence, but any help in here would be really appreciated!

Thank you!

You should be able to extend the inlet tube so it goes past the MFiX box. Then apply the MI BC over a rectangular region that encompasses the intersection of the inlet tube and the box.

Thank you for your answer.

This was our first idea. However, in a previous experience, we saw that particles started to react inside the tube before entering the bed, as air can enter it, and this is unrealistic.

Is there any other possibility? For example, using this stategy combined with some internal surface that does allow the particles to go through but not the gas?

I wouldn’t say it is unrealistic for air to enter the tube, but I guess you want fresh particles to enter as close as possible to the cylindrical reactor. I think you could

a) Set the reaction rate to zero where particles are inside the inlet tube. Use a conditional statement based on the particles coordinates.
b) Add a rectangular box of No-slip-walls to cover most of the tube. Then you apply the MI BC along the area where this box is in contact with fluid cells. This would work if your inlet is aligned with the x or z direction.

Dear Jeff,

Thank you for your answer. Both solutions seem pretty good. In fact, I did not know that setting a MI boundary condition next to a wall even if this MI is “inside” the regions of the system would work (if I understood well). I will give it a try and get to you as soon as I have something.

Dear Jeff and all,

I will come back to this topic instead of creating a new one. This is also in combination with also another topic I am dealing with, which involves a complex particle-level code:

https://mfix.netl.doe.gov/forum/t/implementation-of-a-particle-level-model/

Regarding the BC setting for this specific case (ignoring for the moment the particle-level). I set up the case as indicated previously, where the two black boxes covers part of the tube and then I have a mass inflow of fresh biomass close to the inclined wall.

The problem I am observing is that the case runs smoothly but then I am getting an error, T_g < TMIN after around 0.2 s. I am monitoring the minimum T in the system and it seems ok until I reach this problem and it jumps from 293 K to TMIN (I don’t know why). In fact, it also occurs when removing the chemical reactions out of the system (setting A = 0 in all of them). So it is not a matter of the reactions. What could I be doing wrong? Is it possible that the mesh is creating this disturbance? Why is the minimum T jumping to TMIN and not any other value?

I am aware that some parcels are seeded out of the domain and that the SW for PIC is very big, but in view of the case running for some time and then finding this error I believe this is unrelated. Any piece of advice on how to improve the model is highly appreciated.

Please see attached the .stl and the .mfx files that run the model.

Thank you for your kind help,
Eduardo

geometria_coarser.stl (1.9 MB)
test_pequeno.mfx (37.1 KB)

Hello,

I have rerun the case with an improved meshing of the .stl, removing the mass inflow feature at the left of the model, removing the chemistry and having overall non-flux boundary conditions and I am still having the same issue. I am also using MFiX 25.1 just in case. What could be the problem? The case works with only gas, which makes me wonder if it is a problem between the inclined walls and the particles when they collide.

Any help is deeply appreciated. Please see below the last version of the tested case.

Thank you,
Eduardo

test_pequeno.mfx (37.5 KB)

Hello again,

Just to complete, I have tried to reduce the overall mesh size and change the discretization to first order and the same problem appears. Interestingly, if I scale down the problem (0.25 times its size and decreasing the statistical weight and mesh size accordingly it does not fail…

What could be the reason?

Thank you,
Eduardo

Hello,

Sorry to insist. Any hint this could be happening/avoided? I tried lowering down TMIN in check_mod30.f to TMIN-1 to avoid triggering this error, but the case ends up diverging and the monitor shows a lot of times a minimum temperature of the system of 50 K.

Thank you!
Eduardo

Sorry for the delayed response. We’ll try to have a look at this this week.

1 Like

I briefly looked at it last week, and it seemed to be triggered by large statistical weight. I will take a closer look when I get a chance.

Hello,

Thank you for taking a look at it. I have decreased the statistical weight and refined the mesh and the problem persists. Please see attached the latest version of the case, including a snapshot of the minimum temperature monitor. I also tried to refine the .stl mesh in case this improves a bit.

In case the energy equation is deactivated (and all other relevant T-related features) the case runs smoothly.

test_pequeno.mfx (48.1 KB)
geometria_finest.stl (21.1 MB)

Any reason this could be happening?

Thank you for your help!

Can you please try with explicit coupling (Solids>PIC>Advanced, check “Enable Explicit coupling of interphase quantities”). Seems to not trigger that TMIN error for me.

1 Like

Yes, it works smoothly!! Thank you very much!
What is the rationale behind it? In general, the case seems more robust.

Also, isn’t the Explicit coupling of interphase quantities limited to hydrodynamic simulations? I have been running it with reactions and it seems to be solving them, together with the temperature distribution of the fluid and solid.

Thanks again!
Eduardo

We’ve removed the sentence “limited to hydrodynamic simulations” from the documentation since this is no longer the case.