Difference between revisions of "Additional drag models for the twoPhaseEulerFoam solver"

From OpenFOAMWiki
m (Implementation)
 
(3 intermediate revisions by 2 users not shown)
Line 30: Line 30:
  
 
=== Implementation ===
 
=== Implementation ===
The Syamlal and O'Brien drag model can be implementing in OpenFOAM by dividing the <math>\beta' <math> by the product of the two volume fractions <math> \alpha \beta </math> to obtain <math>K</math>.
+
The Syamlal and O'Brien drag model can be implemented in OpenFOAM by dividing the <math>\beta' <math> by the product of the two volume fractions <math> \alpha \beta </math> to obtain <math>K</math>.
  
 
'''N.B'''. Every drag formulation has to be divided by the product <math> \alpha \beta </math> before beeing implemented in <tt>twoPhaseEulerFoam</tt> because this product has been extracted for numerical reasons.
 
'''N.B'''. Every drag formulation has to be divided by the product <math> \alpha \beta </math> before beeing implemented in <tt>twoPhaseEulerFoam</tt> because this product has been extracted for numerical reasons.
Line 106: Line 106:
 
         SyamlalOBrien
 
         SyamlalOBrien
 
         (
 
         (
             const dictionary&amp; interfaceDict,
+
             const dictionary& interfaceDict,
             const volScalarField&amp; alpha,
+
             const volScalarField& alpha,
             const phaseModel&amp; phasea,
+
             const phaseModel& phasea,
             const phaseModel&amp; phaseb
+
             const phaseModel& phaseb
 
         );
 
         );
  
Line 120: Line 120:
 
     // Member Functions
 
     // Member Functions
  
         tmp<volScalarField> K(const volScalarField&amp; Ur) const;
+
         tmp<volScalarField> K(const volScalarField& Ur) const;
 
};
 
};
  
Line 185: Line 185:
 
Foam::SyamlalOBrien::SyamlalOBrien
 
Foam::SyamlalOBrien::SyamlalOBrien
 
(
 
(
     const dictionary&amp; interfaceDict,
+
     const dictionary& interfaceDict,
     const volScalarField&amp; alpha,
+
     const volScalarField& alpha,
     const phaseModel&amp; phasea,
+
     const phaseModel& phasea,
     const phaseModel&amp; phaseb
+
     const phaseModel& phaseb
 
)
 
)
 
:
 
:
Line 205: Line 205:
 
Foam::tmp<Foam::volScalarField> Foam::SyamlalOBrien::K
 
Foam::tmp<Foam::volScalarField> Foam::SyamlalOBrien::K
 
(
 
(
     const volScalarField&amp; Ur
+
     const volScalarField& Ur
 
) const
 
) const
 
{
 
{
Line 249: Line 249:
  
  
== Gidaspow's drag (Ergun - Wen&amp;Yu) ==
+
== Gidaspow's drag (Ergun - Wen&Yu) ==
 
=== Formulas ===
 
=== Formulas ===
 
The Gidaspow formulation of the drag factor uses the Ergun correlations if <math>\beta < 0.8 </math>:
 
The Gidaspow formulation of the drag factor uses the Ergun correlations if <math>\beta < 0.8 </math>:
Line 341: Line 341:
 
         GidaspowErgunWenYu
 
         GidaspowErgunWenYu
 
         (
 
         (
             const dictionary&amp; interfaceDict,
+
             const dictionary& interfaceDict,
             const volScalarField&amp; alpha,
+
             const volScalarField& alpha,
             const phaseModel&amp; phasea,
+
             const phaseModel& phasea,
             const phaseModel&amp; phaseb
+
             const phaseModel& phaseb
 
         );
 
         );
  
Line 355: Line 355:
 
     // Member Functions
 
     // Member Functions
  
         tmp<volScalarField> K(const volScalarField&amp; Ur) const;
+
         tmp<volScalarField> K(const volScalarField& Ur) const;
 
};
 
};
  
Line 421: Line 421:
 
Foam::GidaspowErgunWenYu::GidaspowErgunWenYu
 
Foam::GidaspowErgunWenYu::GidaspowErgunWenYu
 
(
 
(
     const dictionary&amp; interfaceDict,
+
     const dictionary& interfaceDict,
     const volScalarField&amp; alpha,
+
     const volScalarField& alpha,
     const phaseModel&amp; phasea,
+
     const phaseModel& phasea,
     const phaseModel&amp; phaseb
+
     const phaseModel& phaseb
 
)
 
)
 
:
 
