Closed ruddymell closed 4 years ago
CONV_LENGTH
for cylinders and spheres is the diameter.
SELECT CASE(SF%GEOMETRY)
CASE(SURF_SPHERICAL)
SF%CONV_LENGTH = 2._EB*(SF%INNER_RADIUS+SF%THICKNESS)
CASE(SURF_CYLINDRICAL)
SF%CONV_LENGTH = 2._EB*SF%THICKNESS
CASE DEFAULT
SF%CONV_LENGTH = 1._EB
END SELECT
The THICKNESS
is the radius.
From what I can see, the length scale L in Re=rhouL/mu is, when the particle model for vegetation is used, L = SFX%CONV_LENGTH = 2/SURFACE_VOLUME_RATIO in computation of the convective heat transfer coefficient and L = 2 * SFX%CONV_LENGTH in the vegetation particle pyrolysis
This is the vegetation pyrolysis routine. The length scale is 2(2/sigma)=2r for a cylinder.
CASE (PYROLYSIS_VEGETATION)
! Tech Guide: r_alpha,beta (1/s)
REACTION_RATE = ML%A(J)*(RHO_S(N)/RHO_S0)**ML%N_S(J)*EXP(-ML%E(J)/(R0*TMP_S))
! power term
IF (ABS(ML%N_T(J))>=TWO_EPSILON_EB) REACTION_RATE = REACTION_RATE * TMP_S**ML%N_T(J)
! Oxidation reaction?
IF ( (ML%NU_O2_CHAR(J)>0._EB) .AND. (O2_INDEX > 0)) THEN
! Get oxygen mass fraction
ZZ_GET(1:N_TRACKED_SPECIES) = MAX(0._EB,ZZ(IIG,JJG,KKG,1:N_TRACKED_SPECIES))
CALL GET_MASS_FRACTION(ZZ_GET,O2_INDEX,Y_O2)
CALL GET_VISCOSITY(ZZ_GET,MU_AIR,TMP(IIG,JJG,KKG))
U_TANG = SQRT(2._EB*KRES(IIG,JJG,KKG))
RE_L = RHO(IIG,JJG,KKG)*U_TANG*2._EB*(2._EB/SF%SURFACE_VOLUME_RATIO(SF%LAYER_INDEX(I_INDEX)))/MU_AIR
Right, but this length scale (cylinder diameter) is not used to compute the Re used in the empirical correlation for convective heat transfer on a cylinder. The radius of the cylinder is used instead.
OK, so you're saying that the vegetative pyro correlation is right, but the convective HT is not?
An other way of saying this -- it appears that currently FDS is using the diameter for all these different Re formulations. Are you saying that it should use radius for one of them?
The length scale in the Reynolds number is the diameter for pyrolysis Re and the radius for the Re in convective HT. So, yes, correct in pyro, incorrect in convective HT. I think the Re length scale is correct in the drag. I don't think the cylinder radius should be used as the length scale in any of these, it should be the diameter.
Yes, but do you mean to say that FDS is incorrectly using a radius when it should be using a diameter? That is, have we improperly coded something, and if so, what line exactly?
In the FUNCTION HEAT_TRANSFER_COEFFICIENT, the Reynolds number for particles is computed in two places:
DEFAULT, RE = ONE_DX%RHO_GONE_DX%U_TANGSFX%CONV_LENGTH/MU_G, and CONV_LENGTH = 2 * THICKNESS
BLOWING_SPHERE, where RE = RHO_AIRVRELLENGTH/MU_AIR, and LENGTH = 2 * R_DROP
So, looks like diameter in both places. But this brings up a separate issue, which is that for pyrolyzing particles, it would be good to use the BLOWING versions, which will decrease the rate of heat and mass transfer.
Sure, but are the current correlations correct? Let's first make sure of that.
@mcgratta I assume you are commenting on the blowing versions of HTC. All I can tell you is that they are more accurate than using a correlation without blowing. If you are somehow getting the right answer with correlations that don't include blowing it is pure luck. We should fix this before we keep marching down the road of tuning a code to match data with faulty underlying assumptions.
What is mean to say is that I want to resolve the original issue---whether or not we are using the correct and consistent formulation of Re in these various particles routines. Then we can open up a new issue and explore the use of BLOWING.
So, we are asking: are the vege and particle formulations consistent? In other words, we have two places in the code where we should just have the same code? Let's take this opportunity to make sure there is only one code.
No, we are asking if the various Re numbers used in HT, pyrolysis, drag are consistent. That is, are we using the particle diameter in each, or are we using both r and/or D inconsistently. I believe that we are using D consistently, but I want to check with Ruddy. This is the original issue. Even if we create a function call for Re, we still have to send it the right length scale. That's what we're trying to nail down here.
I went through the code and ran a simple test for the particle model and boundary fuel model. The numbers work out for the particle model, but not for the boundary fuel model. For a particle, the length scale used in the Re computations is the diameter of a cylinder, as it should be. However, for the boundary fuel model this definition of the length scale IF (ANY(PACKING_RATIO>0._EB)) CONVECTION_LENGTH_SCALE = 2._EB/SURFACE_VOLUME_RATIO(1) should be multiplied by 2 to get the diameter. My apologies, I was confused earlier because I thought the above definition for CONVECTION_LENGTH_SCALE was used for both the particle and boundary fuel models.
OK. I'll have to check whether that's just a coding error or if I picked it up in a paper.
Good catch. I made the fix.
Alas, two wrongs made a right. Fixing the CONVECTIVE_LENGTH
threw the case called WUI/ground_vegetation_conv.fds
out of tolerance. This case worked before because the convective length was too low, but the amount of mass to heat up was too high. That is, the air mixed with the vegetation in the Boundary Fuel Model does have an appreciable mass. So I now make its specific heat artificially low so that the AIR mixed with vegetation does not consume energy. We already have the air in the first gas phase grid cell. Including it in the boundary led to double couning.
It appears that particle Reynolds number computed in wall.f90 for the convective heat transfer coefficient: RE = ONE_DX%RHO_GONE_DX%U_TANGSFX%CONV_LENGTH/MU_G is a factor of 1/2 smaller than RE in the pyrolysis section: RE_L = RHO(IIG,JJG,KKG)U_TANG2._EB*(2._EB/SF%SURFACE_VOLUME_RATIO(SF%LAYER_INDEX(I_INDEX)))/MU_AIR due to the choice of the length scale. It seems that the particle radius is used in the convective heat transfer Re and (correctly) the particle diameter in the pyrolysis Re.