|
[Sponsors] |
March 22, 2009, 03:57 |
twoPhaseEulerFoam Problems
|
#1 |
New Member
|
Hi all,
I'm trying to simulate a small bubble column with twoPhaseEuler foam and I get the errors below. Also, I am curious, what is the best way to initialize the values of Ua, Ub and P? I've set Ua and Ub to zero throughout the column, and P to the values corresponding to the static pressure. Thanks for the help, Dale /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Exec : twoPhaseEulerFoam Date : Mar 22 2009 Time : 18:23:03 Host : debian PID : 25099 Case : /home/dale/OpenFOAM/dale-1.5/run/2dcol nProcs : 1 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading environmentalProperties Reading transportProperties Calculating face flux field phia Calculating face flux field phib Reading field alpha Reading field p Reading field k Reading field epsilon Calculating field nutb Calculating field nuEffa Calculating field nuEffb Calculating field DDtUa and DDtUb Calculating field g.h Selecting dragModel for phase a: SchillerNaumann Selecting dragModel for phase b: SchillerNaumann dragPhase is blended Selecting viscosityModel Syamlal Selecting conductivityModel HrenyaSinclair Selecting radialModel Gidaspow Selecting granularPressureModel Lun Selecting frictionalStressModel JohnsonJackson Courant Number mean: 0 max: -0 Starting time loop Courant Number mean: 0 max: -0 Max Ur Courant Number = 5 Reading/calculating field UaMean Reading/calculating field UbMean Reading/calculating field alphaMean Reading/calculating field pMean Time = 0.1 #0 Foam::error:rintStack(Foam::Ostream&) in "/home/dale/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/home/dale/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so" #2 ?? in "/lib/libc.so.6" #3 Foam::LimitedScheme<double, Foam::Limited01Limiter<Foam::limitedLinearLimiter< Foam::NVDTVD> >, Foam::limitFuncs::magSqr>::limiter(Foam::Geometric Field<double, Foam::fvPatchField, Foam::volMesh> const&) const in "/home/dale/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so" #4 Foam::limitedSurfaceInterpolationScheme<double>::w eights(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const in "/home/dale/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so" #5 Foam::surfaceInterpolationScheme<double>::interpol ate(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const in "/home/dale/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so" #6 Foam::fv::gaussConvectionScheme<double>::interpola te(Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const in "/home/dale/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so" #7 Foam::fv::gaussConvectionScheme<double>::flux(Foam ::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) const in "/home/dale/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libfiniteVolume.so" #8 Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> > Foam::fvc::flux<double>(Foam::GeometricField<doubl e, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::word const&) in "/home/dale/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/twoPhaseEulerFoam" #9 Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> > Foam::fvc::flux<double>(Foam::tmp<Foam::GeometricF ield<double, Foam::fvsPatchField, Foam::surfaceMesh> > const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::word const&) in "/home/dale/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/twoPhaseEulerFoam" #10 main in "/home/dale/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/twoPhaseEulerFoam" #11 __libc_start_main in "/lib/libc.so.6" #12 Foam::regIOobject::readIfModified() in "/home/dale/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/twoPhaseEulerFoam" Floating point exception |
|
March 22, 2009, 07:30 |
this could be useful.
|
#2 |
Member
|
http://www.cfd-online.com/Forums/ope...onditions.html
what value you have given for particle velocity ? Regards Raghavendra |
|
March 22, 2009, 20:22 |
|
#3 |
New Member
|
I made the velocity Ua at the bottom boundary 0.25 m/s
|
|
March 23, 2009, 15:59 |
Boundary condition problem?
|
#4 |
Member
|
Hi..
probably u may have some wrong boundary condition.. and also with small time step the simulation could be stable (even I am very much new to this usage of twoPhaseEulerFoam ).. Hope the other link (replies from Alberto) would have helped you to achieve a stable simulation running! ? Regards Raghavendra |
|
March 24, 2009, 06:08 |
|
#5 |
New Member
|
Yes, I think there is a problem with my boundary conditions or initial values, which is causing the problems with interpolation. I've tried other interpolation schemes with little success. Reducing the time interval to 1e-6 also doesn't help.
Perhaps my mesh isn't fine enough, it is 30 x 10 cells, each 1 cm square (it is a 2D simulation). With regards to the initial values for Ua and Ub in the /0 directory, what is the best manner to determine these? |
|
March 24, 2009, 16:02 |
|
#6 |
Member
|
Hello Dale,
In my case, am trying to simulate 2D bubble column with air injected at the bottom to the wall (as I mentioned in the previous thread i.e. with the link in my previous post). Inlet velocity was given so there was no problem for me to choose the inlet velocity.. But also in some journal I found inlet velocity can be found alpha = Vinlet/Vsuperficial, thus if you know the values for alpha and superficial velocity Vinlet can be calculated easily.. And regarding the drag model .. is there any specific reason to choose blended in the dragPhase ..I tried with dragPhase a (a is the discrete phase in my case).. What about your inlet, is it the entire bottom or just a part of it ? Also lookup for the alpha value at the inlet .. (the previous thread which I started could be really useful for your case..coz it is like step by step procedure and do's and don't's ..thanks to Alberto If possible mail me the case files to my id raagh77@gmail.com.. Regards Raghavendra |
|
March 24, 2009, 16:08 |
small correction
|
#7 |
Member
|
alpha = Vsup/Vinlet..
|
|
March 25, 2009, 03:30 |
|
#8 |
New Member
|
Hi Raghavendra,
I've attached the archive of the directory, it should have everything you need. Thanks for all the help, hopefully you can give me some ideas, since I'm out. Many thanks, Dale |
|
March 25, 2009, 03:33 |
|
#9 | ||
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hi
if you are simulating a gas-liquid system, this Quote:
Turn it off in the constant/kineticTheoryProperties dictionary. From here: Quote:
Best regards
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|||
March 25, 2009, 04:07 |
|
#10 |
New Member
|
Hi Alberto,
Thanks for the tip about dt, I was just trying to get things to work - I have turned this down a lot. Below is my kineticTheoryProperties file, it looks to me like the flag is set to off? I've read the thesis by Rusche but couldn't find mention of any of those models - I copied the files straight from the bubbleColumn tutorial which worked fine. Is there any other source of documentation that I could refer to other than the Rusche thesis? Many thanks, Dale /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object kineticTheoryProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // kineticTheory off; equilibrium on; e e [ 0 0 0 0 0 0 0 ] 0.9 ; alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6 ; alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5 ; Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05 ; eta eta [ 0 0 0 0 0 0 0 ] 2.0 ; p p [ 0 0 0 0 0 0 0 ] 5.0 ; phi phi [ 0 0 0 0 0 0 0 ] 25.0 ; viscosityModel Syamlal; conductivityModel HrenyaSinclair; granularPressureModel Lun; frictionalStressModel JohnsonJackson; radialModel Gidaspow; HrenyaSinclairCoeffs { L L [ 0 1 0 0 0 0 0 ] 5.0e-4 ; } // ************************************************** *********************** // |
|
March 25, 2009, 09:44 |
|
#11 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hi,
I'm sorry, I was wrong. The code is simply reading those settings even if not using them. So the problem is not there. Please ignore my previous comment on these submodels. About the documentation, these submodels were added by Niklas Nordin and in part by me. There is no OF based documentation that I know of, but you can find the theory behind them for example in the book Gidaspow, Multiphase flow and fluidization, 1994, Academic Press, or in Berend van Wachem PhD thesis. Best regards,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
April 2, 2009, 08:54 |
|
#12 |
New Member
|
I've fiddled around with the timesteps, number of cells etc to no avail. I think the problem is in the mesh, as soon as I put the mesh in from the tutorial things work perfectly.
I've posted my mesh below, if anyone can give any advice as to what's wrong with this? Cheers, DAle /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( (0 0 0) //Vertex 0, bottom left, front face (0.1 0 0) //Vertex 1, bottom right, front face (0.1 0 0.01) //Vertex 2, bottom left, back face (null) (0 0 0.01) //Vertex 3, bottom right, back face (null) (0 0.3 0) // Vertex 4, top left, front face (0.1 0.3 0) //Vertex 5, top right front face (0.1 0.3 0.01) //Vertex 6, top right, back face (null) (0 0.3 0.01) //Vertex 7, top left, back face (null) ); edges ( ); blocks ( hex (0 1 2 3 4 5 6 7)(100 1 300) simpleGrading (1 1 1) ); patches ( patch inlet ( (3 2 1 0) ) patch outlet ( (4 5 6 7) ) wall walls ( (4 7 3 0) //left wall (6 5 1 2) //right wall ) /* empty frontandback ( (5 4 0 1) // front (7 6 2 3) //back ) */ ); mergePatchPairs ( ); |
|
April 2, 2009, 10:07 |
|
#13 |
Member
Sachin Kanetkar
Join Date: Mar 2009
Posts: 57
Rep Power: 17 |
Hi
As far as i think the mesh seems to be too much stretched. As you have divided 0.01 into 300 parts and 0.1 into 100 parts and 0.3 is just 1 cell... division and domain usually are proportionate...if the case is 2D why such huge difference ? Increase gradually instead of going so high directly... Initial values could also be a problem...check for some experimental results if possible. And i would suggest check it for laminar flow first and then include turbulence models as these might increase your complexities Just suggestions.. hope it helps and reduces confusion bye Sachin |
|
April 5, 2009, 04:37 |
|
#14 |
New Member
|
Hey all,
Thanks for the advice, I got it going (after fiddling with the meshing, which was valid, but wrong). As another question, I want to study liquid mixing in the column. Is there a way in paraview to monitor the progress of say a particular bit of fluid as it moves its way through the column? This to me seems unlikely. If that's correct then the other option would be to modify the code so it keeps track of the concentration/fraction of the third phase (for the record the third phase would be a solution with properties pretty much the same as water, and also totally miscible). To summarise I'm interested in tracking the spread of a miscible fluid that enters at a single point, or obtaining some idea of the mixing time. Any insight into the problem would be muchly appreciated. Many thanks, Dale |
|
April 6, 2009, 03:25 |
|
#15 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hi Dale,
if what you want is studying how a "bit" of water mixes inside your column, you probably don't need a third phase, but simply a passive scalar transported by the water phase. If this is your case, the modification to the code is straightforward. See scalarTransportFoam to see how you can add such a transport equation to your code. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
April 10, 2009, 21:19 |
|
#16 |
New Member
|
I did as you suggested, alberto and copied the scalar transport equation into my code, I placed it into a new folder called Advection.H (which is shown below) and modified createFields.H accordingly.
However, I must be doing something wrong as my code isn't compiling. Rather than paste all the code into here, I've archived the whole directory and attached it to the post. I'd be grateful if anyone can explain what I'm doing wrong (and why it isn't working) Thanks for all the help, Dale Advection.H { DDtC = fvm::ddt(C) + fvm::div(phib, C); } |
|
April 10, 2009, 21:56 |
|
#17 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hi Dale,
please refer to this tutorial: http://openfoamwiki.net/index.php/Ho...sport_equation Best regards,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
April 19, 2009, 06:11 |
|
#18 |
New Member
|
Thanks a lot alberto, you've definitely put me on the right track.
I'm having some problems with meshing, I'm trying to make a small inlet on the side of the column where the tracer solution will enter, but it does not seem to be working in 2D. I'll post the blockMeshDict file below, if anyone can offer suggestions that'd be great. Also, has anyone attempted to include mass transfer and or a population balance model for bubble size in the code? Any insights on these topics will be appreciated. Thanks, Dale /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( (0 0 0) //Vertex 0, bottom left, front face (1 0 0) //Vertex 1, bottom right, front face (1 6 0) //Vertex 2, top right, front face (0 6 0) //Vertex 3, top left, front face (0 0 0.01) // Vertex 4, Bottom left, back face (1 0 0.01) //Vertex 5, bottom right, back face (1 6 0.01) //Vertex 6, top right, back face (0 6 0.01) //Vertex 7, top left, back face (1 0.789 0) (1.25 0.789 0) (1.25 0.868 0) (1 0.868 0) (1 0.789 0.01) (1.25 0.789 0.01) (1.25 0.868 0.01) (1 0.868 0.01) ); edges ( ); blocks ( hex (0 1 2 3 4 5 6 7)(20 76 1) simpleGrading (1 1 1) hex (8 9 10 11 12 13 14 15)(10 1 1) simpleGrading (1 1 1) ); patches ( patch airinlet ( (1 5 4 0) ) patch liquidinlet ( (14 10 9 13) ) /*patch liquidoutlet ( (8 12 11 15) ) */ patch outlet ( (3 7 6 2) ) wall walls ( (0 4 7 3) //left wall (2 6 5 1) ) /* wall rightwall ( //right wall //(8 12 15 11) ) /* empty frontandback ( (5 4 0 1) // front (7 6 2 3) //back ) */ ); mergePatchPairs ( //<liquidoutlet> <rightwall> ); |
|
April 19, 2009, 17:23 |
|
#19 | |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Quote:
L.F.L.R. Silva, R.B. Damian, P.L.C. Lage, Implementation and analysis of numerical solution of the population balance equation in CFD packages, Computers and Chemical Engineering 32 (2008) 2933–2945. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
||
April 21, 2009, 10:02 |
|
#20 |
New Member
|
Hey alberto,
Thanks for the article. I have quite a few, but it is always good to have one more for the list. I was just looking to see if anyone had any success in implementing such a model. When I modeled the concentration I got crazy numbers (i.e. 10 times greater than the initial concentrations) as well as negatives. I'm not sure what's causing this, perhaps my too large mesh. Any help is appreciated, Cheers, Dale |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
TwoPhaseEulerFoam convergence problems | alberto | OpenFOAM Running, Solving & CFD | 74 | June 7, 2016 06:26 |
Some problems with twoPhaseEulerFoam | su_junwei | OpenFOAM Running, Solving & CFD | 2 | November 2, 2012 02:12 |
Some problems with Star CD | Micha | Siemens | 0 | August 6, 2003 14:55 |
Airpak: Problems with heat flow contour conditions | Ivan de Miguel Urain | FLUENT | 1 | November 16, 2001 10:36 |
Inverse problems | Aleksey Alekseev | Main CFD Forum | 0 | May 12, 1999 16:38 |