|
[Sponsors] |
Particle Transport Modelling - Fate Diagnostics |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 1, 2010, 22:29 |
Particle Transport Modelling - Fate Diagnostics
|
#1 |
New Member
lee
Join Date: Mar 2010
Posts: 10
Rep Power: 16 |
At the end of each run, the particle fate diagnostics gives Particles 'Left Domain' and Particles 'Collected on walls.'
To find my solution, I adjust inputs until 50% of the particles are collected on the walls and 50% leave the domain. This takes a lot of manual adjusting. Any ideas on how to automate? Last edited by leeportnoff; December 7, 2010 at 14:33. |
|
December 15, 2010, 11:44 |
Transient Particle Diagnostic Routine
|
#2 |
New Member
lee
Join Date: Mar 2010
Posts: 10
Rep Power: 16 |
Ok. I think I am very close now.
In CFX\Samples\UserFortran there is a file called pt_termination.F This custom FORTRAN routine returns a 0 if the particle has impacted a surface or 1 if the particle is still alive. I compiled the routine to a .dll. Then in 'Pre,' I Created a user routine with option 'Transient Particle Diagnostic Routine' Then I created a Function that calls the routine. So the remaining question: how do I access the function and sum the transient particles? |
|
November 18, 2011, 13:05 |
|
#3 | |
Member
Julian Krick
Join Date: May 2009
Location: Guelph
Posts: 88
Rep Power: 17 |
Quote:
Did you find a solution to your problem? I wonder, if you can help me with my problem: I am simulating the impaction of particles on a moving circular cylinder using Lagrangian particle tracking. I found out, that CFX does not consider the particle's radius while checking if a particle has collidet with the cylinder's surface. Thus, the particle is captured, when its centre coordiantes of the coincide with the cylinder surface. However, my case requires, that the particle is captured when the particle surface and the cylinder surface touch. Hence, I need to implement this simple algorithm: Code:
if (x < r_part + r_cyl) then impaction else no impaction
__________________
grid generation: ICEM CFD 13.0 solver: CFX 13.0 |
||
November 18, 2011, 14:43 |
Transient Particle Diagnostic Routine
|
#4 |
New Member
lee
Join Date: Mar 2010
Posts: 10
Rep Power: 16 |
I was not able to figure out how to use pt_termination.F. I solved my problem with standard 'particle fate diagnostics.' One piece of advice... If particles are smaller than 10 um, none of the drag models work correctly. You need to write a custom drag function that incorporates the cunningham slip correction factor.
|
|
December 2, 2011, 18:35 |
|
#5 |
Member
Julian Krick
Join Date: May 2009
Location: Guelph
Posts: 88
Rep Power: 17 |
Thanks for your answer.
How did you manage to solve your problem using the 'particle fate diagnostics'? Me, I also need to know how many particles leave/enter the domain, are collected by walls, or get lost by an integration error for each individual time step. Is the a way to extract this information automatically, or do I have to go through the output-file and look at each time step manually?
__________________
grid generation: ICEM CFD 13.0 solver: CFX 13.0 |
|
December 2, 2011, 21:28 |
|
#6 |
New Member
lee
Join Date: Mar 2010
Posts: 10
Rep Power: 16 |
I was not able to find a way to automate. I'm sure it can be done, but I after a few days, I gave up.
So I did have to read each Solver output file. (After I changed the particle diameter, I only needed to solve one iteration to get the next Fate Diagnostics for the other particle size, so at least I could solve one flow field and run through several particle sizes.) My approach to this problem was as follows: I started with the tutorial "flow through a butterfly valve." From that I learned how to create the flow field, specify the particles and create injection. The next step is to define your impaction surface by setting the Restitution coefficients of a wall to zero. Insert > Boundary, select the surface, Boundary Type is Wall, In the Field Values tab, for select velocity restitution coefficient, enter 0 for the perpendicular and parallel coefficients. In my case, I think just putting 0 in either coefficient works also. I needed to create a custom Fortran routine because my particles were smaller than 10 um. That was the hardest part, but would not be necessary for particles larger than 10 um. |
|
December 5, 2011, 10:23 |
|
#7 |
Member
Julian Krick
Join Date: May 2009
Location: Guelph
Posts: 88
Rep Power: 17 |
Thanks Lee!
I need to run a transient simulation and look at the particle fate every time step. This is not possible to do manually, because there are too many time steps. Thus, I have to find a way to automate the procedure. Maybe I can read the output file in MATLAB and then write an algorithm, which analyses the particle fate at every single time step. This is not very elegant. It would be nicer to write a User FORTRAN, which outputs the particle fate at every time step.
__________________
grid generation: ICEM CFD 13.0 solver: CFX 13.0 |
|
December 5, 2011, 10:55 |
|
#8 |
New Member
lee
Join Date: Mar 2010
Posts: 10
Rep Power: 16 |
I see. Well, it is just a matter of figuring out how to use pt_termination. Of course it is easy with just a few steps. But what those steps are, I haven't figured out. Good luck. Please post here if you figure it out, and I will do the same.
|
|
December 8, 2011, 14:00 |
|
#9 | |
Member
Julian Krick
Join Date: May 2009
Location: Guelph
Posts: 88
Rep Power: 17 |
Quote:
You find the program and a sample output file in the attachement.
__________________
grid generation: ICEM CFD 13.0 solver: CFX 13.0 |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Particle fate "Integration error" | ghorrocks | CFX | 5 | December 13, 2011 12:03 |
DPM UDF particle position using the macro P_POS(p)[i] | dm2747 | FLUENT | 0 | April 17, 2009 02:29 |
particle transport model | Fabiana | CFX | 0 | January 10, 2006 16:00 |
convergence in particle transport model | Jose Tinoco | CFX | 0 | March 3, 2003 04:10 |