/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM:  The Open Source CFD Toolbox
   \\    /   O peration     | Version:   OpenFOAM-9 (f8d11b031) (openfoam.org)
    \\  /    A nd           | Upstream:  A Wikki Brasil project (wikki.com.br)
     \\/     M anipulation  | Version:   dev
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      phaseProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

type basicMultiphaseSystem;

phases (oil gas rock);

gas
{
    type            pureIsothermalPhaseModel;
    diameterModel   constant;
    d               1e-4;
    residualAlpha   1e-6;
}

oil
{
    type            pureIsothermalPhaseModel;
    diameterModel   constant;
    d               1e-4;
    residualAlpha   1e-6;
}

rock
{
    type            purePorousIsothermalPhaseModel;
    diameterModel   constant;
    d               1e-2;
    residualAlpha   1e-6;
}

porous
(
    (gas in rock)
    {
        type            Darcy;
        KrModel         quadratic;
    }

    (oil in rock)
    {
        type            Darcy;
        KrModel         quadratic;
    }
);

blending
{
    default
    {
        type            none;
        continuousPhase none;
    }
}

saturation
();

capillarity
();

surfaceTension
();

interfaceCompression
();

aspectRatio
();

drag
();

virtualMass
();

heatTransfer
();

massTransfer
(
    (gas in oil)
    {
        type        blackOil;
        Yrs
        {
            type        NonUniformTable;

            values
            (                       //  Rs             Yrs = (Rs/rho2)/(Rs/rho2 + 1/rho1)
                (1.0e5     0.000)   //   0.0  m³/m³
                (1.0e7     0.111)   //  50.0  m³/m³
                (2.0e7     0.200)   // 100.0  m³/m³
                (3.0e7     0.273)   // 150.0  m³/m³
            );
        }
        specie      live;
        pb
        {
            type        NonUniformTable;

            values
            (
                (0.000     1.0e5)   //   0.0  m³/m³
                (0.111     1.0e7)   //  50.0  m³/m³
                (0.200     2.0e7)   // 100.0  m³/m³
                (0.273     3.0e7)   // 150.0  m³/m³
            );
        }
    }
);

lift
();

wallLubrication
();

turbulentDispersion
();

// ************************************************************************* //
