CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

MultiphaseEulerFoam in OpenFOAMv9 - problems with small particles

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By flowgeek

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 14, 2022, 05:25
Default MultiphaseEulerFoam in OpenFOAMv9 - problems with small particles
  #1
New Member
 
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9
flowgeek is on a distinguished road
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:
  • 2 phases with a sharp interface
  • dispersed particle phase
  • dynamic mesh motion to simulate the soft shaking

so far i managed to set up a small test case of a half filled cylinder with
  • two fluid phases --> water and air
  • particles seeded in the water phase
  • moving the mesh according to the shaker used in reality

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:
  • with a particle diameter of 1e-3 and a particle density equal to water everything looks fine
  • with particle diameters < 1e-6 the solution diverges, esp. the air-water interface gets ripped apart (see attachment)

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
);

// ************************************************************************* //
Attached Images
File Type: png RippedSurface2.PNG (124.4 KB, 35 views)
Attached Files
File Type: zip multiPhaseEulerFoam_smallParticles.zip (18.4 KB, 25 views)
flowgeek is offline   Reply With Quote

Old   January 14, 2022, 13:40
Default
  #2
Member
 
Julio Pieri
Join Date: Sep 2017
Posts: 96
Rep Power: 8
JulioPieri is on a distinguished road
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.
JulioPieri is offline   Reply With Quote

Old   January 14, 2022, 14:49
Default
  #3
New Member
 
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9
flowgeek is on a distinguished road
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...
JulioPieri likes this.
flowgeek is offline   Reply With Quote

Old   January 17, 2022, 08:32
Default
  #4
New Member
 
fengzhou
Join Date: May 2021
Posts: 3
Rep Power: 5
1007809902 is on a distinguished road
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!
1007809902 is offline   Reply With Quote

Old   January 17, 2022, 08:52
Default
  #5
New Member
 
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9
flowgeek is on a distinguished road
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
();

// ************************************************************************* //
In the 3 phase model i found some probably unphysical residual velocities in the continuous phases especially close to the interface. These are the same if i just use interFoam... so i'm trying to get rid of those now first...

cheers
alex
flowgeek is offline   Reply With Quote

Old   January 19, 2022, 07:00
Default
  #6
New Member
 
fengzhou
Join Date: May 2021
Posts: 3
Rep Power: 5
1007809902 is on a distinguished road
Thank you very much! You inspired me and I will try to use multiphaseEulerFoam to conduct small particles simulation.
Best wish!
1007809902 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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 02:30
[ICEM] Problems with coedge curves and surfaces tommymoose ANSYS Meshing & Geometry 6 December 1, 2020 11:12
problems with turbFoam (small deltaT) sven82 OpenFOAM Running, Solving & CFD 1 May 26, 2009 08:03
silver surface and small edge problems John CFX 2 February 23, 2005 13:40
Problems with particles & boundary conditions Simon Steinmeyer FLUENT 0 January 11, 2005 04:22


All times are GMT -4. The time now is 03:13.