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

type basicMultiphaseSystem;

phases (oil water rock);
referencePhase  oil;

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

water
{
    type            multiComponentIsothermalPhaseModel;
    diameterModel   constant;
    d               1e-4;
    residualAlpha   1e-6;
}

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

porous
(   

    (water in rock)
    {
        type            Darcy;
        KrModel         TransMob_BrooksAndCorey;
        TransMob_BrooksAndCoreyCoeffs
        {
            Krimax   {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        0.5)
                    (0.004        0.3)
                    (0.007        0.1)
                );
            	interp_var "NaCl";
            }

            n   {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        4)
                    (0.004       3.5)
                    (0.007        3)
                );
            	interp_var "NaCl";
            }

            Sr_w   {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        0.2)
                    (0.004       0.2)
                    (0.007        0.2)
                );
            	interp_var "NaCl";
            }

            Sr_nw {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        0.1)
                    (0.004        0.2)
                    (0.007        0.3)
                );
            	interp_var "NaCl";
            }
        }
    }

    (oil in rock)
    {
        type            Darcy;
        KrModel         TransMob_BrooksAndCorey;
        TransMob_BrooksAndCoreyCoeffs
        {
            Krimax   {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        1.0)
                    (0.004       1.0)
                    (0.007        1.0)
                );
            	interp_var "NaCl";
            }

            n   {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        2)
                    (0.004       2.5)
                    (0.007        3)
                );
            	interp_var "NaCl";
            }

            Sr_w   {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        0.2)
                    (0.004       0.2)
                    (0.007        0.2)
                );
            	interp_var "NaCl";
            }

            Sr_nw {
                type            table;
                interpolationModel linear;
                values
                (
                    (0.001        0.1)
                    (0.004       0.2)
                    (0.007        0.3)
                );
            	interp_var "NaCl";
            }
        }
    }
    
);

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

saturation
();

capillarity
();

surfaceTension
();

interfaceCompression
();

aspectRatio
();

drag
();

virtualMass
();

heatTransfer
();

massTransfer
();

lift
();

wallLubrication
();

turbulentDispersion
();

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