Particle Transport Modelling - Fate Diagnostics
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? |
Transient Particle Diagnostic Routine
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? |
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) |
Transient Particle Diagnostic Routine
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.
|
Thanks for your answer.
Quote:
|
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. |
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. |
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.
|
1 Attachment(s)
Quote:
You find the program and a sample output file in the attachement. |
I found a way to solve my problem using a User Fortran. I posted the solution here.
|
All times are GMT -4. The time now is 06:26. |