|
[Sponsors] |
MultiphaseEulerFoam in OpenFOAMv9 - problems with small particles |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
January 14, 2022, 06:25 |
MultiphaseEulerFoam in OpenFOAMv9 - problems with small particles
|
#1 |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
Hi All,
i'm trying to simulate the settling of small particles in an agitated bottle. Looking through all solvers the latest version of multiphaseEulerFoam in OpenFOAMv9 seems to offer all i need:
so far i managed to set up a small test case of a half filled cylinder with
simulations without particles give me the same result as with interFoam --> so the setup with the two continuous phases seems correct. The issue i have now is:
any idea on how to fix this? or is this a limitation of the solver? or a reportable bug? (looking at the implementation of the various drag models this might be a problem with numerical accuracy with very small particles and very small relative velocities which results in unphysical drag forces?) thanks alex Attached is an image of the two cases and the case itself (with allrun...) - of interest is probably the phaseProperties copied below: Code:
/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 9 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class dictionary; location "constant"; object phaseProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // type basicMultiphaseSystem; phases (air water solid); air { type pureIsothermalPhaseModel; diameterModel constant; constantCoeffs { d 3e-3; } residualAlpha 1e-6; } water { type pureIsothermalPhaseModel; diameterModel constant; constantCoeffs { d 1e-4; } residualAlpha 1e-6; } solid { type pureIsothermalPhaseModel; diameterModel constant; constantCoeffs { d 0.5e-6;//0.5e-3;//0.5e-6;//480e-9; } residualAlpha 1e-9; } blending { default { type linear; minFullyContinuousAlpha.air 0.7; minPartlyContinuousAlpha.air 0.3; minFullyContinuousAlpha.water 0.7; minPartlyContinuousAlpha.water 0.3; minFullyContinuousAlpha.solid 0; minPartlyContinuousAlpha.solid 0; } } surfaceTension ( (air and water) { type constant; sigma 0.07; } (air and solid) { type constant; sigma 0; } (solid and water) { type constant; sigma 0; } ); aspectRatio ( (air in water) { type constant; E0 1.0; } (water in air) { type constant; E0 1.0; } (air in solid) { type constant; E0 1.0; } (solid in air) { type constant; E0 1.0; } (water in solid) { type constant; E0 1.0; } (solid in water) { type constant; E0 1.0; } ); drag ( (air in water) { type SchillerNaumann; residualRe 1e-3; swarmCorrection { type none; } } (water in air) { type SchillerNaumann; residualRe 1e-3; swarmCorrection { type none; } } (solid in air) { type Gibilaro; residualRe 1e-12; swarmCorrection { type none; } } (solid in water) { type Gibilaro; residualRe 1e-12; swarmCorrection { type none; } } ); virtualMass ( (air in water) { type constantCoefficient; Cvm 0.5; } (water in air) { type constantCoefficient; Cvm 0.5; }/* (solid in air) { type constantCoefficient; Cvm 0.5; } (solid in water) { type constantCoefficient; Cvm 0.5; }*/ ); heatTransfer (); phaseTransfer (); lift (); wallLubrication (); turbulentDispersion (); interfaceCompression ( (air and water) 1 (air and solid) 0 (water and solid) 0 ); // ************************************************************************* // |
|
January 14, 2022, 14:40 |
|
#2 |
Senior Member
Julio Pieri
Join Date: Sep 2017
Posts: 107
Rep Power: 9 |
I've only used twoPhaseEuler (or multiphaseEuler) with solids to simulate fluidized bed. I believe it models the solid dispersed phase as a continuous phase, with interations related to the parameters you specify (like diameter). I'm not aware of using it the way you intend.
However, I've had very sucessful results coupling Lagrangian particle tracking with the solver. I've used it to study dispertion of particles in a fluidized bed reactor. You could achieve that by implementing kinematicCloudProperties into your solver (there are many tutorials online on how to do that for different solvers), or you could use swak4Foam for particle injection. Using swak is pretty easy, and just skips the coding-and-compiling stage. I'd say the best for you is to run your case in interFoam (captures water-air interface better) with particles either from swak or coding. I believe there is a tutorial specifically on how adding lagrangian particles to interFoam. Look for "LPT (lagrangian particle tracking) on interFoam" or something like that. |
|
January 14, 2022, 15:49 |
|
#3 |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
hi julio,
thanks for your reply! there is actually a solver called MPPICInterFoam in openfoam v2112 --> this is exactly what you describe: lagrangian particles in interFoam. But - unfortunately - it does not support mesh motion, only MRF... (and there exists MPPICInterDyMFoam from TonkomoLLC on github - but i try to get away with the standard stuff so far ;-)) the euler-euler description of multiphaseEulerFoam would - in my understanding - make way more sense for my problem since i have a big number of very small particles which could be treated as a continuum... |
|
January 17, 2022, 09:32 |
|
#4 |
New Member
fengzhou
Join Date: May 2021
Posts: 3
Rep Power: 5 |
Hi,I also encountered a similar problem recently. When using twoPhaseEulerFoam for liquid-solid simulation, and the solid was dispersed phase. When the particle size was set to e-3, the result was reasonable. When the solid particle size was smaller than e-4, an inexplicable velocity field occurred. I think this is probably due to the drag model, but changing the drag model doesn't quite work. Have you solved the similar problem?
Best wish! |
|
January 17, 2022, 09:52 |
|
#5 |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
hi fengzhou,
i'm still testing different things for a three phase flow --> but in a pure 2 phase flow (liquid with dispersed solid) i managed to get correct settling rates for <0.5um particles in water using the following phaseProperties settings: (ignore the heat transfer model - i was trying many things ;-)) Code:
/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 9 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class dictionary; location "constant"; object phaseProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // type basicMultiphaseSystem; phases (particles air); particles { type pureIsothermalPhaseModel;//purePhaseModel; diameterModel constant; constantCoeffs { d 0.5e-6; } alphaMax 0.62; residualAlpha 1e-5; } air { type pureIsothermalPhaseModel;//purePhaseModel; diameterModel constant; constantCoeffs { d 1; } residualAlpha 0; } blending { default { type none; continuousPhase air; } } surfaceTension ( ); aspectRatio (); drag ( (particles in air) { type GidaspowErgunWenYu; residualRe 1e-3; swarmCorrection { type none; } } ); virtualMass (/* (particles in air) { type constantCoefficient; Cvm 0.5; }*/ ); heatTransfer ( (particles in air) { type RanzMarshall; residualAlpha 1e-3; } ); phaseTransfer (); lift (); wallLubrication (); turbulentDispersion (); interfaceCompression (); // ************************************************************************* // cheers alex |
|
January 19, 2022, 08:00 |
|
#6 |
New Member
fengzhou
Join Date: May 2021
Posts: 3
Rep Power: 5 |
Thank you very much! You inspired me and I will try to use multiphaseEulerFoam to conduct small particles simulation.
Best wish! |
|
October 16, 2024, 12:14 |
|
#7 | |
New Member
Join Date: Oct 2024
Posts: 9
Rep Power: 2 |
Quote:
Hi julio, do you also know If there can be used a rotatingWallVelocity boundary condition or rotating dynamicMesh with twoPhaseEulerFoam? I am trying to simulate a rotating cylinder with gas-particle phase. |
||
October 28, 2024, 08:45 |
|
#8 |
Senior Member
Julio Pieri
Join Date: Sep 2017
Posts: 107
Rep Power: 9 |
I don't see any reason why it wouldn't be available. If for some reason it isn't, you may be able to code it yourself.
I recently used multiphaseEuler application in OF-v11 with rotatingwall BC, but in MRF instead of moving mesh. |
|
October 28, 2024, 09:22 |
|
#9 |
New Member
Join Date: Oct 2024
Posts: 9
Rep Power: 2 |
Hi Julio! thanks for your reply. So my case worked with using just a RotatingWall BC. Do you think this is the correct approach to go for because I only want the wall to rotate and not the zone.
|
|
October 28, 2024, 09:25 |
|
#10 |
Senior Member
Julio Pieri
Join Date: Sep 2017
Posts: 107
Rep Power: 9 |
The rotating wall will impose a certain velocity to the cells near to it. This velocity will be transmitted through viscosity to the rest of the domain. If that is enough for your problem, you might not need to set a rotating zone.
|
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
fixedValue inlet BC crashes for very small particles in twoPhaseEulerFoam | Hamed1117 | OpenFOAM Running, Solving & CFD | 0 | June 12, 2021 03:30 |
[ICEM] Problems with coedge curves and surfaces | tommymoose | ANSYS Meshing & Geometry | 6 | December 1, 2020 12:12 |
problems with turbFoam (small deltaT) | sven82 | OpenFOAM Running, Solving & CFD | 1 | May 26, 2009 09:03 |
silver surface and small edge problems | John | CFX | 2 | February 23, 2005 14:40 |
Problems with particles & boundary conditions | Simon Steinmeyer | FLUENT | 0 | January 11, 2005 05:22 |