Circulating fluidized bed inlet boundary setting problem in TFM

Dear developer,
I am setting up a circulating fluidized bed case in which the circulating structure is simplified to consider only the main part of the fluidized bed. I would like to achieve the simplification effect by setting the inlet boundary conditions and have set them in usr1.f.

  • The inlet gas/solid velocity and the inlet solid phase volume fraction are first defined for the initial conditions, since no solid phase is escaping from the pressure outlet boundary and thus the inlet boundary does not need to be supplemented.

  • When a solid phase escapes from the pressure outlet boundary, the solid phase volume fraction is obtained from the pressure outlet boundary and the average value is calculated, which is then assigned to the inlet boundary to realize solid phase replenishment.

  • SR was defined to store the accumulated solid phase volume fractions for averaging. However, it was found that although SR was accumulated in the first loop, SR was not successfully assigned to bc_ep_s(1,1) when the loop was exited for assignment.

  • ReactionRate(IJK,1) is used in Monitor to observe whether the change in value is reasonable or not, and on the other hand, it is used to temporarily store the obtained exit boundary information.

looking forward to your reply, Thank you very much!


usr1.f (3.7 KB)

1 Like

Hi @ZJUlin - welcome to the MFiX forum.

Please include the .mfx file along with your usr_1.f if you want others to be able to run this example.

I’m not sure I follow your question - what do you mean that "SR was not successfully assigned to bc_ep_s(1,1) " - what are you seeing, and what are you expecting? How is it “not successful” ?

I also don’t quite understand why you are putting reaction rates into bc_ep_s because that variable is a volume fraction, not a reaction rate - different meaning and different units. SR is a rate, not a fraction…

– Charles

I apologize for not adding the example file, I will attach it to this reply. Maybe there was a problem with my explanation in the previous note and it gave you confusion, I’ll explain it again here.

  • The first graph shows the variation of the variables over the simulation time that I got through the monitor. When the simulation goes on for about 1.6 seconds the particles almost reach the exit, and through the graph you can see that there is a clear change in the rop_s at the exit. According to the program I wrote in udf, the rop_s at the inlet boundary should have changed accordingly at this point, but apparently it did not. I looked at the value of the SR inside the DO loop via the write function and it printed a non-zero value, but looking at the SR outside the DO loop with the write function it printed 0, which may be the reason for the eventual failure, but I don’t know why.

  • At first I used the ReactionRate array to store the volume fraction I wanted to be able to visualize through the monitor to see if the volume fraction I got by calculating it this way and finding the correct boundaries. Maybe I should have defined a separate array to calculate and store the volume fraction, so as to avoid misunderstanding and unnecessary trouble.



    mfix.mfx (11.8 KB)
    usr1.f (4.2 KB)