CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   EOS and phase change on reactingTwoPhaseEulerFoam (https://www.cfd-online.com/Forums/openfoam-solving/165803-eos-phase-change-reactingtwophaseeulerfoam.html)

farhhad January 26, 2016 13:11

EOS and phase change on reactingTwoPhaseEulerFoam
 
I am struggling with adding a new equation of state to be used with reactingTwoPhaseEulerFoam, since I am dealing with a cryogenic liquid, which is not an ideal liquid, and Peng Robinson is only available for gas. My idea was to replace the Thermo class and write my own class (myThermo) and get rid any possible complications.
I am dealing with phase-change defined in constant/phaseProperties and I chose Antoine equations to consider phase-change at the boiling point according to pressure fluctuations. I don't find, in the code, where phase-change is programmed. Any idea????

Thanks

S.Colucci May 16, 2016 12:16

Quote:

Originally Posted by farhhad (Post 582521)
I am struggling with adding a new equation of state to be used with reactingTwoPhaseEulerFoam, since I am dealing with a cryogenic liquid, which is not an ideal liquid, and Peng Robinson is only available for gas. My idea was to replace the Thermo class and write my own class (myThermo) and get rid any possible complications.
I am dealing with phase-change defined in constant/phaseProperties and I chose Antoine equations to consider phase-change at the boiling point according to pressure fluctuations. I don't find, in the code, where phase-change is programmed. Any idea????

Thanks

Hi Farhad,
I'm also struggling with the phase-change in reactingTwoPhaseEulerFoam. Few things I have understood now:
- the mass transfer term is somehow similar to the term used in Fluent (Eqn. 17-522)
- the mass transfer coefficient is defined in reactingEulerFoam/interfacialCompositionModels/massTransferModels/Frossling or .../SphericalMassTransfer.

-
The equilibrium concentration is in reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry or .../Raoult.

Anyway, I still do not understand
1) where is the mass transfer term written in the code ?
2) where is the Lewis number used ?
2)
why in the Henry law I do notsee any pressure?

Any idea?Thanks

Simone

S.Colucci May 24, 2016 07:24

Quote:

Originally Posted by S.Colucci (Post 600238)
Hi Farhad,
I'm also struggling with the phase-change in reactingTwoPhaseEulerFoam. Few things I have understood now:
- the mass transfer term is somehow similar to the term used in Fluent (Eqn. 17-522)
- the mass transfer coefficient is defined in reactingEulerFoam/interfacialCompositionModels/massTransferModels/Frossling or .../SphericalMassTransfer.

-
The equilibrium concentration is in reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry or .../Raoult.

Anyway, I still do not understand
1) where is the mass transfer term written in the code ?
2) where is the Lewis number used ?
2)
why in the Henry law I do notsee any pressure?

Any idea?Thanks

Simone

I can now answer to some of my questions:

- the mass transfer coefficient is calculated by the member function massTransfer in reactingEulerFoam/phaseSystems/phaseSystems/InterfaceCompositionPhaseChangePhaseSystem
/InterfaceCompositionPhaseChangePhaseSystem.C
This function is called twice from YEqns.H, first before solving the transport equations
for components in each phase, Y1iEqn and Y2iEqn, and then at the end to update
the mass transfer term.

// call function massTransfer
autoPtr<phaseSystem::massTransferTable>
massTransferPtr(fluid.massTransfer());
...
// call function massTransfer
fluid.massTransfer(); // updates interfacial mass flow rates


During the first call, the mass transfer term is added to the Y matrix equation as fvm,

// Implicit transport through the phase
*eqns[name] +=
phase.rho()*KD*Yf
- fvm::Sp(phase.rho()*KD, eqns[name]->psi());


The second call updates the value stored in dmdt adding to dmdtExplicit the part depending on the solution of the Y equation, already solved,

dmdt -= dmdtSign*phase.rho()*KD*eqns[name]->psi();

Note that dmdt, before entering into the loop, is initialized with the value of dmdtExplicit

*this->dmdt_[pair] =
*this->dmdtExplicit_[pair];


in this way the explicit part used for calculating dmdt corresponds to the explicit part used in the YEqn.

- KD in the phase change term is given by K*D, where K is the mass transfer coefficient calculated in reactingEulerFoam/InterfacialCompositionModels/massTransferModels/SphericalMassTransfer/spericalMassTransfer.C or ../Frossling/Frossling.C and D the mass diffusivity calculated in in reactingEulerFoam/InterfacialCompositionModels/InterfaceCompositionModels/InterfaceCompositionModel.C.

Any reference, idea ... about the interface Composition Model? I don't know exactly what is that.

Simone

openfoammaofnepo May 1, 2017 18:03

Dear Simone,

I think the interface Composition Model is used to estimate the species mass fraction under saturation at the phase interface which will be used for the mass transfer model.

What kind of problems are you solving? gas-liquid and gas-particles?

S.Colucci May 10, 2017 07:29

Hi,
I'm solving for gas-liquid only...

rarnaunot January 2, 2020 08:13

Henry's law constant
 
Hi Foamers,

I would like to ask you two things about the interface Composition models in this solver:

1. In some tutorials, the interfaceComposition model is just specified for one phase. Example: tutorials\multiphase\reactingTwoPhaseEulerFoam\RAS \bubbleColumnEvaporatingReacting\constant

Code:

interfaceComposition
(
    (gas in liquid)
    {
        type Saturated;
        species ( H2O );
        Le 1.0;
        saturationPressure
        {
            type ArdenBuck;
        }
    }
);

And in others two models are specified:

Code:

interfaceComposition
(
    (gas in liquid)
    {
        type Saturated;
        species ( water );
        Le 1.0;
        saturationPressure
        {
            type ArdenBuck;
        }
    }

    (liquid in gas)
    {
        type Henry;
        species (air  );
        k (
                1.492e-2
                );
        Le 1.0;
    }
);

2. What are the units of the Henry's constant specied in:
Code:

  (liquid in gas)
    {
        type Henry;
        species (air  );
        k (
                1.492e-2
                );
        Le 1.0;
    }

Guess that they are dimensionless...

Thanks in advance!

Sk Hossen Ali January 27, 2022 02:00

Dear Simone,

You seem to understood quite a bit about the mass transfer in interfaceCompositionPhaseChangeTwoPhaseSystem (ICPCTPS) and I also do agree with your points.

I am struggling for the same questions in case of the thermalPhaseChangeTwoPhaseSystem (TPCTPS).

As the description of the solver TPCTPS suggest depending upon the heat transfer between the phases the amount of mass evaporation/condensation happens. When I ran few cases to simulate evaporation due to heat transfer from hot gases to the liquid (at saturation condition), it never happens. After few times steps the temperature of gases near the interface seems to go below saturation temperature and opposite happens (i.e., condensation from hot gases to liquid). I have found no matter how much is the temperature of liquid or gases near the interface always the condensation happens.

The phases as
liquid (occupied in the lower half of domain)- saturated water,
gas (occupied in the upper half of domain)- mixture of air and water vapor(initially zero amount)

I am attaching my whole case which I am running in openFoam-2106 version.

1. How is the mass transfer term calculated based on the thermal exchange between the phases? Where are those terms in code like you have shown for the case of ICPCTPS.

https://drive.google.com/file/d/1DhB...ew?usp=sharing

My main goal is to - simulate evaporation to happen due to heat transfer from hot gases to the liquid interface.

Any help would greatly appreciated.

Thanks in advance.


All times are GMT -4. The time now is 15:55.