CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Particle Reynolds number calculation in Lagrangian tracking? (http://www.cfd-online.com/Forums/openfoam-solving/103390-particle-reynolds-number-calculation-lagrangian-tracking.html)

jiejie June 19, 2012 02:21

Particle Reynolds number calculation in Lagrangian tracking?
 
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

niklas June 19, 2012 02:31

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<class ParcelType>
inline Foam::scalar Foam::KinematicParcel<ParcelType>::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

jiejie June 19, 2012 02:50

Quote:

Originally Posted by niklas (Post 367137)
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

jiejie June 19, 2012 03:05

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

MMK July 5, 2012 10:13

Quote:

Originally Posted by niklas (Post 367137)
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<class ParcelType>
inline Foam::scalar Foam::KinematicParcel<ParcelType>::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.

MMK July 6, 2012 04:47

Quote:

Originally Posted by MMK (Post 369934)
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.

Please Can any one answer,


All times are GMT -4. The time now is 01:14.