# Particle Reynolds number calculation in Lagrangian tracking?

 Register Blogs Members List Search Today's Posts Mark Forums Read

 June 19, 2012, 02:21 Particle Reynolds number calculation in Lagrangian tracking? #1 Senior Member   Jie Join Date: Jan 2010 Location: Australia Posts: 134 Rep Power: 15 Dear foamers I am trying to implement the Srudhar and Katz bubble motion equation in the OpenFOAM. Hence, I looked at the exisiting Sphere Drag force model. I found there might be a possible mistake in calculating the particle Reynolds number. Particle Reynolds number is defined as Re_p = |U_rel|*d_p/nu_c, where U_rel is the relatvie velocity between the particle and carrying phase, d_p is the particle diameter and nu_c is the kinematic viscosity of the carrying phase. However, I found OpenFOMA uses the particle velocity (U_) instead of the relative velocity to calculate the particle Reynolds number (see line 110 in http://foam.sourceforge.net/docs/cpp/a05113_source.html). I am not sure whether this makes sense to everyone. Did anyone have this problem before? Thanks a lot. Jie

 June 19, 2012, 02:31 #2 Super Moderator     Niklas Nordin Join Date: Mar 2009 Location: Stockholm, Sweden Posts: 694 Rep Power: 28 You are refering to this line: Code: ``` // Reynolds number const scalar Re = this->Re(U_, d_, rhoc_, muc_);``` but if you check KinematicParcelI.H you will find that Code: ``` template inline Foam::scalar Foam::KinematicParcel::Re ( const vector& U, const scalar d, const scalar rhoc, const scalar muc ) const { return rhoc*mag(U - Uc_)*d/(muc + ROOTVSMALL); }``` which is what you want likres likes this.

June 19, 2012, 02:50
#3
Senior Member

Jie
Join Date: Jan 2010
Location: Australia
Posts: 134
Rep Power: 15
Quote:
 Originally Posted by niklas but if you check KinematicParcelI.H you will find that Code: ` return rhoc*mag(U - Uc_)*d/(muc + ROOTVSMALL);` which is what you want
Hi niklas

Thanks for the quick reply.This means the U_rel is defined as "U_p - U_c". The drag force is defined as

F_d = 0.5*Cd*rho_c*A_p*|U_c-U_p|*(U_c-U_p).

If OpenFOAM uses the U_rel = U_p - U_c.

Then, should F_d = -0.5*Cd*rho_c*A_p*|U_p-U_c|*(U_p-U_c) instead?

Jie

 June 19, 2012, 03:05 #4 Senior Member   Jie Join Date: Jan 2010 Location: Australia Posts: 134 Rep Power: 15 I think I found the answer: F = Sp(U - Up) + Su When they evaluate the force with the value.Sp, it is multiplied by (U_c-U_p), hence, there should not be a negative sign in the front. Jie

July 5, 2012, 10:13
#5
New Member

Join Date: Jan 2011
Posts: 9
Rep Power: 14
Quote:
 Originally Posted by niklas You are refering to this line: Code: ``` // Reynolds number const scalar Re = this->Re(U_, d_, rhoc_, muc_);``` but if you check KinematicParcelI.H you will find that Code: ``` template inline Foam::scalar Foam::KinematicParcel::Re ( const vector& U, const scalar d, const scalar rhoc, const scalar muc ) const { return rhoc*mag(U - Uc_)*d/(muc + ROOTVSMALL); }``` which is what you want
Hi nikolas,

I have a similar problem. In dieselFoam all non dimensional numbers are calculated in Parcel.H
but none of them gets written in the output data fields. Please can you elaborate how to get these non dimentional numbers at the output.

e.g. in parcel.H

scalar We
(
const vector& U,
const scalar rho,
const scalar sigma
) const;

And more over there is parcelFunctions.C which calculates theses non-dimensional numbers, is there any way to benefit from these.

July 6, 2012, 04:47
#6
New Member

Join Date: Jan 2011
Posts: 9
Rep Power: 14
Quote:
 Originally Posted by MMK Hi nikolas, I have a similar problem. In dieselFoam all non dimensional numbers are calculated in Parcel.H but none of them gets written in the output data fields. Please can you elaborate how to get these non dimentional numbers at the output. e.g. in parcel.H scalar We ( const vector& U, const scalar rho, const scalar sigma ) const; And more over there is parcelFunctions.C which calculates theses non-dimensional numbers, is there any way to benefit from these.