/*--------------------------------*- 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 (water oil rock);

water
{
    type            reactingIsothermalPhaseModel;
    diameterModel   constant;
    d               1e-4;
    residualAlpha   1e-6;
}
oil
{
    type            pureIsothermalPhaseModel;
    diameterModel   constant;
    d               1e-4;
    residualAlpha   1e-6;
}
rock
{
    type            multiComponentPorousIsothermalPhaseModel;
    diameterModel   constant;
    d               1e-2;
    residualAlpha   1e-6;

    invKModel       KozenyCarman;
    KozenyCarmanCoeffs
    {
        beta    4.0;
        gamma   1.0;
    }
}

porous
(
    (water in rock)
    {
        type            Darcy;
        KrModel         BrooksAndCoreyPorosity;
        BrooksAndCoreyPorosityCoeffs
        {
            Krimax0 0.2;
            ak      1e-4;
            n       2;
        }
        phinr   0.4;
        residualSaturationModel PorosityLiuSat;
        PorosityLiuSatCoeffs
        {
            rock    rock;
            Sr0     0.3;
            aS      1e-4;
        }
    }
    (oil in rock)
    {
        type            Darcy;
        KrModel         BrooksAndCoreyPorosity;
        BrooksAndCoreyPorosityCoeffs
        {
            Krimax0 0.5;
            ak      1e-4;
            n       3;
        }
        phinr   0.4;
        residualSaturationModel PorosityLiuSat;
        PorosityLiuSatCoeffs
        {
            rock    rock;
            Sr0     0.3;
            aS      1e-4;
        }
    }
);

blending
{
    default
    {
        type            none;
    }
}

massTransfer
(
    (water in rock)
    {
        type            twoScaleReaction;
        twoScaleReactionCoeffs
        {
            rockSpecies         (CaCO3);
            acidSpecies         (HCl);
            Shinf               3;
            ks                  0.01;
            alpha
            {
                CaCO3.HCl           0.05;
            }
            contactEfficiency           cubic;
            cubicCoeffs
            {
                chi 2.4;
            }
            characteristicLength        Sw;
        }
    }
);

saturation
();

capillarity
();

surfaceTension
();

interfaceCompression
();

aspectRatio
();

drag
();

virtualMass
();

heatTransfer
();


lift
();

wallLubrication
();

turbulentDispersion
();

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