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

IATE problem

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

Like Tree3Likes
  • 1 Post By GerhardHolzinger
  • 2 Post By GerhardHolzinger

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 6, 2015, 15:09
Default IATE problem
  #1
New Member
 
Join Date: Nov 2014
Posts: 11
Rep Power: 11
mingzhao is on a distinguished road
Hi,

I changed the dispersed phase (air) of "bubbleColumnIATE" to "perfectFluid" and the code can still run. Does this physically make sense?

However when I change the density of dispersed phase (modeled as "perfectFluid" now) to be larger than the density of continuum phase, the code will give errors.

Can anyone explain these two problem? Thank you.

Mingzhao
mingzhao is offline   Reply With Quote

Old   March 7, 2015, 06:50
Default
  #2
Senior Member
 
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 335
Rep Power: 28
GerhardHolzinger will become famous soon enoughGerhardHolzinger will become famous soon enough
Have a look at the file IATEsource.C and the definition of Ur. The calculation of Ur involves taking the difference of densities and taking the power of a term containing this difference.
As the density difference changes signs, you will get (probably) a floating point error. pow025() returns the 4th root of its argument (i.e. square root of the square root). Since, roots are not defined for negative numbers, you will get an error.

If you want to use the IATE model for e.g. droplets dispersed in air, you will have to create a modified version of the IATE model with all density differences reversed.

Code:
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const
{
    const uniformDimensionedVectorField& g =
        phase().U().db().lookupObject<uniformDimensionedVectorField>("g");

    return
        sqrt(2.0)
       *pow025
        (
            fluid().sigma()*mag(g)
           *(otherPhase().rho() - phase().rho())
           /sqr(otherPhase().rho())
        )
       *pow(max(1 - phase(), scalar(0)), 1.75);
}
mingzhao likes this.
GerhardHolzinger is offline   Reply With Quote

Old   March 9, 2015, 10:28
Default
  #3
New Member
 
Join Date: Nov 2014
Posts: 11
Rep Power: 11
mingzhao is on a distinguished road
Quote:
Originally Posted by GerhardHolzinger View Post
Have a look at the file IATEsource.C and the definition of Ur. The calculation of Ur involves taking the difference of densities and taking the power of a term containing this difference.
As the density difference changes signs, you will get (probably) a floating point error. pow025() returns the 4th root of its argument (i.e. square root of the square root). Since, roots are not defined for negative numbers, you will get an error.

If you want to use the IATE model for e.g. droplets dispersed in air, you will have to create a modified version of the IATE model with all density differences reversed.

Code:
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const
{
    const uniformDimensionedVectorField& g =
        phase().U().db().lookupObject<uniformDimensionedVectorField>("g");

    return
        sqrt(2.0)
       *pow025
        (
            fluid().sigma()*mag(g)
           *(otherPhase().rho() - phase().rho())
           /sqr(otherPhase().rho())
        )
       *pow(max(1 - phase(), scalar(0)), 1.75);
}
Hi GerhardHolzinger,

Thank you very much for explaining and it is helpful.

I also found there are high concentration of kappa in the area where we get pure primary phase. Does this make sense? I am expecting 0 interfacial area if alpha of dispersed phase is 0.

Would you please also help me with this? Thank you.
mingzhao is offline   Reply With Quote

Old   March 9, 2015, 10:43
Default
  #4
Senior Member
 
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 335
Rep Power: 28
GerhardHolzinger will become famous soon enoughGerhardHolzinger will become famous soon enough
The interfacial area is the product of kappa and alpha. The transport equation for kappa is independent of the dispersed phase's volume fraction field. Having non-zero values of kappa everywhere in your domain is natural for this model. Nevertheless, this is a good thing since the Sauter diameter is defined as dSM = 6/kappa.

In regions with no dispersed phase present, you multiply a non-zero kappa with zero dispersed volume fraction. So, you get zero interfacial area in this region just as you expect.


Chapter 43 of [1,2] is a summary of my findings.


[1] https://github.com/OSCCAR-PFM/OSCCAR...Manual_PFM.pdf
[2] http://www.cfd-online.com/Forums/ope...-openfoam.html
vagnerserge and mingzhao like this.
GerhardHolzinger is offline   Reply With Quote

Old   March 9, 2015, 11:06
Default
  #5
New Member
 
Join Date: Nov 2014
Posts: 11
Rep Power: 11
mingzhao is on a distinguished road
Hi GerhardHolzinger,

Thank you very much for explaining and I understand now. The documents are also very helpful and it is very nice of you to offer these.

Mingzhao
mingzhao is offline   Reply With Quote

Old   April 6, 2015, 09:09
Default
  #6
Member
 
Join Date: May 2014
Location: Germany
Posts: 31
Rep Power: 11
hester is on a distinguished road
Hello,

why is Ur modelled this way? In the originl paper by Wu [1] Ur is calculated with U_r = \sqrt{\frac{d_B \cdot g \cdot \Delta \rho}{3 C_D \rho_L}}.
Why is the implementation so different?

Regards,
hester

[1] Wu, Q., Kim, S. and Ishii, M. One-group interfacial area transport in vertical bubbly flow. International Journal of Heat and Mass Transfer 41 (1998), p. 1103–1112.
hester is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
UDF compiling problem Wouter Fluent UDF and Scheme Programming 6 June 6, 2012 05:43
Gambit - meshing over airfoil wrapping (?) problem JFDC FLUENT 1 July 11, 2011 06:59
natural convection problem for a CHT problem Se-Hee CFX 2 June 10, 2007 07:29
Adiabatic and Rotating wall (Convection problem) ParodDav CFX 5 April 29, 2007 20:13
Is this problem well posed? Thomas P. Abraham Main CFD Forum 5 September 8, 1999 15:52


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