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

Packing limiter in multiPhaseEulerFoam

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   May 12, 2015, 07:42
Default Packing limiter in multiPhaseEulerFoam
  #1
New Member
 
Benjamin van den Akker
Join Date: Jun 2013
Posts: 3
Rep Power: 6
BenjAkker is on a distinguished road
I have been trying to create a multiphase fluidised bed model in 2.3.x using multiphaseEulerFoam. However, I need a packing limiter to properly model my system.

After several abortive attempts to navigate the code and implement an alpha limiter of my own, I tried adapting the packing limiter from the 2.2.1 version of twoPhaseEulerfoam and inserting it into multiphaseSystem.C (after the alpha values have been calculated). Any simulations I run using this model start out plausible, but suddenly display faulty behaviour partway through the simulation (previously well-separated phases suddenly explode all over the problem domain), indicating to me a numerical instability in the model.

I created a packing limiter for four phases to try out the model: air, water, sand and anthracite, for which alpha.sand + alpha.anthracite <= 0.62. These are denoted by a scalar alphaMax which decodes to one of these four phases.*

For this test simulation, I only use sand and water for a simple fluidised bed simulation. In this simulation, the flow rate of water at the inlet is slowly increasing from zero to create very minimal fluidisation. The mesh is a simple 3D block of (3.2 x 3.2 x 6) m. After about 19s, the simulation demonstrates radically implausible behaviour, but no error is returned and the log file does not throw up any major red flags (to my untrained eye).

I've tried several drag models and settings for fvSchemes and fvSolution and no improvement was found, but perhaps someone here can diagnose the problem more effectively and suggest a solution; I might have missed something obvious.

If the fault isn't with the simulation, a process of elimination fingers my implementation of the packing limiter as the culprit. I personally do not have the expertise/experience necessary to fully understand how the phase model operates, and I have no reason to expect the old packing limiter to work or even make sense in this system. If it doesn't and someone here could explain to me why, that would be greatly appreciated.

Model
Simulation
Log File

I would appreciate any help on the subject of packing limiters in multiphase simulations or my simulation in particular. Thanks in advance.

*Yes, I know how ugly this is. This is what happens when a mediocre programmer with no previous experience with C++ tries to dive into OpenFOAM programming and write a solution geared to one particular problem. I promise that my usual code looks much nicer.
BenjAkker is offline   Reply With Quote

Old   October 23, 2016, 19:07
Default
  #2
New Member
 
Mohsen
Join Date: Nov 2014
Posts: 7
Rep Power: 4
mohsen_ba65 is on a distinguished road
Hi BenjAkker,

I hope that you are still watching this thread!

I am looking at the same problem. I could limit the maximum packing by modifying the MULES::explicitSolve as below:

Code:
        MULES::explicitSolve
        (
            geometricOneField(),
            phase1,
            phi_,
            alphaPhi,
            zeroField(),
            zeroField(),
            phase1.alphaMax(),
            0
        );
The good news is that it works and limits the alpha.
The bad news is that I tested this code with the fluidized bed tutorial for the twoPhaseEulerFoam and results are not the same. Even you can't have the same flow pattern.
I am new into coding in openFoam and this is my second time modifying a solver.
Please take a look and let me know if you have any comments. I would like to work on this and try to solve it.

PS: I changed the multiphaseSystem.C and also I added following to the phaseModel.H

Code:
        //- Optional maximum phase-fraction (e.g. packing limit)   //MB
        scalar alphaMax_;
        //- Optional maximum phase-fraction (e.g. packing limit)  //MB
        //  Defaults to 1
        scalar alphaMax() const
        {
            return alphaMax_;
        }
And the following to phaseModel.C

Code:
    alphaMax_(phaseDict_.lookupOrDefault("alphaMax", 1.0)),   //MB

Thanks,
Mohsen
mohsen_ba65 is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Production limiter only used for k - kOmegaSST - OpenFOAM 2.2.x Bokse OpenFOAM Programming & Development 8 September 21, 2015 08:55
multiphaseEulerFoam and packing limiter vbchris OpenFOAM 0 July 29, 2014 10:51
slope limiter and flux limiter ?? Ameya J Main CFD Forum 1 June 13, 2011 12:05
Definition of limiter function for central dirrerencing scheme sebastian_vogl OpenFOAM Running, Solving & CFD 0 January 5, 2009 12:08
Moment limiter in DG method. jinwon park Main CFD Forum 0 May 15, 2008 12:18


All times are GMT -4. The time now is 11:23.