Bubble column with sprayFoam
Hi everyone,
I want to reproduce a bubble column inside water with sprayFoam, namely a water tank with an air nozzle on the bottom. The reason why I want to use sprayFoam instead of a VOF model is that my computational domain is a large tank (about 10 m diameter, 6 m height), and bubbles dimensions are much smaller than cells size. I am encountering a problem, namely the bubbles just fall towards the bottom instead of rising. Here are my ./constant files: thermophysicalProperties: Code:
thermoType hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>; Code:
solution |
Hello,
If you are injecting air into water, should the liquid you specified in thermophysical properties/sprayCloudProperties be AIR and not H2O. Then defining H2O in your 0/ folder as: internalField uniform 1.0; unless I have misunderstood your case. regards, ris |
I modified sprayCloudProperties in the following way:
Code:
solution Code:
thermoType hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>; I also tried to modify thermophysicalProperties as follows: Code:
thermoType hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>; Code:
Solving cloud sprayCloud |
Hello,
The segmentation fault occurs as a result of removing the liquid from the thermophysical properties file. Are the diameters of the bubbles constant? If yes make sure to change size distribution settings and the corresponding diameters in the sprayCloudProperties file. regards, ris |
I tried some modifications, but without success.
I modified constantVolume and sizeDistribution entries in sprayCloudProperties: Code:
solution |
Hello dav.dap!
I was trying to do the same as you did but we both were wrong. For some reasons OpenFoam calculates the number of particles to inject in a different way. If you choose Quote:
Code:
case pbMass: Quote:
Code:
case pbNumber: Quote:
Code:
volumeTotal_ = flowRateProfile_.integrate(0.0, duration_); |
Hi,
I succeeded in describing rising bubbles by changing solver. For some reason sprayFoam seems to be unable do describe gas parcels inside a liquid phase; but reactingParcelFoam does. Just turn off all the thermophysics and chemistry and copy&paste injectionModels subdictionary into constant/reactingCloud1Properties. |
Whats your problem with the liquid phase by using sprayFoam? It was mainly made (as the name says) for injecting diesel into air.
BTW: If you want to inject 3mm bubbles with 0,1 m/s at 1kg/m³ you should change parcelBasisType to fixed and sizeDistribution to fixedValue. Than just calculate the amount of particles by parcelsPerSecond * duration. It worked for me. Code:
coneNozzleCoeffs |
Hi, the problem is the converse: injecting air into a liquid.
|
Hi,
It seems that solvers like icoUncoupledKinematicParcelFoam (particles tracking) or twoPhaseEulerFoam (Euler/Euler solver) would fit better to your problem. If you don't have any chemistry at all of course. But I guess you are not using anymore sprayFoam according to your old post (@June 13, 2013 16:25). |
working on bubblecolumns too!
Hey there,
I'm also working on a solver for bubbly flows, just like you. So far I have been unsing a composition of sprayFoam and reactingParcelFoam, because I want to use the Breakup-Model coming with the SprayCloud functionality.... So far so good, I have my bubblecolumn with rising bubbles that are breaking up and can coalesce (all work in progress...). My Problem is, somehow similar to your one: I wasn't really able to set the particles to have the rigth density.... wich could also be your problem with the particles falling down and not rising up. What ever I do, the "bubbles" will always have a density of 994.511 . I think my options in the thermophysicalProperties are wrong. However: setting a higher density of the surrounding fluid is a fast workaround, because buoyancy is calculated throug the density-difference. best regards Andy |
Quote:
How did you set your composition of sprayFoam and reactingParcelFoam? I want to use the coalescence model "ORourke" from SprayFoam in ReactingParcelFoam. I add "ORoukeCollision" in intermediate library but after compiling the library and the new solver I still get Quote:
EDIT : I add the new collision model in "makeReactingMultiphaseParcelStochasticCollisionMo dels.H" and I can select it now but coalescence still not happens, my 2 particules pass through each other. Have you a solution ? |
Hi,
hope you have turned the coalescence switches to on ;-) When you have parcels with more than 1 particle, it can happen, that only some of them do coalesce and the rest stays untouched. Your parcel will then not be deleted but will change in the number of particles it carries. best regards |
I found my mistake, my 2 particules are now interacting but the coalescence not happens yet.
My simulation is running but when the particules are about to coalesce i got this error : Quote:
Do you know how to resolve this kind of error ? Do you know if the volume of the coalesced particule will change ? I didn't change anything in ORourkeCollision.C and my reactingCloud1Properties file look like this : Code:
|
hmm semms there is something wrong in the line
Code:
Since the sprayFoam solver uses mostly different thermophysical models this can be the root of the problem, e.g. I am using the following in my cloudProperties: Code:
compositionModel singlePhaseMixture; You can simply leave this calculations out if your colliding parcels have the same cp, sigma, mu etc.... regards |
Hello,
Thank you, my case is working now. I'll post my modification later. |
before i forget,
there is a bug in orourke collision model... in newer versions it has been corrected: Code:
i made some other changes, there are two ways of calculating the collision propability: 1. using p = exp(-nu) then xx > p 2. using directly xx < nu (when your nParticles = 1) |
Quote:
I am also working on adding the spray cloud in to the multiphase solver but I got the error while making the solver: no matching function for call to SprayCloud... Can you help me with that? I also don't want to considering the reacting. Thank you very much. Linmin Li |
Code:
thermoType hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>; Can anyone tell me what is the meaning of defaultCoeffs under liquidComponents (H2O) and why is it set to yes? What will be the case if I set defaultCoeffs to false? Thanks in advance! |
All times are GMT -4. The time now is 19:44. |