/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  13
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    location    "constant";
    object      cloudProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

type        reactingMultiphaseCloud;

solution
{
    calcFrequency   10;
    maxTrackTime    5.0;
    maxCo           0.3;

    coupled         true;
    cellValueSourceCorrection off;

    sourceTerms
    {
        resetOnStartup  false;
        schemes
        {
            rho             semiImplicit 1;
            U               semiImplicit 1;
            Yi              semiImplicit 1;
            h               semiImplicit 1;
            radiation       semiImplicit 1;
        }
    }

    interpolationSchemes
    {
        rho             cell;
        U               cellPoint;
        mu              cell;
        T               cell;
        Cp              cell;
        kappa           cell;
        p               cell;
    }

    integrationSchemes
    {
        U               Euler;
        T               analytical;
    }
}


constantProperties
{
    rho0            1000;
    T0              350;
    Cp0             4100;

    constantVolume  false;
}


subModels
{
    particleForces
    {
        sphereDrag;
        gravity;
    }

    injectionModels
    {
        model1
        {
            type            patchInjection;
            massFlowRate    0.8e-03;
            uniformParcelSize volume;
            patchName       inletCentral;
            parcelsPerSecond 100;
            U0              (0 40 0);
            flowRateProfile constant 1;
            sizeDistribution
            {
                type            tabulatedDensity;
                Q               3;
                distribution
                (
                    (10e-06      0.0025)
                    (15e-06      0.0528)
                    (20e-06      0.2795)
                    (25e-06      1.0918)
                    (30e-06      2.3988)
                    (35e-06      4.4227)
                    (40e-06      6.3888)
                    (45e-06      8.6721)
                    (50e-06      10.3153)
                    (55e-06      11.6259)
                    (60e-06      12.0030)
                    (65e-06      10.4175)
                    (70e-06      10.8427)
                    (75e-06      8.0016)
                    (80e-06      6.1333)
                    (85e-06      3.8827)
                    (90e-06      3.4688)
                );
            }
        }
    }

    dispersionModel stochasticDispersionRAS;

    patchInteractionModel standardWallInteraction;

    heatTransferModel RanzMarshall;

    compositionModel singleMixtureFraction;

    phaseChangeModel liquidEvaporation;

    devolatilisationModel none;

    surfaceReactionModel none;

    stochasticCollisionModel none;

    surfaceFilmModel none;

    radiation       off;

    standardWallInteractionCoeffs
    {
        type            rebound;
    }

    RanzMarshallCoeffs
    {
        BirdCorrection  off;
    }

    singleMixtureFractionCoeffs
    {
        phases
        (
            gas
            {
            }
            liquid
            {
                H2O 1;
            }
            solid
            {
            }
        );
        YGasTot0        0;
        YLiquidTot0     1;
        YSolidTot0      0;
    }

    liquidEvaporationCoeffs
    {
        enthalpyTransfer enthalpyDifference;
        activeLiquids   ( H2O );
    }
}


cloudFunctions
{
    patchPostProcessing1
    {
        type            patchPostProcessing;
        maxStoredParcels 100;
        patches         ( outlet );
    }

    particleTracks1
    {
        type            particleTracks;
        trackInterval   5;
        maxSamples      1000000;
        resetOnWrite    yes;
    }
}


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