/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      reactingCloud1Properties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solution
{
    active          yes;

    transient       no; // yes;
    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;
            hs              semiImplicit 1;
        }
    }

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

    integrationSchemes
    {
        U               Euler;
        T               analytical;
    }
}


constantProperties
{
    parcelTypeId    1;

    rhoMin          1e-15;
    TMin            200;
    pMin            1000;
    minParticleMass 1e-15;

    rho0            1000;
    T0              350;
    Cp0             4100;

    youngsModulus   1e9;
    poissonsRatio   0.35;

    epsilon0        1;
    f0              0.5;

    Tvap            273;
    Tbp             373;
    Pr              0.7;
    LDevol          0;
    hRetentionCoeff 1;

    constantVolume  false;
}


subModels
{
    particleForces
    {
        sphereDrag;
        gravity;
    }

    injectionModel  patchInjection;

    dispersionModel stochasticDispersionRAS;

    patchInteractionModel standardWallInteraction;

    heatTransferModel RanzMarshall;

    compositionModel singleMixtureFraction;

    phaseChangeModel liquidEvaporation;

    devolatilisationModel none;

    surfaceReactionModel none;

    surfaceFilmModel none;

    radiation       off;

    patchInjectionCoeffs
    {
        massFlowRate    0.8e-03;
        parcelBasisType mass;
        patchName       inletCentral;
        parcelsPerSecond 100;
        duration        1; // NOTE: set to 1 for steady state
        U0              (0 40 0);
        flowRateProfile constant 1;
        sizeDistribution
        {
            type        general;
            generalDistribution
            {
                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)
                );
            }
        }
    }

    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
{
    patchPostProcessing
    {
        maxStoredParcels 100;
        patches         ( outlet );
    }

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


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