/*--------------------------------*- 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    addonPopulationBalanceSizeDistribution
(
    populationBalance=bubbles,
    functionType=numberDensity,
    coordinateType=diameter,
    name=numberDensity
)

#includeFunc    addonPopulationBalanceMoments
(
    populationBalance=bubbles,
    momentType=integerMoment,
    coordinateType=volume,
    order=1
)

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

#includeFunc    multiply(CO2.gas1,alpha.gas1)
#includeFunc    multiply(CO2.gas2,alpha.gas2)
#includeFunc    multiply(CO2.gas3,alpha.gas3)
#includeFunc    add(alpha.gas1, alpha.gas2, alpha.gas3)
#includeFunc    add(alpha.gas1, alpha.gas2, alpha.gas3, alpha.liquid)
#includeFunc    add(multiply(CO2.gas1,alpha.gas1), multiply(CO2.gas2,alpha.gas2), multiply(CO2.gas3,alpha.gas3))
#includeFunc    divide(add(multiply(CO2.gas1,alpha.gas1),multiply(CO2.gas2,alpha.gas2),multiply(CO2.gas3,alpha.gas3)), add(alpha.gas1,alpha.gas2,alpha.gas3))
#includeFunc    divide(multiply(CO2.gas1,alpha.gas1), add(alpha.gas1,alpha.gas2,alpha.gas3))
#includeFunc    divide(multiply(CO2.gas2,alpha.gas2), add(alpha.gas1,alpha.gas2,alpha.gas3))
#includeFunc    divide(multiply(CO2.gas3,alpha.gas3), add(alpha.gas1,alpha.gas2,alpha.gas3))

#includeFunc    writeObjects(d.gas1, d.gas2, d.gas3, rho.gas1, rho.gas2, rho.gas3)

#includeFunc    multiply(alpha.gas1,CO2.gas1,rho.gas1)
#includeFunc    multiply(alpha.gas2,CO2.gas2,rho.gas2)
#includeFunc    multiply(alpha.gas3,CO2.gas3,rho.gas3)
#includeFunc    multiply(alpha.liquid,CO2.liquid,rho.liquid)

#includeFunc    add(multiply(alpha.gas1,CO2.gas1,rho.gas1),multiply(alpha.gas2,CO2.gas2,rho.gas2),multiply(alpha.gas3,CO2.gas3,rho.gas3))
#includeFunc    add(multiply(alpha.gas1,CO2.gas1,rho.gas1),multiply(alpha.gas2,CO2.gas2,rho.gas2),multiply(alpha.gas3,CO2.gas3,rho.gas3),multiply(alpha.liquid,CO2.liquid,rho.liquid))

#includeFunc    probes
(
    name=probes,
    points=((0.5 0.5 0.5)),
    integerMoment0(N,v).bubbles,
    integerMoment1(N,v).bubbles,
    CO2.liquid,
    CO2.gas1,
    alpha.gas1,
    CO2.gas2,
    alpha.gas2,
    CO2.gas3,
    alpha.gas3,
    d.bubbles,
    add(alpha.gas1,alpha.gas2,alpha.gas3),
    divide(add(multiply(CO2.gas1,alpha.gas1),multiply(CO2.gas2,alpha.gas2),multiply(CO2.gas3,alpha.gas3)),add(alpha.gas1,alpha.gas2,alpha.gas3)),
    divide(multiply(CO2.gas1,alpha.gas1),add(alpha.gas1,alpha.gas2,alpha.gas3)),
    divide(multiply(CO2.gas2,alpha.gas2),add(alpha.gas1,alpha.gas2,alpha.gas3)),
    divide(multiply(CO2.gas3,alpha.gas3),add(alpha.gas1,alpha.gas2,alpha.gas3)),
    multiply(alpha.gas1,CO2.gas1,rho.gas1),
    multiply(alpha.gas2,CO2.gas2,rho.gas2),
    multiply(alpha.gas3,CO2.gas3,rho.gas3),
    multiply(alpha.liquid,CO2.liquid,rho.liquid),
    add(multiply(alpha.gas1,CO2.gas1,rho.gas1),multiply(alpha.gas2,CO2.gas2,rho.gas2),multiply(alpha.gas3,CO2.gas3,rho.gas3),multiply(alpha.liquid,CO2.liquid,rho.liquid)),
    add(multiply(alpha.gas1,CO2.gas1,rho.gas1),multiply(alpha.gas2,CO2.gas2,rho.gas2),multiply(alpha.gas3,CO2.gas3,rho.gas3)),
    writeControl=writeTime
)

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