-
-
April 29, 2025 at 5:18 pm
valentin.melot
SubscriberHi all!
I'm using Fluent's DPM to model water vapor bubbles inside a tall cubic container filled with liquid water. Each bubble has a constant diameter, mass, and temperature. Thus, Fluent's Inert Heating law does not work (since it requires a change in the particle's temperature). I'm however trying to implement a law very similar to the latter as an energy source to the carrier phase. That law defines the thermal exchange between a bubble and the fluid as: Q = pi*d*d*(T_b - T)*h, where d, T_b, and h respectively are the diameter, temperature, and heat transfer coefficient of the bubble, and T is the fluid temperature at the bubble's center. h is computed using a custom correlation not available in Fluent. I'm using the DEFINE_DPM_SOURCE function to include that heat transfer, with the line: S->energy += Q, where S is the cell's sources structure passed by the function as an argument. The problem is that this function is called several times per particle timestep, which leads to Q being accounted for too many times. Using a simple "=" instead of a "+=" doesn't change anything. I tried scaling Q by multiplying it with "strength*TP_DT(tp)". This basically disperses Q over all the particle iterations within a particle timestep. It "works", in the sense that the source term has its expected value when I test with only 1 bubble, but I see some discrepancies when using 10,000 bubbles. FYI, I force 1 particle per parcel (and it must stay that way), meaning that "strength" is always equal to the inverse of the fluid timestep. Both the fluid and the particle timesteps are kept constant. I have the same problem when trying to add a momentum source as well.Â
Am I missing something here? To illustrate: if the fluid and particle timesteps are 1ms and 0.1ms, the DEFINE_DPM_SOURCE function will be called 10 times during a particle timestep. Thus, "strength*TP_DT(tp)" will be equal to 0.1, effectively dividing Q by 10 since it's gonna be summed 10 times. But I feel sometimes, especially with a lot of bubbles, this rule doesn't work anymore since Fluent might decide to call the function more than 10 times (by doing more sub-iterations).Â
Thanks in advance!Â
-
- You must be logged in to reply to this topic.
-
3019
-
971
-
857
-
772
-
752
© 2025 Copyright ANSYS, Inc. All rights reserved.