- **OpenFOAM Running, Solving & CFD**
(*https://www.cfd-online.com/Forums/openfoam-solving/*)

- - **Drag coefficient for parcels in dieselFoam**
(*https://www.cfd-online.com/Forums/openfoam-solving/58167-drag-coefficient-parcels-dieselfoam.html*)

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. I deeply ask for a quick reply as I need the answer soon. Thank you very much in advance, Sebastian Vogl |

Hi everybody,
it's me againHi 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 |

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! |

Hi Ville,
thanks for your rHi Ville,
thanks for your reply! 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? Best regards and thank you very much for your reply, Sebastian Vogl |

Hi,
Take a look at the breakuHi,
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 |

Hi Ville,
thank you again fHi Ville,
thank you again for your reply. I wish you a happy and successful new year, too! Best regards, Sebastian Vogl |

All times are GMT -4. The time now is 21:43. |