DLR-RY / TwoPhaseFlow

GNU General Public License v3.0
77 stars 38 forks source link

When simulating single bubble rising in a tank, the result of HeightFunction is no better than RDF, how to debug this? #38

Open Mkhydrogen opened 2 years ago

Mkhydrogen commented 2 years ago

hello, henning, really excellent job! Bloody cool TwoPhaseFlow code recently, I tried to repeat Lionel Gamet's work, Bubble rising in a spiralling path in a large tank

According to the literature, HF should perform better, but, when I simulated a bubble rising in a tank, to compare the results of RDF and HF (the bubble rising case with a diameter of 1.6mm), HeightFunction couldn't do better than RDF,
for smaller bubbles (1mm), this problem still exists

so, henning, could you tell me how to debug it and give me some guidance, thx, by the way, I also used the AMR module to reduce the calculation load, but it seems to be more incorrect. On the premise of avoiding introducing more uncontrollable factors, SHM is currently used.

hope you will pardon me for troubling you.

Best Regards 10

HenningScheufler commented 1 year ago

The results of the HF method were produced with Basilik. I think the difference in the results originate from the pressure-velocity coupling. If i remember correctly basilik smoothes the density field leading to less spurious currents. But I was unable to pinpoint the difference. The curvature calculation of the height function method should be correct. (But it might be better to check)

With the AMR could you share some results?

HenningScheufler commented 1 year ago

Another approach that we did not publish in the paper (if AMR does not work) to reduce runtime, is to write a P-controller that changes the velocity so the centre of gravity stays in place.

I could not find the implemenation, but the BC below will should explain the above: to use it add

libs("libbubbleController.so") or libs(bubbleController)(depending on the version) to the controlDict

bubbleController.zip

Mkhydrogen commented 1 year ago

hello, henning, I took some days to simulate and process the image, so, I delayed answering until today. My previous questions were not accurate enough.

[Q1]

Briefly, for the simulation of 1.6mm(Diameter) bubbles rising in water, change the RDF, height Function(HF) and fitParabolic(FT) 3 different CurvatureModels in the two-phase-flow Code,

HF shows me the worst results, which are even unphysical because there is a significant lateral movement for the bubble with HF CurvatureModels. All the experimental literature shows such a bubble (Diameter is 1.6 mm) should rise vertically(Straight path within 0.04s at least).

According to your manuscript [Bubble rising in a spiralling path in a large tank] L. Gamet, M. Scala, J. Roenby, H. Scheuer, and J.-L. Pierson, Validation of volume-of-fluid OpenFOAM isoAdvector solvers using single bubble benchmarks, Submitted to Computers and Fluids, 2020. After I obtained the case file from the website, I only changed the transportProperties, size of calculation domain and selected different CurvatureModels(RDF, HF and fitParabolic) I don't know why HF has such an unphysical problem, maybe my HF case configuration is incorrect,

I share some results of the 1.6mm bubble rising in water with different CurvatureModels(RDF, HF and fitParabolic) and case file here bubbleRisingCase.zip I did not use AMR for simulation, These results were obtained using SHM.

could you tell me how to debug it, thx,

The first figure is a comparison of the shape and pressure of different CurvatureModels at 0.02s 0.04s ⬇

comparison

The second picture is more detailed about the change of shape with time (RDF and FT results are similar, so only RDF results are cited)⬇

shapeViaT

The following three figures show the comparison of displacement, the bubble sphericity and velocity in the Z direction⬇

image image image

The last picture is a comparison of the trajectory of the three-dimensional centre of mass⬇The thin black line in the bottom XY plane is the projection of HF's 3D trajectory, the projection of RDF and FT in XY plane is almost a point.

image

[Q2]

In addition, Is there a lib.so to move the whole computing domain while calculating bubbles rising in the two-Phase flow code /OpenFoam lib, It seems to be MRF, In the two-Phase code, can loadBalance, AMR and MRF be used together?

thx, henning, anyway, great jobs! I hope you will pardon me for troubling you. thanks for your help & reply.

Best Regards 10