/*--------------------------------*- 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.gasC,
    alpha.gasD,
    alpha.liquid,
    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.gasD,alpha.gasD)
#includeFunc    multiply(f1.gasD,alpha.gasD)
#includeFunc    multiply(f2.gasD,alpha.gasD)
#includeFunc    multiply(f3.gasD,alpha.gasD)
#includeFunc    multiply(f4.gasD,alpha.gasD)

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

#includeFunc    cellMax(structureVolume.gasC, name=structureVolumeMax)

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