|
[Sponsors] |
August 10, 2015, 10:00 |
multiphase reacting flow
|
#1 |
Member
Mohsen
Join Date: Jul 2012
Posts: 49
Rep Power: 14 |
Hi,
I want to simulate a bubble column. In this case, the gas phase is absorbed by the liquid phase and there is a reaction in the liquid phase. I'm going to use OpenFOAM. I want to combine the twoPhaseEulerFoam and reactingFoam. Is there anyone who has any better Idea? what is the term of + fvOptions(rho, Yi) in the YEqn.H of reactingFoam? Thanks in advance. |
|
August 17, 2015, 22:45 |
|
#2 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
__________________
My OpenFOAM algorithm website: http://dyfluid.com By far the largest Chinese CFD-based forum: http://www.cfd-china.com/category/6/openfoam We provide lots of clusters to Chinese customers, and we are considering to do business overseas: http://dyfluid.com/DMCmodel.html |
||
August 22, 2015, 05:12 |
|
#3 | |
Member
Mohsen
Join Date: Jul 2012
Posts: 49
Rep Power: 14 |
Quote:
Thanks for your reply, it's very helpful for me. Best regards, Mohsen |
||
October 6, 2015, 10:48 |
|
#4 |
Member
Mohsen
Join Date: Jul 2012
Posts: 49
Rep Power: 14 |
Hi,
I've added mass transfer equation to twoPhaseEulerFoam but I have some problems in my results. I have only one component in gas phase and 3 components in liquid phase. So, the mass transfer equation only solves for liquid phase. species O transfer from gas to liquid phase and react with species t in liquid phase and species 3 is produced. As you can see from attached figures, there is species t in gas and liquid phase. But it should be only in liquid phase. Do you know whats the problem? Is there any mistake in my code? This is my YEqn.H: { volScalarField Re = mag(U1 - U2) * phase1.d() / phase2.nu(); // Reynolds number volScalarField kl = (DO / phase1.d()) * (2.0 + 0.642 * sqrt(Re * Sc)); // mass transfer coefficient volScalarField ae = mag(fvc::grad(alpha1)); //effective interfacial area per unit volume volScalarField Ha = sqrt(DO * kr) / kl; // Hatta number volScalarField Ef = sqrt(1. + sqr(Ha)); // Enhancement factor volScalarField Reaction = alpha2 * kr * rho2; Q = Ef * kl * ae * rho2; fvScalarMatrix YOEqn ( fvm::ddt(alpha2, rho2, YO) +fvm::div(alphaRhoPhi2, YO) -fvm::laplacian(phase2.turbulence().muEff()/Sc, YO) == -fvm::Sp(Q,YO) + He * Q - Reaction * Yt ); YOEqn.relax(); YOEqn.solve(mesh.solver("YO")); YO.max(0.0); fvScalarMatrix YtEqn ( fvm::ddt(alpha2, rho2, Yt) +fvm::div(alphaRhoPhi2, Yt) -fvm::laplacian(phase2.turbulence().muEff()/Sc, Yt) == -fvm::Sp(Reaction, Yt) ); YtEqn.relax(); YtEqn.solve(mesh.solver("Yt")); Yt.max(0.0); } |
|
October 7, 2015, 09:35 |
|
#5 |
Member
Mohsen
Join Date: Jul 2012
Posts: 49
Rep Power: 14 |
Hi,
I've found my mistake. I've forgotten alpha2 in laplacian term. |
|
October 12, 2015, 06:38 |
|
#6 |
Member
Mohsen
Join Date: Jul 2012
Posts: 49
Rep Power: 14 |
Hi,
I've changed my mass transfer equation (for t component) to: fvScalarMatrix YtEqn ( fvm::ddt(alpha2, rho2, Yt) + fvm::div(alphaRhoPhi2, Yt) - fvm::laplacian ( fvc::interpolate(alpha2) * fvc::interpolate(phase2.turbulence().muEff()/Sc), Yt ) == - fvm::Sp(Reaction, Ytoc) ); __________________________________________________ ___________________ Then, I've gotten an error: PIMPLE: iteration 1 MULES: Solving for alpha.air MULES: Solving for alpha.air alpha.air volume fraction = 0.293708 Min(alpha1) = 0 Max(alpha1) = 1 #0 Foam::error:rintStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 Uninterpreted: #3 Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) at ??:? #4 Foam::symGaussSeidelSmoother::smooth(Foam::Field<d ouble>&, Foam::Field<double> const&, unsigned char, int) const at ??:? #5 Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:? #6 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) at ??:? #7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:? #8 at ??:? #9 __libc_start_main in "/lib/i386-linux-gnu/libc.so.6" #10 at ??:? Floating point exception (core dumped) __________________________________________________ __________________ I think I get this error because the value of alpha2 in the gas phase is zero and so, all of coefficients get zero value. Is there any other reason for this error? How can I change my code to solve the problem? Is there any better idea to write the mass transfer equation? |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Multiphase Flow | Pavlos | FLUENT | 0 | August 8, 2011 09:43 |
Multiphase flow in atomiser | santhosh1987 | FLUENT | 0 | May 12, 2011 05:26 |
Multiphase flow & porous media | Hisham | OpenFOAM | 3 | April 10, 2011 08:04 |
multiphase flow, aeration | Ellie | CFX | 3 | January 15, 2009 18:33 |
Inviscid Drag at subsonic, subcritical Mach # | Axel Rohde | Main CFD Forum | 1 | November 19, 2001 13:19 |