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

about mass transfer model in reactingTwoPhaseEulerFoam solver

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 2, 2017, 13:49
Default about mass transfer model in reactingTwoPhaseEulerFoam solver
  #1
Senior Member
 
Join Date: Jan 2013
Posts: 371
Rep Power: 11
openfoammaofnepo is on a distinguished road
Dear All,

Recently I am working on reactingTwoPhaseEulerFoam solver from OpenFOAM 3.0.1. I have to implement my own mass transfer model, and hence have to read a little bit about the mass transfer model in this solver. We all know that there is a source term in the RHS of the mass fraction governing equation:

Code:
  Y1iEqn==*massTransfer[Y1[i].name()]+ fvOptions(alpha1, rho1, Y1[i])
I know the meaning of the highlighted mass transfer term, for example, if we use Frossling model and spherical models, we will have the following lines of codes:

Code:
Foam::tmp<Foam::volScalarField>

Foam::massTransferModels::Frossling::K() const

{

    volScalarField Sh(scalar(2) + 0.552*sqrt(pair_.Re())*cbrt(Le_*pair_.Pr()));



    return 6.0*pair_.dispersed()*Sh/sqr(pair_.dispersed().d());

}
Code:
Foam::tmp<Foam::volScalarField>

Foam::massTransferModels::sphericalMassTransfer::K() const

{

    return 60.0*pair_.dispersed()/sqr(pair_.dispersed().d());

}
My question is: how *massTransfer[Y1[i].name()] is calculated based on the modelled K?

best regards,
OFFO
openfoammaofnepo is offline   Reply With Quote

Old   May 3, 2017, 10:53
Default
  #2
Senior Member
 
Join Date: Jan 2013
Posts: 371
Rep Power: 11
openfoammaofnepo is on a distinguished road
In the massTransfer() function, we have the following several lines:

Code:
              // Implicit transport through the phase
              *eqns[name] +=
                  phase.rho()*KD*Yf
                - fvm::Sp(phase.rho()*KD, eqns[name]->psi());
  
              // Sum the mass transfer rate
              dmdtExplicit += dmdtSign*phase.rho()*KD*Yf;
              dmdt -= dmdtSign*phase.rho()*KD*eqns[name]->psi();
  
              // Explicit transport out of the other phase
            if (eqns.found(otherName))
              {
                  *eqns[otherName] -=
                      otherPhase.rho()*KD*compositionModel.dY(member, Tf);
              }
So we can see that here dmdt is calculated. Here dmdt is related to the Yf which is the mass fraction at the phase interface. Anybody knows the references for this model?
openfoammaofnepo is offline   Reply With Quote

Old   May 5, 2017, 10:20
Default
  #3
Senior Member
 
Join Date: Jan 2013
Posts: 371
Rep Power: 11
openfoammaofnepo is on a distinguished road
Dear All,

About the BasePhaseSystem, it is widely used for the class template in the reactingTwoPhaseEulerFoam solver. For example, it is used for the heatTransferModel.H, and the piece of the code is as follows:

Code:
/*---------------------------------------------------------------------------*\
                    Class HeatTransferPhaseSystem Declaration
\*---------------------------------------------------------------------------*/

template<class BasePhaseSystem>
class HeatTransferPhaseSystem
:
    public BasePhaseSystem
{
protected:
         
    // Protected typedefs
         
        typedef HashTable
        <
            autoPtr<BlendedInterfacialModel<heatTransferModel> >,
            phasePairKey,
            phasePairKey::hash
        > heatTransferModelTable;
But I am not sure where this "BasePhaseSystem" is from. I searched in the \src and \reactingTwoPhaseEulerFoam, but did not find any relevant results. Do you where where it is defined in the OpenFOAM? Anybody also has this problem and do you have any comment for this question?
openfoammaofnepo is offline   Reply With Quote

Old   June 27, 2019, 04:26
Default
  #4
New Member
 
James Lee
Join Date: Jul 2017
Posts: 4
Rep Power: 5
LG Liang is on a distinguished road
Hi,

The BasePhaseSystem can be found in reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystems.C

Say if the phaseSystem used is interfaceCompositionPhaseChangeTwoPhaseSystem, it can be seen in the code that

typedef
InterfaceCompositionPhaseChangePhaseSystem
<
PhaseTransferPhaseSystem
<
TwoResistanceHeatTransferPhaseSystem
<
MomentumTransferPhaseSystem<twoPhaseSystem>
>
>
>
interfaceCompositionPhaseChangeTwoPhaseSystem;

So the BasePhaseSystem of HeatTransferPhaseSystem would be MomentumTransferPhaseSystem<twoPhaseSystem>. By the way the code is from newer version though. Hope it helps.

Regards,
James
LG Liang 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
which solver to model a falling film with mass transfer ? Cyp OpenFOAM 7 April 7, 2015 18:53
Difficulty In Setting Boundary Conditions Moinul Haque CFX 4 November 25, 2014 17:30
Low Mixing time Problem Mavier CFX 5 April 29, 2013 00:00
Mass and het transfer using eulerian model Pablo FLUENT 0 February 16, 2007 08:36
VOF model with the mass transfer? ROOZBEH FLUENT 0 April 21, 2003 04:23


All times are GMT -4. The time now is 12:33.