Very small particles (typically < 1 micron) do not obey Stokes law for drag when they are suspended in a gas. The particles are so small that they experience interactions with the gas not as a continuum, but as individual collisions. The main outcome of this is that the assumption of a no-slip boundary on the particle’s surface is no longer true. Small particles have less drag than is calculated by Stokes law, and this can be corrected for using Cunningham slip correction factor.
The Cunningham slip correction factor can be set in Fluent when defining the injection. So, say you have a particle injection of 0.1um diameter, you can set the drag law to “Stokes-Cunningham” and add the Cunningham slip correction factor as a constant (say “11.0”) that is relevant to the size of that particle.
But what if you’re particle is changing in size as it moves through the domain ? What if you particle is growing through condensation, or losing mass through evaporation ? What if you inject a distribution of particle sizes rather than just one size ? In these cases, the particle will have a diameter-dependent Cunningham slip correction factor – it won’t be just one value.
There’s no option to support this in fluent, so I have wrote a quick UDF that deals with it. I have tried to stick to the Fluent defaults as much as possible. To calculate the drag, I’ve used the same source as Fluent for it’s default, “spherical” drag law (Morsi and Alexander, 1972). To calculate the Cunningham Slip correction factor, I’ve used the formula given in the Fluent Theory Guide (page 386, eqn 16.69). it’s worth noting here that the constants used in the Cunningham correction formula here are for air, if you’re looking at a different gas you’ll need different constants (see the Wikipedia article: https://en.wikipedia.org/wiki/Cunningham_correction_factor). I’ve used the mean free path formula for air, taken from Flaggan and Sienfield (2012, p. 296) and added the values that are constants assuming a pressure of 1atm:
equation 1: mean free path of air
Fluent’s receives the drag force in the form of the dimensionless group 18*Cd*Re/24. So as you’ll see below the drag force is converted to this before it is returned to Fluent, and the Cunningham correction is also applied as appropriate.
Here is the resulting UDF, which must be “complied” and must be “hooked” as described in the Fluent UDF manual for Define_dpm_drag. Please feel free to use my code, as long as you reference my blog.
/*the following implements a diameter-dependent Cunningham slip correction factor*/
/*Actual drag coeffs used by Fluent have been referenced-chased (Morsi, SA. Alexander, AJ. (1972). An investigation of particle trajectories in two-phase flow systems)*/
/*CFDYouself.blogspot.co.uk, JRH, 09.10.15 */
#include "udf.h"
#include "math.h"
DEFINE_DPM_DRAG(cunningham_drag_force, Re, p)
{
cell_t c = P_CELL(p);
Thread *t = P_CELL_THREAD(p);
real lambda;
lambda = 0.0002135166*C_MU_L(c, t)*sqrt(C_T(c, t));
real Cc;
Cc = 1 + (2 * lambda / P_DIAM(p))*(1.257 + 0.4*exp(-1.1*P_DIAM(p) / (2 * lambda)));
real Cd, drag_force;
if (Re < 0.1)
{
Cd = 24 / Re;
drag_force = 18*Cd*Re/(24*Cc);
return (drag_force);
}
else if (Re < 1)
{
Cd = 22.73 / Re + 0.0903 / (Re*Re) + 3.69;
drag_force = 18 * Cd*Re / (24*Cc);
return (drag_force);
}
else if (Re < 10)
{
Cd = 29.1667 / Re - 3.8889 / (Re*Re) + 1.222;
drag_force = 18 * Cd*Re / (24*Cc);
return (drag_force);
}
else /*if (R < 100)*/
{
Cd = 46.5 / Re - 116.67 / (Re*Re) + 1.6167;
drag_force = 18 * Cd*Re / (24*Cc);
return (drag_force);
}
/*included incase needed later - not needed here.
else if (Re < 1000)
{
Cd = 98.33 / Re - 2778 / (Re*Re) + 0.3644;
drag_force = 18 * Cd*Re / 24;
return (drag_force);
}
else if (Re < 5000)
{
Cd = 148.62 / Re - 4.75e+4 / (Re*Re) + 0.357;
drag_force = 18 * Cd*Re / 24;
return (drag_force);
}
else if (Re < 10000)
{
Cd = -490.546/ Re - 5.79e+5 / (Re*Re) + 0.46;
drag_force = 18 * Cd*Re / 24;
return (drag_force);
}
else
{
Cd = -1662.5/ Re - 5.42e+6 / (Re*Re) + 0.5191;
drag_force = 18 * Cd*Re / 24;
return (drag_force);
} */
}
Morsi, SA. Alexander, AJ. (1972). An investigation of particle trajectories in two-phase flow systems. Journal of Fluid Mechanics, 55(2), pp 193-208.
Ansys, (2013). Ansys fluent theory guide release 15.0. Canonsburg: Ansys inc.
Flaggan, R. and Sienfield, J. (2012) Fundamentals of air pollution engineering. Mineloa: Dover Publications.
No comments:
Post a Comment