CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Drag coefficient for parcels in dieselFoam (http://www.cfd-online.com/Forums/openfoam-solving/58167-drag-coefficient-parcels-dieselfoam.html)

 sebastian_vogl December 29, 2008 19:29

Hello everybody, I have an

Hello everybody,

I have an urgent problem regarding the calculation of the drag coefficient for parcels in the dieselFoam solver. I use the standard Drag model, which calculates the drag coeffcient (see standardDragModel.C) with the function Cd():
Cd is defined:

scalar standardDragModel::Cd
00074 (
00075 const scalar Re,
00076 const scalar dev
00077 ) const
00078 {
00079 scalar drag = CdLimiter_;
00080
00081 if (Re < ReLimiter_)
00082 {
00083 drag = 24.0*(1.0 + preReFactor_*pow(Re, ReExponent_))/Re;
00084 }
00085
00086 // correct for deviation from sphericity
00087 drag *= (1.0 + Cdistort_*dev);
00088
00089 return drag;
00090
00091 }

My question is: I don't find out how "dev" in line 87 is calculated.
What I know about dev is:
1.) it is defines locally as scalar
2.) it stands for deviation. So it must calculate the non-sperity of the droplet "somehow".
3.) This value is given to the Cd() function by another function: tauMomentum()

In the dieselFoam solver the interaction of the continuous phase and the parcels is calculated by using relaxation times. One among them is the time "taumomentum", which is used to calculate the velocity of the parcel as function of time. For calculating the "taumomentum" time, the drag coefficient is necessary. So when calling "taumomentum" the folling variables are given in the brackets of this function:

tauMomentum = sDB.drag().relaxationTime
00133 (
00134 Urel(Up),
00135 d(),
00136 rho,
00137 liquidDensity,
00138 nuf,
00139 dev()
00140 );

This call comes from the file "setRelaxationTimes.C". Here the dev() function appears for the first time and it is somehow given to the Cd() function, which uses dev() to calculate the drag coefficient.

I tried to find out on myself what it does, but without success. Here is what confuses me:
the function dev() in "taumomentum()" is called without giving any arguments within the brackets of dev(). My conclusion was that it doesn't need any arguments, but simply returns something.
On the OpenCFD Homepage there this indeed a link to a function dev() and this looks as following:

dimensionedSymmTensor dev(const dimensionedSymmTensor& dt)
00096 {
00097 return dimensionedSymmTensor
00098 (
00099 "dev("+dt.name()+')',
00100 dt.dimensions(),
00101 dev(dt.value())
00102 );
00103 }

However here the dev() function needs to be called with the argument "dt". It has the "job" to calculate the deviatoric part of a tensor. However I don't supply any vector, so there is no deviatoric part to calculate. So this can't be the function I am looking for.

Does anyone of you know, how the dev part of the drag function is calculated. Maybe my extended description can help you.

Thank you very much in advance,
Sebastian Vogl

 sebastian_vogl December 30, 2008 07:50

Hi everybody, it's me again

Hi everybody,

it's me again. I don't know who of you has already read my post from yesterday. I would be very glad if you could tell me the answer on my question. If there is anything unclear about my question and in you have difficulties with understanding my problem, just post them or send me an E-mail what you don't understand and I will reformulate the question so that you can understand the problem. Solving my problem is really urgent and I do apologize for annoying you with this additional post. So if anybody of you has got a good insight into the code of the dieselFoam solver, just contact me.

I again apologize for this additional post.
Sebastian Vogl

 ville December 30, 2008 08:35

Hi Sebastian, If you require

Hi Sebastian,
If you require a very quick solution how about
the following:

My_guess_1: choose includeOscillation no; in sprayProperties file. This would imply that you are
not taking into account droplet deformation. Hence,
you would not get any drag modification. You should
be able to check this by printing the variables
in question in the file where the drag coefficient
is being calculated i.e. you should see whether
the correction is 0 or > 0.

My guess 2: if you are in very much of a hurry
just comment out the droplet deformation part
if you don't need it's calculation necessarily
(or are not sure why you would need it) .
Or, to put it the other way around: do you want to model droplet deformation
or are you using the TAB model or some other breakup model that assumes drop deformation?

Regards,
Ville

P.S. If you make modifications remember to compile the lagrangian library!

 sebastian_vogl December 30, 2008 09:29

Hi Ville, thanks for your r

Hi Ville,

I didn't know that the "includeOscillation" entrance in the sprayProperties file is used to switch on/off the deviation of the drag coefficient. Until yersterday I didn't even know that dieselFoam can take into consideration droplet deformation. So I was wondering which Drag coefficient I was using all the time, when I saw this line in the code yesterday. But I am glad to know that now. So thank you for the information!
Indeed I don't take into consideration the droplet deformation. I only wanted to find out, where this deviation "dev" comes from and how it is calculatd. Do you maybe know that?

Sebastian Vogl

 ville December 31, 2008 07:04

Hi, Take a look at the breaku

Hi,
Take a look at the breakup models in the lagrangian
library. Perhaps the
TAB/ETAB or some model alike will give an answer.
It's is just some model of droplet oscillation and
breakup. Once you know the deviation from spherical shape you can decide how you effectively take this
into account. Here it has been decided that the
drag coefficient will be multiplied by some
factor. If the dev comes from TAB/ETAB model
it's calculation is a bunch of other assumptions.
Regards and happy new year!
-Ville

 sebastian_vogl December 31, 2008 13:19

Hi Ville, thank you again f

Hi Ville,