View Issue Details

IDProjectCategoryView StatusLast Update
0001570OpenFOAM[All Projects] Bugpublic2015-03-22 10:31
Reporteruser630Assigned Tohenry 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformGNU/LinuxOSUbuntuOS Version14.10
Product Version 
Fixed in Version 
Summary0001570: twoPhaseEulerFoam -- differences solving 'bubbleColumn' in 32bits and 64 bits
DescriptionSolving the bubbleColumn tutorial in two machines (one is 32bits, and the other is 64bits), using the twoPhaseEulerFoam solver (v. 2.3.1), the results obtained showed noticeable differences, even the averaged ones.

Comparing the produced fields, I found a really large difference in the turbulent kinetic energy field, which presented maximum values two orders of magnitude apart.

I have also solved this case using the development version (64bits, from 13/02/2015), whose results were at least similar to the stable version (64 bits). This comparison is presented in the attached image.
Steps To Reproduce1. Solve the 'bubbleColumn' tutorial, using the 'twoPhaseEulerFoam', in a 32 bits system;
2. Do the same in a 64bits machine;
3. Compare the results.
TagsNo tags attached.

Activities

user630

2015-03-14 21:21

 

OF_kw.png (172,855 bytes)
OF_kw.png (172,855 bytes)

henry

2015-03-14 21:41

manager   ~0004128

Which bubbleColumn tutorial are you running? Do you get the same behavior with the laminar, LES and RAS versions?

user630

2015-03-14 21:46

  ~0004129

Sorry. It was the 'RAS' tutorial.

I have not evaluated the other versions -- will do it and check the results.

user630

2015-03-15 14:12

  ~0004132

Results:

* bubbleColumn, laminar: same results for the average fields (U*Mean, alpha.airMean), running in 32 and 64 bits.
* bubbleColumn, LES: idem; instantaneous k fields were also similar each other, reaching maximum values (near the same spots) of 0.139 m²/s² -- between those obtained using RAS-64bits (0.001 m²/s²) and RAS-32bits (0.298 m²/s²).

What originally caught my attention, in the RAS tutorial, was the different U.waterMean obtained running it in 32 bits. Comparing all runs, it was the only one that was not symetrical.

Each simulation was calculated in a single process. And, for the record: the 32 bits system was, in fact, used in a machine with a 64 bits processor.

henry

2015-03-15 15:30

manager   ~0004133

This is what I expected, the issue is with the mixtureKEpsilon model. Try with the continuousGasKEpsilon for air and LaheyKEpsilon for the water, I expect the results will be the same 32bit and 64bit.

user630

2015-03-15 18:04

  ~0004134

Indeed, the results obtained using continuousGasKEpsilon and LaheyKEpsilon were the same using version 2.3.1, 32bits and 64bits. Thus, until the mixture model is corrected, the recomended way to get consistent results (in RAS approach, using v2.3.1) would be to model the turbulence for each phase?

henry

2015-03-15 19:33

manager   ~0004136

I am working on the mixtureKEpsilon model anyway due to problems with the behavior of inlet-outlet BCs which may also relate to the issues you see. Should be fixed in a few days.

user630

2015-03-15 19:42

  ~0004137

OK, thank you very much!

Best regards,
Leonardo Rosa

henry

2015-03-19 17:50

manager   ~0004161

I have pushed a change to the mixtureKEpsilon model in OpenFOAM-dev and updated the bubbleColumn tutorial. The change supports km and epsilonm to be read from the initial time directory allowing correct specification of inletOutlet BCs etc. Note that the epsilon wall-function is not specified in the epsilonm file but instead applied to epsilonm from the phase epsilons.

I know this is a complex specification but necessary given the way in which the model operates on both the phase and particular definition of mixture turbulence properties.

It is likely that this change to the inletOutlet condition will resolve the problem you see running 32bit; could you test and report back?

user630

2015-03-20 04:41

  ~0004163

Sure, I'll check and report any issue. I just need some time to setup a 32bits dev environment. Meanwhile, some headers were strangely missing to compile my (updated) local repository. Luckily they can be "found" using:

$ ln -s $FOAM_SRC/finiteVolume/cfdTools/general/include/gh.H $FOAM_SRC/finiteVolume/lnInclude
$ ln -s $FOAM_SRC/finiteVolume/cfdTools/general/include/readhRef.H $FOAM_SRC/finiteVolume/lnInclude

henry

2015-03-20 07:32

manager   ~0004164

You will need to update the lnInclude directories. Simply clean them out and they will automatically be rebuilt:

wcleanLnIncludeAll

Note that the lnInclude directories are created by wmake, they are not present in the git repositories or source-packs.

henry

2015-03-20 17:20

manager   ~0004170

I have just pushed an update to the mixtureKEpsilon model which should significantly improve numerical stability and may also help with consistency between 32bit and 64bit operation.

henry

2015-03-22 10:31

manager   ~0004185

I will close this report for now as I believe the problems are resolved in OpenFOAM-dev. If you still experience the problem please reopen this report.

Issue History

Date Modified Username Field Change
2015-03-14 21:21 user630 New Issue
2015-03-14 21:21 user630 File Added: OF_kw.png
2015-03-14 21:41 henry Note Added: 0004128
2015-03-14 21:46 user630 Note Added: 0004129
2015-03-15 14:12 user630 Note Added: 0004132
2015-03-15 15:30 henry Note Added: 0004133
2015-03-15 18:04 user630 Note Added: 0004134
2015-03-15 19:33 henry Note Added: 0004136
2015-03-15 19:42 user630 Note Added: 0004137
2015-03-19 17:50 henry Note Added: 0004161
2015-03-20 04:41 user630 Note Added: 0004163
2015-03-20 07:32 henry Note Added: 0004164
2015-03-20 17:20 henry Note Added: 0004170
2015-03-22 10:31 henry Note Added: 0004185
2015-03-22 10:31 henry Status new => resolved
2015-03-22 10:31 henry Resolution open => fixed
2015-03-22 10:31 henry Assigned To => henry
2015-03-24 00:17 liuhuafei Issue cloned: 0001587