|
[Sponsors] |
May 21, 2013, 05:14 |
Equation Solving in Multiphase Flow
|
#1 |
New Member
Join Date: Oct 2012
Posts: 14
Rep Power: 13 |
Dear foamers,
I would like to know how are the Navier-Stokes equations solved in a multiphase flow. Let's consider a liquid/air flow. When a mesh is full of liquid or air, the equation resolution is similar to a monophasic fluid flow. But when a cell is partially filled with liquid and gas, are the equations solved for each phase fraction? Maybe the density and other parameters are averaged for each cell? Thank you for your time, Andreas |
|
May 21, 2013, 07:22 |
|
#2 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51 |
Hi Andreas,
I´ve been working with the interFoam solver many times. For the density you are creating a averaged density in that cell for the beginning: Code:
00037 const dimensionedScalar& rho1 = twoPhaseProperties.rho1(); 00038 const dimensionedScalar& rho2 = twoPhaseProperties.rho2(); 00039 00040 00041 // Need to store rho for ddt(rho, U) 00042 volScalarField rho 00043 ( 00044 IOobject 00045 ( 00046 "rho", 00047 runTime.timeName(), 00048 mesh, 00049 IOobject::READ_IF_PRESENT 00050 ), 00051 alpha1*rho1 + (scalar(1) - alpha1)*rho2, 00052 alpha1.boundaryField().types() 00053 ); 00054 rho.oldTime(); After that every time step execute the following line: Code:
00082 twoPhaseProperties.correct(); Hope that is helpful. Tobi |
|
May 21, 2013, 14:01 |
|
#3 |
New Member
Join Date: Oct 2012
Posts: 14
Rep Power: 13 |
Hello Tobi, and thank you for your answer.
I am working on interFoam as well! What you are saying is that the density is averaged on each cell automatically? What about other parameters? Is pressure averaged as well? And finally, are the Navier-Stokes solved for these averaged values? Or maybe for each phase fraction on each cell. Thank you, Andreas |
|
May 21, 2013, 14:13 |
|
#4 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51 |
Hi,
first Code:
p == p_rgh + rho*gh; and p_rgh is calculated as: Code:
fvScalarMatrix p_rghEqn ( fvm::laplacian(rAUf, p_rgh) == fvc::div(phiHbyA) ); I am familiar with the code of standard solvers for compressible and incompressible flows but not for multiphase. For that I can not give you an exact answer. For the velocity: Code:
fvVectorMatrix UEqn ( fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + turbulence->divDevRhoReff(rho, U) ); UEqn.relax(); But the averages are just in those cells with 0 < alpha < 1 |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
transsonic nozzle with rhoSimpleFoam | Unseen | OpenFOAM Running, Solving & CFD | 8 | July 1, 2022 06:54 |
Moving mesh | Niklas Wikstrom (Wikstrom) | OpenFOAM Running, Solving & CFD | 122 | June 15, 2014 06:20 |
pimpleFoam: turbulence->correct(); is not executed when using residualControl | hfs | OpenFOAM Running, Solving & CFD | 3 | October 29, 2013 08:35 |
why divergence occures in these cases | immortality | OpenFOAM Running, Solving & CFD | 2 | January 25, 2013 10:21 |
Could anybody help me see this error and give help | liugx212 | OpenFOAM Running, Solving & CFD | 3 | January 4, 2006 18:07 |