:
Line 441: Line 441:
 
Foam::tmp<Foam::volScalarField> Foam::GidaspowErgunWenYu::K
 
Foam::tmp<Foam::volScalarField> Foam::GidaspowErgunWenYu::K
 
(
 
(
     const volScalarField&amp; Ur
+
     const volScalarField& Ur
 
) const
 
) const
 
{
 
{
Line 488: Line 488:
  
 
--[[User:Alberto|Alberto]] 03:21, 29 Aug 2005 (CEST)
 
--[[User:Alberto|Alberto]] 03:21, 29 Aug 2005 (CEST)
<div id="aflknwerkamfs" style="overflow:auto;height:2px;">[http://hawaihbnnbe.toplog.nl hawaiian heirloom jewelry] [http://silveycseee.toplog.nl silver gem stone jewelry] [http://jacobcucomx.toplog.nl jacob jewelry] [http://jewelopjrqt.toplog.nl jewelry mall markville store] [http://whiteyarbgg.toplog.nl whitehall jewelry store] [http://indiaxldyrg.toplog.nl indian bridal jewelry] [http://jewelqskirx.toplog.nl jewel foolish game] [http://handmtxbgwv.toplog.nl handmade jewelry unique] [http://marqueajqad.toplog.nl marquette jewels] [http://cheapadzchh.toplog.nl cheap fashion jewelry] [http://cultuanzayx.toplog.nl cultured jewelry pearl] [http://jewelkucqiu.toplog.nl jewelry mother pearl] [http://kayjeydqdxv.toplog.nl kay jewelry store] [http://jewelrvkkeq.toplog.nl jewelry store los angeles] [http://hiphohhjtgd.toplog.nl hip hop jewelry real] [http://custottyywm.toplog.nl custom hip hop jewelry] [http://replilzzyeg.toplog.nl replica jewelry] [http://tiffaqgvhgz.toplog.nl tiffany jewelry store] [http://jewelgkkwhv.toplog.nl jewelry mall markville people store] [http://jewelkfprzz.toplog.nl jewel in the palace korean drama] [http://wholejbsfdw.toplog.nl wholesale jewelry costume fashion] [http://fakejukmmjf.toplog.nl fake jewelry] [http://wholeuvhumj.toplog.nl wholesale jewelry display] [http://ncljeudfbvz.toplog.nl ncl jewel] [http://bodyjmjqabw.toplog.nl body jewelry online] [http://bridakhxoln.toplog.nl bridal jewelry pearl] [http://pearljfqxdv.toplog.nl pearl bridal jewelry] [http://finecgljnkw.toplog.nl fine cubic zirconia jewelry] [http://gemhaewiymd.toplog.nl gem handmade jewelry stone] [http://floorzaylwp.toplog.nl floor mat cubic zirconia jewelry] [http://navajmotwrh.toplog.nl navajo jewelry] [http://freshbywraz.toplog.nl freshwater jewelry pearl] [http://naturjadomm.toplog.nl nature jewelry] [http://bodydnziwja.toplog.nl body discount jewelry] [http://handcjisbtn.toplog.nl handcrafted jewelry unique] [http://jewelrpoanq.toplog.nl jewel singer] [http://jewelstgksx.toplog.nl jewel hands] [http://handcpwpciu.toplog.nl handcrafted beaded jewelry] [http://gemhachkftv.toplog.nl gem handcrafted jewelry stone] [http://bodycnzfklv.toplog.nl body cheap jewelry] [http://wholefdfpsp.toplog.nl wholesale jewelry supply] [http://blackqiiwuv.toplog.nl black jewelry pearl] [http://buddyhyaful.toplog.nl buddy jewel] [http://replihbnzqi.toplog.nl replica tiffany jewelry] [http://jewelvsaive.toplog.nl jewel grocery store] [http://againoduzvg.toplog.nl again again jewel] [http://jewelzjozhi.toplog.nl jewelry store chicago] [http://beadjbawvaw.toplog.nl bead jewelry making] [http://adinajivpmf.toplog.nl adina jewel] [http://jewelgnvnmq.toplog.nl jewel of the sea] [http://jewelkuwqel.toplog.nl jewelry magnetic] [http://swaroqalbcf.toplog.nl swarovski crystal jewelry] [http://handmxcrrpx.toplog.nl handmade beaded jewelry] [http://dooneiwboyb.toplog.nl dooney burke handbag] [http://ninewbygvlx.toplog.nl nine west handbag] [http://womenknkziq.toplog.nl womens handbag] [http://quiltvogrtw.toplog.nl quilted handbag] [http://maryfkwxkdp.toplog.nl mary frances handbag] [http://kathytjeenm.toplog.nl kathy van zeeland handbag] [http://wholetxjsml.toplog.nl wholesale replica handbag] [http://gucciwqoame.toplog.nl gucci handbag low price] [http://strawhglzxx.toplog.nl straw handbag] [http://lvhanmhwguu.toplog.nl lv handbag] [http://dknyhqtbvqp.toplog.nl dkny handbag] [http://repliyafqev.toplog.nl replica chanel handbag] [http://authetpwezh.toplog.nl authentic louis vuitton handbag] [http://doonewvzglt.toplog.nl dooney handbag] [http://disconxlchv.toplog.nl discount coach handbag] [http://handmfgamzc.toplog.nl handmade handbag] [http://fossigynumn.toplog.nl fossil handbag] [http://bradlwtvlur.toplog.nl bradley handbag vera] [http://michaxemkri.toplog.nl michael kors handbag] [http://discocevjkg.toplog.nl discount designer handbag] [http://authengtbfu.toplog.nl authentic gucci handbag] [http://knockeowawd.toplog.nl knockoff handbag] [http://diorhzsbres.toplog.nl dior handbag] [http://repliaikfux.toplog.nl replica coach handbag] [http://juicyldhgks.toplog.nl juicy couture handbag] [http://brighvlwoaq.toplog.nl brighton handbag] [http://chloewbforo.toplog.nl chloe handbag] [http://handbjmpvpt.toplog.nl handbag jacobs marc] [http://marcjvveyde.toplog.nl marc jacobs handbag] [http://discovktlpj.toplog.nl discount handbag] [http://handbcrpxag.toplog.nl handbag purse] [http://doonevzdepz.toplog.nl dooney bourke handbag] [http://chaneuscxrw.toplog.nl chanel handbag] [http://fendiileazr.toplog.nl fendi handbag] [http://louisqlssnj.toplog.nl louis vuitton handbag] [http://guccipvtxbd.toplog.nl gucci handbag] [http://swissfzuwdj.toplog.nl swiss panerai replica watch] [http://swissadvrqg.toplog.nl swiss cartier watch replica] [http://swissoemejy.toplog.nl swiss gear backpack laptop] [http://patekmcpuau.toplog.nl patek philippe swiss replica] [http://swissthutrc.toplog.nl swiss watch quartz] [http://luxurqnjwhk.toplog.nl luxury replica swiss watch] [http://swissicrunf.toplog.nl swiss offshore bank account] [http://swissdgkxpg.toplog.nl swiss army chronograph] [http://fakessqbtrm.toplog.nl fake swiss rolex watch replica] [http://fakerwqmqdm.toplog.nl fake replica rolex swiss watch] [http://armycwvjjec.toplog.nl army chronograph swiss watch] [http://omegawuhvgw.toplog.nl omega swiss replica] [http://fakerdgisdy.toplog.nl fake rolex swiss watch] [http://cartilabann.toplog.nl cartier swiss replica] [http://swissxuextt.toplog.nl swiss breitling replica] [http://swissuqtlzh.toplog.nl swiss made breitling replica watch] [http://fakesnbtmsu.toplog.nl fake swiss watch] [http://accougeatrl.toplog.nl account bank credit offshore suisse swiss] [http://swisswofaro.toplog.nl swiss army wrist watch] [http://swisslamver.toplog.nl swiss army laptop bag] [http://panerhzbttj.toplog.nl panerai swiss replica] [http://accouccrkng.toplog.nl account bank bank offshore swiss switzerland union] [http://swissjblwhx.toplog.nl swiss camping gear] [http://cncswynxson.toplog.nl cnc swiss machining] [http://armybrzvpdt.toplog.nl army briefcase swiss] [http://001reebyjqw.toplog.nl 0.01 replica rolex swiss watch] [http://swissmveoaq.toplog.nl swiss army laptop backpack] [http://swisshvtqjf.toplog.nl swiss made replica watch] [http://swissdmgird.toplog.nl swiss army backpack] [http://repliqxyqnf.toplog.nl replica rolex swiss watch] [http://replixblwen.toplog.nl replica rolex swiss] [http://swissarykjr.toplog.nl swiss rolex replica] [http://swissooitfp.toplog.nl swiss replica watch] [http://lastmjveumi.toplog.nl last minute package travel] [http://alaskmfuimh.toplog.nl alaska deal travel] [http://travelwgfem.toplog.nl travel agency lawton oklahoma] [http://califcsqxoh.toplog.nl california jose san travel] [http://travedczfpd.toplog.nl travel lancaster pennsylvania] [http://dealeraosxt.toplog.nl dealer illinois trailer travel] [http://groupynlqed.toplog.nl group holland travel] [http://agentsmsofo.toplog.nl agent california jose san travel] [http://travedxwhwt.toplog.nl travel agent johnstown pennsylvania] [http://jamailhrvck.toplog.nl jamaica travel requirement] [http://travevyhvcz.toplog.nl travel johnstown pennsylvania] [http://jamaisuccle.toplog.nl jamaica travel tip] [http://traverxgris.toplog.nl travel agency cleveland ohio] [http://travebwddig.toplog.nl travel agency cincinnati ohio] [http://hawaihjplsp.toplog.nl hawaii information travel] [http://travekbcdyz.toplog.nl travel agency lancaster pennsylvania] [http://travejvjjpm.toplog.nl travel agent madison wisconsin] [http://golfithncpn.toplog.nl golf ireland travel] [http://travebdhlnd.toplog.nl travel steubenville ohio] [http://alaskooilkc.toplog.nl alaska nursing travel] [http://travexkbnsl.toplog.nl travel agency allentown pennsylvania] [http://traveejuwub.toplog.nl travel trailer rental in wisconsin] [http://coastdthysc.toplog.nl coastal discount package travel vacation] [http://robotgeovnx.toplog.nl robot site travel web] [http://traveimorkl.toplog.nl travel agency fort smith oklahoma] [http://busesfsdcho.toplog.nl bus escort hanover travel] [http://hawaipawhpw.toplog.nl hawaii onlin online travel] [http://agentrfmtki.toplog.nl agent illinois travel] [http://hawaikqzvra.toplog.nl hawaii tip travel] [http://travemlngej.toplog.nl travel fort smith oklahoma] [http://agenctraebn.toplog.nl agency davenport illinois travel] [http://travefgcffq.toplog.nl travel agent cincinnati] [http://agencxdoqkx.toplog.nl agency nebraska travel] [http://discopnfzoq.toplog.nl discount hawaii package travel] [http://travegwiqmj.toplog.nl travel agent louisville] [http://travehpibeg.toplog.nl travel agent harrisburg pennsylvania] [http://califejjidz.toplog.nl california francisco guide san travel] [http://califybjgcu.toplog.nl california rental trailer travel] [http://aainsafplev.toplog.nl aa insurance travel] [http://travecnxesm.toplog.nl travel agency canton ohio] [http://travedmfkkf.toplog.nl travel agent riverside] [http://onlinklpxvc.toplog.nl online site travel web] [http://gaptrrugpec.toplog.nl gap travel year] [http://gaminttypwn.toplog.nl gaming lodging resort resort spa travel] [http://hawaiklgipk.toplog.nl hawaii links travel] [http://agenclzjemz.toplog.nl agency california jose san travel] [http://ameripvptll.toplog.nl america south travel] [http://bestsbuyzrt.toplog.nl best site travel web] [http://newnyyflbxy.toplog.nl new nyc travel visit york] [http://lastmjveumi.toplog.nl last minute package travel] [http://alaskmfuimh.toplog.nl alaska deal travel] [http://travelwgfem.toplog.nl travel agency lawton oklahoma] [http://califcsqxoh.toplog.nl california jose san travel] [http://travedczfpd.toplog.nl travel lancaster pennsylvania] [http://dealeraosxt.toplog.nl dealer illinois trailer travel] [http://groupynlqed.toplog.nl group holland travel] [http://agentsmsofo.toplog.nl agent california jose san travel] [http://travedxwhwt.toplog.nl travel agent johnstown pennsylvania] [http://jamailhrvck.toplog.nl jamaica travel requirement] [http://travevyhvcz.toplog.nl travel johnstown pennsylvania] [http://jamaisuccle.toplog.nl jamaica travel tip] [http://traverxgris.toplog.nl travel agency cleveland ohio] [http://travebwddig.toplog.nl travel agency cincinnati ohio] [http://hawaihjplsp.toplog.nl hawaii information travel] [http://travekbcdyz.toplog.nl travel agency lancaster pennsylvania] [http://travejvjjpm.toplog.nl travel agent madison wisconsin] [http://golfithncpn.toplog.nl golf ireland travel] [http://travebdhlnd.toplog.nl travel steubenville ohio] [http://alaskooilkc.toplog.nl alaska nursing travel] [http://travexkbnsl.toplog.nl travel agency allentown pennsylvania] [http://traveejuwub.toplog.nl travel trailer rental in wisconsin] [http://coastdthysc.toplog.nl coastal discount package travel vacation] [http://robotgeovnx.toplog.nl robot site travel web] [http://traveimorkl.toplog.nl travel agency fort smith oklahoma] [http://busesfsdcho.toplog.nl bus escort hanover travel] [http://hawaipawhpw.toplog.nl hawaii onlin online travel] [http://agentrfmtki.toplog.nl agent illinois travel] [http://hawaikqzvra.toplog.nl hawaii tip travel] [http://travemlngej.toplog.nl travel fort smith oklahoma] [http://agenctraebn.toplog.nl agency davenport illinois travel] [http://travefgcffq.toplog.nl travel agent cincinnati] [http://agencxdoqkx.toplog.nl agency nebraska travel] [http://discopnfzoq.toplog.nl discount hawaii package travel] [http://travegwiqmj.toplog.nl travel agent louisville] [http://travehpibeg.toplog.nl travel agent harrisburg pennsylvania] [http://califejjidz.toplog.nl california francisco guide san travel] [http://califybjgcu.toplog.nl california rental trailer travel] [http://aainsafplev.toplog.nl aa insurance travel] [http://travecnxesm.toplog.nl travel agency canton ohio] [http://travedmfkkf.toplog.nl travel agent riverside] [http://onlinklpxvc.toplog.nl online site travel web] [http://gaptrrugpec.toplog.nl gap travel year] [http://gaminttypwn.toplog.nl gaming lodging resort resort spa travel] [http://hawaiklgipk.toplog.nl hawaii links travel] [http://agenclzjemz.toplog.nl agency california jose san travel] [http://ameripvptll.toplog.nl america south travel] [http://bestsbuyzrt.toplog.nl best site travel web] [http://newnyyflbxy.toplog.nl new nyc travel visit york] [http://gucciwjrbie.toplog.nl gucci handbag low price] [http://atticpqnoje.toplog.nl attic handbag] [http://strawpixfth.toplog.nl straw handbag] [http://lvhancbyrhz.toplog.nl lv handbag] [http://repliuwjlmo.toplog.nl replica gucci handbag] [http://dknyhelvoxl.toplog.nl dkny handbag] [http://stonephczfg.toplog.nl stone mountain handbag] [http://balendhcafx.toplog.nl balenciaga handbag] [http://disconrbhxc.toplog.nl discount coach handbag] [http://handmwwqifp.toplog.nl handmade handbag] [http://bradldjhckz.toplog.nl bradley handbag vera] [http://michaoqexsf.toplog.nl michael kors handbag] [http://discoqzdupt.toplog.nl discount designer handbag] [http://chrishmdegv.toplog.nl christian dior handbag] [http://authehlafks.toplog.nl authentic gucci handbag] [http://knockrcbckp.toplog.nl knockoff handbag] [http://diorhnbxcnd.toplog.nl dior handbag] [http://repliafpnlw.toplog.nl replica coach handbag] [http://katesjziroe.toplog.nl kate spade handbag] [http://juicymxuzgs.toplog.nl juicy couture handbag] [http://brighvpamhq.toplog.nl brighton handbag] [http://chloevtbrkf.toplog.nl chloe handbag] [http://louisbcknnq.toplog.nl louis vuitton replica handbag] [http://handbhivhfu.toplog.nl handbag jacobs marc] [http://marcjwxgyth.toplog.nl marc jacobs handbag] [http://discoptnnsj.toplog.nl discount handbag] [http://guesscpaojo.toplog.nl guess handbag] [http://burbemdvxmu.toplog.nl burberry handbag] [http://repliqywzpf.toplog.nl replica designer handbag] [http://handbtcnkol.toplog.nl handbag purse] [http://doonemrqjgg.toplog.nl dooney bourke handbag] [http://fendijaupaz.toplog.nl fendi handbag] [http://louiselbecz.toplog.nl louis vuitton handbag] [http://wholeodzlct.toplog.nl wholesale handbag] [http://replisuwumv.toplog.nl replica handbag] [http://coacheygoum.toplog.nl coach handbag] [http://gucciakuupm.toplog.nl gucci handbag] [http://pradaimieyj.toplog.nl prada handbag] [http://fendinptvxq.toplog.nl fendi handbag] [http://louiszekmjg.toplog.nl louis vuitton handbag] [http://cheapbuy.toplog.nl/ cheap buy xanax] [http://orderedxanax.toplog.nl/ order xanax online] [http://toplognl.toplog.nl/ buy xanax] [http://tramadol.toplog.nl/ buy tramadol] [http://handbag.toplog.nl/ replica coach handbag] [http://e-mercato.org/vtop/wholesalehandbag.html wholesale replica handbag] [http://e-mercato.org/vtop/rdesignerhandbag.html replica designer handbag] [http://e-mercato.org/vtop/pradahandbag.html prada replica handbag] [http://e-mercato.org/vtop/louisvuittonhandbag.html louis vuitton replica handbag] [http://e-mercato.org/vtop/guccihandbag.html replica gucci handbag] [http://e-mercato.org/vtop/designerhandbag.html designer handbag replica] [http://e-mercato.org/vtop/coachhandbag.html replica coach handbag] [http://e-mercato.org/vtop/chanelhandbag.html replica chanel handbag] [http://www.dablogs.com/?u=vverh quality replica watch] [http://www.freewebs.com/vverh/ quality replica watch] [http://www.freewebs.com/topnash/ swiss replica rolex watch] [http://www.dablogs.com/?u=topnash swiss replica rolex watch] [http://www.dablogs.com/?u=buduvtope omega replica watch] [http://www.freewebs.com/buduvtope/ omega replica watch] [http://www.dablogs.com/?u=replicahandbag12 louis vuitton replica handbag] [http://www.dablogs.com/?u=cartier cartier replica watch] [http://www.freewebs.com/cartierwatch/ cartier replica watch] [http://www.freewebs.com/brietling/ breitling replica watch] [http://www.dablogs.com/?u=brietling breitling replica watch] </div>
 

Latest revision as of 00:52, 14 August 2007

1 Syamlal and O'Brien drag

1.1 Formulas

The Syamlal and O'Brien drag formula can be written as follows (according to the nomenclature used in the code):


\beta' = \frac{3 \alpha \beta \rho_b}{4 V_r^2 d_a} C_{D_s} U_r

The terminal velocity V_r can be calculated using the formula:


V_r = \frac{1}{2} \left ( A - 0.06 \texttt{Re} + \sqrt{\left( 0.06 \texttt{Re} \right)^2 + 0.12 \texttt{Re} \left( 2B - A \right) + A^2}\right)

where A = \beta^{4.14}, B =  0.8 \beta^{1.28} if \beta \leq 0.85 and B = \beta^{2.65} if \beta > 0.85.

 C_{D_s} is found using the Della Valle formulation:


C_{D_s} = \left ( 0.63 + 4.8 \sqrt{\frac{V_r}{\texttt{Re}}} \right )

with


\texttt{Re} = \frac{d_a U_r}{\nu_b}

1.2 Implementation

The Syamlal and O'Brien drag model can be implemented in OpenFOAM by dividing the \beta' <math> by the product of the two volume fractions <math> \alpha \beta to obtain K.

N.B. Every drag formulation has to be divided by the product  \alpha \beta before beeing implemented in twoPhaseEulerFoam because this product has been extracted for numerical reasons.

The code is the following.

  • SyamlalOBrien.H
 
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
    \\  /    A nd           | Copyright (C) 1991-2004 OpenCFD Ltd.
     \\/     M anipulation  |
-------------------------------------------------------------------------------
License
    This file is part of OpenFOAM.
 
    OpenFOAM is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2 of the License, or (at your
    option) any later version.
 
    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for more details.
 
    You should have received a copy of the GNU General Public License
    along with OpenFOAM; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
Class
    SyamlalOBrien
 
Description
    Syamlal, M., Rogers, W. and O'Brien, T. J. (1993) MFIX documentation,
    Theory Guide. Technical Note DOE/METC-94/1004. Morgantown, West Virginia, 
    USA.
 
SourceFiles
    SyamlalOBrien.C
 
\*---------------------------------------------------------------------------*/
 
#ifndef SyamlalOBrien_H
#define SyamlalOBrien_H
 
#include "dragModel.H"
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
namespace Foam
{
 
/*---------------------------------------------------------------------------*\
                           Class SyamlalOBrien Declaration
\*---------------------------------------------------------------------------*/
 
class SyamlalOBrien
:
    public dragModel
{
 
public:
    
    //- Runtime type information
    TypeName("SyamlalOBrien");
 
 
    // Constructors
 
        //- Construct from components
        SyamlalOBrien
        (
            const dictionary& interfaceDict,
            const volScalarField& alpha,
            const phaseModel& phasea,
            const phaseModel& phaseb
        );
 
 
    // Destructor
 
        ~SyamlalOBrien();
 
 
    // Member Functions
 
        tmp<volScalarField> K(const volScalarField& Ur) const;
};
 
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
} // End namespace Foam
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
#endif
 
// ************************************************************************* //
  • SyamlalOBrien.C
 
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
    \\  /    A nd           | Copyright (C) 1991-2004 OpenCFD Ltd.
     \\/     M anipulation  |
-------------------------------------------------------------------------------
License
    This file is part of OpenFOAM.
 
    OpenFOAM is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2 of the License, or (at your
    option) any later version.
 
    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for more details.
 
    You should have received a copy of the GNU General Public License
    along with OpenFOAM; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
\*---------------------------------------------------------------------------*/
 
#include "SyamlalOBrien.H"
#include "addToRunTimeSelectionTable.H"
 
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
namespace Foam
{
    defineTypeNameAndDebug(SyamlalOBrien, 0);
 
    addToRunTimeSelectionTable
    (
        dragModel,
        SyamlalOBrien,
        dictionary
    );
}
 
 
// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
Foam::SyamlalOBrien::SyamlalOBrien
(
    const dictionary& interfaceDict,
    const volScalarField& alpha,
    const phaseModel& phasea,
    const phaseModel& phaseb
)
:
    dragModel(interfaceDict, alpha, phasea, phaseb)
{}
 
 
// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
Foam::SyamlalOBrien::~SyamlalOBrien()
{}
 
 
// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
Foam::tmp<Foam::volScalarField> Foam::SyamlalOBrien::K
(
    const volScalarField& Ur
) const
{
    volScalarField beta = max(1.0 - alpha_, 1.0e-6);
    volScalarField A = pow(beta, 4.14);
    volScalarField B = 0.8*pow(beta, 1.28);
 
    forAll (beta, celli)
    {
	if (beta[celli] > 0.85)
        {
		B[celli] = pow(beta[celli], 2.65);
        }
    }
 
    volScalarField Re = max(Ur*phasea_.d()/phaseb_.nu(), 1.0e-3);
    volScalarField Vr = 0.5*(A - 0.06*Re + sqrt(pow(0.06*Re,2.0) + 0.12*Re*(2.0*B-A) + pow(A,2.0)));
    volScalarField Cds = pow(0.63 + 4.8*sqrt(Vr/Re),2.0);
 
    return 0.75*Cds*phaseb_.rho()*Ur/(phasea_.d()*pow(Vr,2.0));
}
 
 
// ************************************************************************* //

1.3 Compile and link

In order to use this code:

  • Add the files in a directory named SyamlalOBrien in /.../twoPhaseEulerFoam/interfacialModels/dragModels.
  • Open the /../twoPhaseEulerFoam/interfacialModels/Make file and add to it the line
 
dragModels/SyamlalOBrien/SyamlalOBrien.C
  • Use the wmake tool to rebuild twoPhaseEulerFoam

1.4 References

  1. Dalla Valle, J.M., 1948, Micromeritics, Pitman, London.
  1. Syamlal, M., The Particle-Particle Drag Term in a Multiparticle Model of Fluidization, Topical Report, DOE/MC/21353-2373, NTIS/DE87006500, National Technical Information Service, Springfield, VA, 1987.
  1. Syamlal, M., Rogers, W. and O'Brien, T. J. (1993), MFIX documentation, Theory Guide. Technical Note DOE/METC-94/1004. Morgantown, West Virginia, USA, http://www.mfix.org.


2 Gidaspow's drag (Ergun - Wen&Yu)

2.1 Formulas

The Gidaspow formulation of the drag factor uses the Ergun correlations if \beta < 0.8 :


\beta' = 150 \frac{\alpha^2 \nu_b}{\beta^2 \rho_b d_a^2} + 1.75 \frac{\rho_b \alpha}{\beta d_s} U_r

If  \beta \geq 0.8 , the Wen and Yu correlation is used:


 \beta' = \frac{3 C_{D_s} \alpha \beta \rho_b U_r}{4 d_a} \beta^{-2.65}

where  C_{D_s} = 0.44 if \texttt{Re} \geq 1000, and


C_{D_s} = \frac{24}{\texttt{Re}} \left( 1 + 0.15 \texttt{Re}^{0.687} \right)

elsewhere (\texttt{Re} < 1000).

2.2 Implementation

  • GidaspowErgunWenYu.H
 
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
    \\  /    A nd           | Copyright (C) 1991-2004 OpenCFD Ltd.
     \\/     M anipulation  |
-------------------------------------------------------------------------------
License
    This file is part of OpenFOAM.
 
    OpenFOAM is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2 of the License, or (at your
    option) any later version.
 
    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for more details.
 
    You should have received a copy of the GNU General Public License
    along with OpenFOAM; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
Class
    GidaspowErgunWenYu
 
Description
    D. Gidaspow, Multiphase flow and fluidization, 
	Academic Press, New York, 1994.
 
SourceFiles
    GidaspowErgunWenYu.C
 
\*---------------------------------------------------------------------------*/
 
#ifndef GidaspowErgunWenYu_H
#define GidaspowErgunWenYu_H
 
#include "dragModel.H"
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
namespace Foam
{
 
/*---------------------------------------------------------------------------*\
                           Class GidaspowErgunWenYu Declaration
\*---------------------------------------------------------------------------*/
 
class GidaspowErgunWenYu
:
    public dragModel
{
 
public:
    
    //- Runtime type information
    TypeName("GidaspowErgunWenYu");
 
 
    // Constructors
 
 
        //- Construct from components
        GidaspowErgunWenYu
        (
            const dictionary& interfaceDict,
            const volScalarField& alpha,
            const phaseModel& phasea,
            const phaseModel& phaseb
        );
 
 
    // Destructor
 
        ~GidaspowErgunWenYu();
 
 
    // Member Functions
 
        tmp<volScalarField> K(const volScalarField& Ur) const;
};
 
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
} // End namespace Foam
 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
#endif
 
// ************************************************************************* //
  • GidaspowErgunWenYu.C
 
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
    \\  /    A nd           | Copyright (C) 1991-2004 OpenCFD Ltd.
     \\/     M anipulation  |
-------------------------------------------------------------------------------
License
    This file is part of OpenFOAM.
 
    OpenFOAM is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2 of the License, or (at your
    option) any later version.
 
    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for more details.
 
    You should have received a copy of the GNU General Public License
    along with OpenFOAM; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
\*---------------------------------------------------------------------------*/
 
#include "GidaspowErgunWenYu.H"
#include "addToRunTimeSelectionTable.H"
 
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
namespace Foam
{
    defineTypeNameAndDebug(GidaspowErgunWenYu, 0);
 
    addToRunTimeSelectionTable
    (
        dragModel,
        GidaspowErgunWenYu,
        dictionary
    );
}
 
 
// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
// Construct from components
Foam::GidaspowErgunWenYu::GidaspowErgunWenYu
(
    const dictionary& interfaceDict,
    const volScalarField& alpha,
    const phaseModel& phasea,
    const phaseModel& phaseb
)
:
    dragModel(interfaceDict, alpha, phasea, phaseb)
{}
 
 
// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
Foam::GidaspowErgunWenYu::~GidaspowErgunWenYu()
{}
 
 
// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
Foam::tmp<Foam::volScalarField> Foam::GidaspowErgunWenYu::K
(
    const volScalarField& Ur
) const
{
    volScalarField beta = max(1.0 - alpha_, 1.0e-6);
 
    volScalarField bp = pow(beta, -2.65);
    volScalarField Re = max(Ur*phasea_.d()/phaseb_.nu(), 1.0e-3);
 
    volScalarField Cds = 24.0*(1.0 + 0.15*pow(Re, 0.687))/Re;
 
    forAll(Re, celli)
    {
        if(Re[celli] > 1000.0)
        {
            Cds[celli] = 0.44;
        }
    }
    
    // Wen and Yu (1966)
    volScalarField KWenYu = 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d();
 
    // Ergun
    volScalarField KErgun = 150.0*alpha_*phaseb_.nu()*phaseb_.rho()
			    /(pow(beta*phasea_.d(), 2.0))
      			    + 1.75*phaseb_.rho()*Ur/(beta*phasea_.d());
 
    forAll (beta, cellj)
    {
	if (beta[cellj] <= 0.8)
        {
		KWenYu[cellj] = KErgun[cellj];
	}
    }
    
 
    return 1.0*KWenYu;
}
 
 
// ************************************************************************* //

2.3 References

  1. D. Gidaspow, Multiphase Flow and Fluidization: Continuum and Kinetic Theory Descriptions, Academic Press, New York, 1994.
  2. C. Y. Wen, Y. H. Yu, Mechanics of fluidization, Chemical Engineering Progress Symposium Series, 62:100-111, 1966.

--Alberto 03:21, 29 Aug 2005 (CEST)