CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Fluent UDF and Scheme Programming (
-   -   Looping inside UDF and use of C_UDMs in DEFINE_DPM_BC (

shankara.2 November 10, 2009 18:11

Looping inside UDF and use of C_UDMs in DEFINE_DPM_BC
Hi all

I have written and successfully executed a DEFINE_DPM_BC UDF in steady state DPM and now I want to make some changes to it and would like some insight before I go ahead and do this.
Just a little information about my UDF.
The UDF will be applied as a BC on one of my walls. The UDF calculates the normal velocity and critical velocity (based on Young's modulus of particle, Ep) for each particle and decides whether the particle sticks to the surface by comparing these velocities. If the particle is found to be sticking based on the criteria, the particle path is aborted and a C_UDMI is incremented by a value of 1. Another C_UDMI is incremented by the mass of the particle. Thus, if I inject 100 particles, once particle tracking is finished, FLUENT prints out the 'aborted' and 'escaped' number of particles on the screen and also the corresponding mass flow rates for 'aborted' and 'escaped' particles. This helps me find out the capture efficiency. But the problem I'm facing is that when I add the UDM's that keep track of no. of particles sticking and their mass, it doesn't always add up the number printed on the FLUENT console.

Also, I need to try different values for Ep(say 10e06 to 10e09) and calculate the capture velocity and inturn the capture efficiency for each value of Ep to see which one fits the experimental value better. Now how do I add up all my UDM's inside the DEFINE_DPM_BC macro?
C_UDMI(c,t,0) += 1;
This is what I use when the normal velocity is less than capture velocity for any particle and the particle sticks. But the issue when a number of particles hit the wall at the same time. Then, instead of this DPM macro running for every single particle, it runs for all particles at once. How do I add up all the UDM values inside the macro such that if I inject 100 particles, my BC will be run for all 100 particles and if 40 particle stick, the UDM value will be incremented until it reaches 40. Am I clear in my question? Let me know if you need more information.



All times are GMT -4. The time now is 09:06.