View Issue Details

IDProjectCategoryView StatusLast Update
0001018OpenFOAMBugpublic2015-05-05 18:05
Reporterdkxls Assigned Tohenry  
Status closedResolutionfixed 
PlatformLinux x86_64OSopenSUSEOS Version12.2
Summary0001018: [SprayParcel]: Incorrect limiting of droplet distortion parameters
DescriptionThe droplet distortion parameter y and yDot are set to 0.0 as soon as y is negative in the TAB oscillation equation.

To my understanding y=0 corresponds to spherical droplet, a positive deformation flattens the droplet perpendicular to the flight directions (y>0) and a negative deformation elongates the droplet (y<0) in flight direction.
Hence, the droplet should be allowed to also have negative values, as it will alter the breakup and drag calculations.
This is further explained in the ETAB [1,2] and CAB [3,4] papers as well as in the KIVA manual [5] p.117.

This has certain implications concerning the distorted sphere model due to Liu (1993), i.e. the droplet distortion has to be limited in the drag model to 0<y<1. This is done in the provided source code for the DistortedSphereDrag model (mantis bug #991, revision v1).

The provided patch removes the limiting. Note that the patch is based on the changes in bug #996, hence theses changes should first applied.
Additional InformationI initiated a discussion on this topic in the forum, but no reply yet by the time of reporting this bug:

[1] Tanner, F. X., Liquid jet atomization and droplet breakup modeling of non-evaporating diesel
fuel sprays, SAE Tech. Paper No. 970050, 1997.

[2] Tanner, F. X. and Weisser, G., Simulation of liquid jet atomization for fuel sprays by means of a
cascade drop breakup model, SAE Tech. Paper No. 980808, 1998.

[3] Tanner, F. X., "A Cascade Atomization and Drop Breakup Model for the Simulation of High-Pressure Liquid Jets," SAE Transactions: Journal of Engines, vol. 112, no. 3, pp. 1352-1366, 2004.

[4] Tanner, F. X., "Development and Validation of a Cascade Atomization and Drop Breakup Model for High-Velocity Dense Sprays," Atomization and Sprays, vol. 14, no. 3, pp. 211-242, 2004.

TagsNo tags attached.



2013-09-17 16:25


0001-SprayParcel-allow-neagtive-y-and-yDot.patch (1,179 bytes)   
From cfa3f27683c30c819c05ad371fba9ef3d581f86f Mon Sep 17 00:00:00 2001
From: Armin Wehrfritz <>
Date: Fri, 13 Sep 2013 01:22:46 +0300
Subject: [PATCH] SprayParcel - allow neagtive y and yDot

 .../spray/parcels/Templates/SprayParcel/SprayParcel.C          | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C
index 78f655e..4df9a47 100644
--- a/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C
+++ b/src/lagrangian/spray/parcels/Templates/SprayParcel/SprayParcel.C
@@ -416,15 +416,7 @@ void Foam::SprayParcel<ParcelType>::solveTABEq
         scalar e = exp(-rtd*dt);
         this->y() = Wetmp + e*(yOld*c + yDotOld/omega*s);
-        if (this->y() < 0)
-        {
-            this->y() = 0.0;
-            this->yDot() = 0.0;
-        }
-        else
-        {
-            this->yDot() = (Wetmp - this->y())*rtd + e*(yDotOld*c - omega*yOld*s);
-        }
+        this->yDot() = (Wetmp - this->y())*rtd + e*(yDotOld*c - omega*yOld*s);


2013-09-24 15:25

reporter   ~0002516

Please let me know if you have any difficulties in fixing these bugs.
I can also provide .C and .H files, rather than patches, if that makes it easier for you to fix these bugs.

As already mentioned, the provided patches require the changes from:


2014-12-19 16:25

reporter   ~0003342

This issue is still present in 2.3.1.

The provided patch probably doesn't work any more, but the idea becomes clear anyways as the changes are minimal.


2014-12-20 12:24

manager   ~0003343

I have carefully integrated the patches from #991, #996 and #1018 into

under commit 4d362576822a3fba2e923ef9ebc4354e2c6bb795

Could you please review the changes and run any test-cases you have for the TAB model to ensure correctness of this complex merge and report back?

If all is well I will integrate the changes into OpenFOAM-2.3.x.



2014-12-22 15:05

reporter   ~0003354

I have reviewed the changes and everything seems OK.

I will run my test-cases with the changes in OpenFOAM-dev and report back, however I won't get this done before my Christmas holidays. (I will be back in the office in the 2. week of January.)

Thanks a lot for integrating all the changes/bug-fixes to the Lagrangian spray classes!


2014-12-22 18:30

manager   ~0003355

Thanks for checking the merge. I will close the bug-reports now but feel free to reopen them or post a new one if any issues arise.

Thanks for providing these patches and please send more updates as required.

Resolved by commit 4d362576822a3fba2e923ef9ebc4354e2c6bb795 in


2015-05-05 17:44

reporter   ~0004713

Last edited: 2015-05-05 17:48

We have tested the corrections made to the Lagrangian spray classes for several cases and the TAB/ETAB models work as expected.

All tests have been carried out with 2.3.x plus the changes from commit 4d362576822a3fba2e923ef9ebc4354e2c6bb795.

As you suggested these changes could be back-ported to 2.3.x.


2015-05-05 18:05

manager   ~0004714

OpenFOAM-dev is now significantly ahead of OpenFOAM-2.3.x and
I no longer have enough free-time to back-port all of these changes which would now require significant effort. My view is that people needing this functionality should upgrade to OpenFOAM-dev unless you or someone else have the time to create and test set of patches for OpenFOAM-2.3.x.

Issue History

Date Modified Username Field Change
2013-09-17 16:25 dkxls New Issue
2013-09-17 16:25 dkxls File Added: 0001-SprayParcel-allow-neagtive-y-and-yDot.patch
2013-09-24 15:25 dkxls Note Added: 0002516
2014-12-19 16:25 dkxls Note Added: 0003342
2014-12-20 12:24 henry Note Added: 0003343
2014-12-22 15:05 dkxls Note Added: 0003354
2014-12-22 18:30 henry Note Added: 0003355
2014-12-22 18:30 henry Status new => resolved
2014-12-22 18:30 henry Resolution open => fixed
2014-12-22 18:30 henry Assigned To => henry
2015-05-05 17:44 dkxls Note Added: 0004713
2015-05-05 17:44 dkxls Status resolved => feedback
2015-05-05 17:44 dkxls Resolution fixed => reopened
2015-05-05 17:48 dkxls Note Edited: 0004713
2015-05-05 18:05 henry Note Added: 0004714
2015-05-05 18:05 henry Status feedback => closed
2015-05-05 18:05 henry Resolution reopened => fixed