/*--------------------------------*- C++ -*----------------------------------*\
  ==  == ====== ====   ====    |
                    \\     ||  | Multiphase Code Repository by HZDR
  ======   //   ||  || ===//   | Website: https://doi.org/10.14278/rodare.767
  ||  ||  //    ||  // || \\   | License: GPL-3.0-or-later
  ==  == ====== ====   ==  ==  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    location    "system";
    object      functions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#includeFunc    volIntegrate
(
    alpha.airC,
    alpha.airD,
    alpha.water,
    name=phasesVolume
)

#includeFunc    addonPopulationBalanceSizeDistribution
(
    populationBalance=bubbles,
    functionType=numberDensity,
    coordinateType=diameter,
    name=numberDensity
)

#includeFunc    addonPopulationBalanceMoments
(
    populationBalance=bubbles,
    momentType=integerMoment,
    order=0,
    coordinateType=volume,
    weightType=numberConcentration
)

#includeFunc    volIntegrate
(
    "integerMoment0(N,v).bubbles",
    name=totalNumberOfBubbles
)

#includeFunc    multiply(f0.airD,alpha.airD)
#includeFunc    multiply(f1.airD,alpha.airD)
#includeFunc    multiply(f2.airD,alpha.airD)
#includeFunc    multiply(f3.airD,alpha.airD)
#includeFunc    multiply(f4.airD,alpha.airD)

#includeFunc    volIntegrate("multiply(f0.airD,alpha.airD)", name=volumeClass0)
#includeFunc    volIntegrate("multiply(f1.airD,alpha.airD)", name=volumeClass1)
#includeFunc    volIntegrate("multiply(f2.airD,alpha.airD)", name=volumeClass2)
#includeFunc    volIntegrate("multiply(f3.airD,alpha.airD)", name=volumeClass3)
#includeFunc    volIntegrate("multiply(f4.airD,alpha.airD)", name=volumeClass4)

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