View Issue Details

IDProjectCategoryView StatusLast Update
0002456OpenFOAM[All Projects] Bugpublic2020-11-23 12:08
Reporterfsch1Assigned Tohenry 
Status resolvedResolutionfixed 
Product Version 
Fixed in Versiondev 
Summary0002456: curvatureSeparation in 'Hot Boxes'-tutorial doesn't work
in the hotBoxes-tutorial of the reactingParcelFilmFoam the curvatureSeparation doesn't work.

Run the case, e.g 5s. In result-file ./5/uniform/regionModels/wallFilmRegion/wallFilmRegionOutputProperties all the injectedMass is due to drippingInjection and 0 for curvatureSeparation.

In addition, the wallFilm-height deltaf gets to high for my understanding. And then the minimum temperature in the thermoSingleLayer/wallFilm goes down to 270K instead staying at more less 300K.
I think it's a problem for the model if the wallFilm gets to high. But I think it's caused by the water not separating at the bottom of the boxes...
Steps To ReproduceRun hotBoxes-tutorial



2017-02-10 13:08

reporter   ~0007734

I've added a small testcase.

the curvatureSeperation is the only injectionModel activated. And there are some parcels generated. So curvatureSeperation seems to work.

But in 0.05 uniform/regionModels/wallFilmRegion/wallFilmRegionOutputProperties there is no count for the injected parcels by curvatureSeperation...


Note: the numeric instability is due to the high wallFilm height deltaf in beginning for demonstrating the effect in the first timesteps (3,499,933 bytes)


2017-02-10 14:58

reporter   ~0007737

I can confirm this problem with curvatureSeparation. I also attached a different testcase which shows this behaviour: When using curvatureSeparation only, the case gets instable and temperatures behave stange.
When using another model (BrunDripping or Dripping) the case stays stable.
I don't think it has something to do with the film height but rather with the model itself.

testcase_curvatureSeparation.tgz (8,749 bytes)


2019-06-21 13:40

reporter   ~0010524

Hello again,
after a long time I took a look into this case again and updated it to work with the newer OpenFoam-dev versions.
In short it's a box with a water film on it, which starts dry by the water running of due to gravity.

To run more stable all the temperatures are the same (293 K) and constrained via fvOptions and the phaseChangeModel is deactivated.

1. Bug
Shildenbrands point is correct regarding the instability of the curvatureSeparation-model. I think it is due to this two lines in the curvatureSeparation.C:
 const volScalarField& delta =;
diameterToInject = separated*delta;

As far as I understand the code, if droplets are separating, the diameter of these droplets are the same as the film height.
So this does not make sense.
Additionally if the film height is really low, the 1e8 to 1e11 particle are added into one single parcel. This is also the point when the simulation becomes instable (in the attached case shortly after 0.07s).

I think it's necessary to implement some checks (like in drippingInjection.C, starting line 129), that droplets only can separate, if a minMass is overcome. For the diameter I don't know what's the best solution.

The mass injected by the curvatureSeparation-Model continues to be neglected in the outputProperties.
As you can see in the wallFilmRegionOutputProperties below injectedMass is zero, even more ~1500 parcels detached the film.

    location "0.07/uniform/regionModels/wallFilmRegion";
    object wallFilmRegionOutputProperties;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

addedMassTotal 0.006046627137;

        injectedMass 0;

Hope this helps in locating these bugs. (30,925 bytes)


2019-07-01 13:13

reporter   ~0010537

Regarding 1.)
I have attached a proposed patch of the curvatureSeparation.
The patch introduces a stable film thickness (similar as in the two other existing injectionModels brunDrippingInjection/ drippingInjection) which have to be exceeded for the model to activate the separation.

With a film tickness deltaStable = 0.0001 the attached test case as well as the Hot Boxes - Tutorial stay numerically stable.

curvatureSeparation.C (10,469 bytes)
curvatureSeparation.H (4,520 bytes)


2020-11-23 12:08

manager   ~0011738

Resolved by commit d7d1221cd47833c0e12fbbe5e38bc5f3db95a467

Issue History

Date Modified Username Field Change
2017-02-09 13:43 fsch1 New Issue
2017-02-09 13:43 fsch1 Tag Attached: curvatureSeparation
2017-02-10 13:08 fsch1 File Added:
2017-02-10 13:08 fsch1 Note Added: 0007734
2017-02-10 14:58 shildenbrand File Added: testcase_curvatureSeparation.tgz
2017-02-10 14:58 shildenbrand Note Added: 0007737
2019-06-21 13:40 fsch1 File Added:
2019-06-21 13:40 fsch1 Note Added: 0010524
2019-07-01 13:13 fsch1 File Added: curvatureSeparation.C
2019-07-01 13:13 fsch1 File Added: curvatureSeparation.H
2019-07-01 13:13 fsch1 Note Added: 0010537
2020-11-23 12:08 henry Assigned To => henry
2020-11-23 12:08 henry Status new => resolved
2020-11-23 12:08 henry Resolution open => fixed
2020-11-23 12:08 henry Fixed in Version => dev
2020-11-23 12:08 henry Note Added: 0011738