populationBalance: Standardise default field handling

Population balance size-group fraction 'f<index>.<phase>' fields are now
read from an 'fDefault.<phase>' field if they are not provided
explicitly. This is the same process as is applied to species fractions
or fvDOM rays. The sum-of-fs field 'f.<phase>' is no longer required.

The value of a fraction field and its boundary conditions must now be
specified in the corresponding field file. Value entries are no longer
given in the size group dictionaries in the constant/phaseProperties
file, and an error message will be generated if a value entry is found.

The fraction fields are now numbered programatically, rather than being
named. So, the size-group dictionaries do not require a name any more.

All of the above is also true for any 'kappa<index>.<phase>' fields that
are constructed and solved for as part of a fractal shape model.

The following is an example of a specification of a population balance
with two phases in it:

    populationBalances (bubbles);

    air1
    {
        type            pureIsothermalPhaseModel;
        diameterModel   velocityGroup;
        velocityGroupCoeffs
        {
            populationBalance bubbles;
            shapeModel      spherical;
            sizeGroups
            (
                { dSph 1e-3; } // Size-group #0: Fraction field f0.air1
                { dSph 2e-3; } // ...
                { dSph 3e-3; }
                { dSph 4e-3; }
                { dSph 5e-3; }
            );
        }
        residualAlpha   1e-6;
    }

    air2
    {
        type            pureIsothermalPhaseModel;
        diameterModel   velocityGroup;
        velocityGroupCoeffs
        {
            populationBalance bubbles;
            shapeModel      spherical;
            sizeGroups
            (
                { dSph 6e-3; } // Size-group #5: Fraction field f5.air2
                { dSph 7e-3; } // ...
                { dSph 8e-3; }
                { dSph 9e-3; }
                { dSph 10e-3; }
                { dSph 11e-3; }
                { dSph 12e-3; }
            );
        }
        residualAlpha   1e-6;
    }

Previously a fraction field was constructed automatically using the
boundary condition types from the sum-of-fs field, and the value of both
the internal and boundary field was then overridden by the value setting
provided for the size-group. This procedure doesn't generalise to
boundary conditions other than basic types that store no additional
data, like zeroGradient and fixedValue. More complex boundary conditions
such as inletOutlet and uniformFixedValue are incompatible with this
approach.

This is arguably less convenient than the previous specification, where
the sizes and fractions appeared together in a table-like list in the
sizeGroups entry. In the event that a substantial proportion of the
size-groups have a non-zero initial fraction, writing out all the field
files manually is extremely tedious. To mitigate this somewhat, a
packaged function has been added to initialise the fields given a file
containing a size distribution (see the pipeBend tutorial for an example
of its usage). This function has the same limitations as the previous
code in that it requires all boundary conditions to be default
constructable.

Ultimately, the "correct" fix for the issue of how to set the boundary
conditions conveniently is to create customised inlet-outlet boundary
conditions that determine their field's position within the population
balance and evaluate a distribution to determine the appropriate inlet
value. This work is pending funding.
This commit is contained in:
Will Bainbridge
2023-08-29 18:57:58 +01:00
parent a0c391b8bd
commit a05df4abe0
112 changed files with 2496 additions and 1147 deletions

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object f0.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
inlet
{
type uniformFixedValue;
uniformValue 1;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object f5.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
inlet
{
type uniformFixedValue;
uniformValue 1;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object fDefault.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
inlet
{
type uniformFixedValue;
uniformValue 0;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object fDefault.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
inlet
{
type uniformFixedValue;
uniformValue 0;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -27,12 +27,12 @@ massSource
fieldValues
{
f1.air1 0;
f2.air1 0;
f3.air1 1;
f4.air1 0;
f5.air1 0;
U.air1 (0 0 0);
f0.air1 0;
f1.air1 0;
f2.air1 1;
f3.air1 0;
f4.air1 0;
U.air1 (0 0 0);
}
}

View File

@ -27,17 +27,17 @@ air1
velocityGroupCoeffs
{
populationBalance bubbles;
populationBalance bubbles;
shapeModel spherical;
shapeModel spherical;
sizeGroups
(
f1 {dSph 1e-3; value 1.0;}
f2 {dSph 2e-3; value 0.0;}
f3 {dSph 3e-3; value 0.0;}
f4 {dSph 4e-3; value 0.0;}
f5 {dSph 5e-3; value 0.0;}
{ dSph 1e-3; }
{ dSph 2e-3; }
{ dSph 3e-3; }
{ dSph 4e-3; }
{ dSph 5e-3; }
);
}
@ -52,19 +52,19 @@ air2
velocityGroupCoeffs
{
populationBalance bubbles;
populationBalance bubbles;
shapeModel spherical;
shapeModel spherical;
sizeGroups
(
f6 {dSph 6e-3; value 1.0;}
f7 {dSph 7e-3; value 0.0;}
f8 {dSph 8e-3; value 0.0;}
f9 {dSph 9e-3; value 0.0;}
f10{dSph 10e-3; value 0.0;}
f11{dSph 11e-3; value 0.0;}
f12{dSph 12e-3; value 0.0;}
{ dSph 6e-3; }
{ dSph 7e-3; }
{ dSph 8e-3; }
{ dSph 9e-3; }
{ dSph 10e-3; }
{ dSph 11e-3; }
{ dSph 12e-3; }
);
}
@ -88,12 +88,14 @@ populationBalanceCoeffs
coalescenceModels
(
LehrMilliesMewes{}
LehrMilliesMewes
{}
);
binaryBreakupModels
(
LehrMilliesMewes{}
LehrMilliesMewes
{}
);
breakupModels
@ -101,7 +103,8 @@ populationBalanceCoeffs
driftModels
(
densityChange{}
densityChange
{}
);
nucleationModels

View File

@ -15,7 +15,7 @@ FoamFile
dimensions [];
internalField uniform 1.0;
internalField uniform 0;
boundaryField
{

View File

@ -10,6 +10,13 @@ runApplication topoSet
# Run
runApplication decomposePar
runParallel -s populationBalanceInitialDistributionFs foamPostProcess -func "
populationBalanceInitialDistributionFs
(
phase=particles,
initialDistributionFile=\"constant/initialDistribution.particles\"
)
"
runParallel $(getApplication)
runApplication reconstructPar -latestTime

View File

@ -0,0 +1,32 @@
(
(1e-6 0)
(1.21e-6 0)
(1.463e-6 0.0001)
(1.77e-6 0.0002)
(2.142e-6 0.0004)
(2.591e-6 0.0008)
(3.134e-6 0.0015)
(3.792e-6 0.0025)
(4.587e-6 0.004)
(5.549e-6 0.0062)
(6.71e-6 0.0093)
(8.12e-6 0.0137)
(9.82e-6 0.0198)
(11.88e-6 0.0279)
(14.38e-6 0.0383)
(17.39e-6 0.0512)
(21.04e-6 0.0663)
(25.45e-6 0.0829)
(30.79e-6 0.0991)
(37.24e-6 0.1121)
(45.06e-6 0.1183)
(54.51e-6 0.1141)
(65.94e-6 0.0977)
(79.77e-6 0.0712)
(96.49e-6 0.0412)
(116.7e-6 0.0170)
(141.2e-6 0.004)
(170.8e-6 0.0002)
(206.7e-6 0)
(250e-6 0)
);

View File

@ -33,40 +33,41 @@ particles
sizeGroups
(
f1 {dSph 1e-6; value 0;}
f2 {dSph 1.21e-6; value 0.000;}
f3 {dSph 1.463e-6; value 0.0001;}
f4 {dSph 1.77e-6; value 0.0002;}
f5 {dSph 2.142e-6; value 0.0004;}
f6 {dSph 2.591e-6; value 0.0008;}
f7 {dSph 3.134e-6; value 0.0015;}
f8 {dSph 3.792e-6; value 0.0025;}
f9 {dSph 4.587e-6; value 0.004;}
f10 {dSph 5.549e-6; value 0.0062;}
f11 {dSph 6.71e-6; value 0.0093;}
f12 {dSph 8.12e-6; value 0.0137;}
f13 {dSph 9.82e-6; value 0.0198;}
f14 {dSph 11.88e-6; value 0.0279;}
f15 {dSph 14.38e-6; value 0.0383;}
f16 {dSph 17.39e-6; value 0.0512;}
f17 {dSph 21.04e-6; value 0.0663;}
f18 {dSph 25.45e-6; value 0.0829;}
f19 {dSph 30.79e-6; value 0.0991;}
f20 {dSph 37.24e-6; value 0.1121;}
f21 {dSph 45.06e-6; value 0.1183;}
f22 {dSph 54.51e-6; value 0.1141;}
f23 {dSph 65.94e-6; value 0.0977;}
f24 {dSph 79.77e-6; value 0.0712;}
f25 {dSph 96.49e-6; value 0.0412;}
f26 {dSph 116.7e-6; value 0.0170;}
f27 {dSph 141.2e-6; value 0.004;}
f28 {dSph 170.8e-6; value 0.0002;}
f29 {dSph 206.7e-6; value 0;}
f30 {dSph 250e-6; value 0;}
{ dSph 1e-6; }
{ dSph 1.21e-6; }
{ dSph 1.463e-6; }
{ dSph 1.77e-6; }
{ dSph 2.142e-6; }
{ dSph 2.591e-6; }
{ dSph 3.134e-6; }
{ dSph 3.792e-6; }
{ dSph 4.587e-6; }
{ dSph 5.549e-6; }
{ dSph 6.71e-6; }
{ dSph 8.12e-6; }
{ dSph 9.82e-6; }
{ dSph 11.88e-6; }
{ dSph 14.38e-6; }
{ dSph 17.39e-6; }
{ dSph 21.04e-6; }
{ dSph 25.45e-6; }
{ dSph 30.79e-6; }
{ dSph 37.24e-6; }
{ dSph 45.06e-6; }
{ dSph 54.51e-6; }
{ dSph 65.94e-6; }
{ dSph 79.77e-6; }
{ dSph 96.49e-6; }
{ dSph 116.7e-6; }
{ dSph 141.2e-6; }
{ dSph 170.8e-6; }
{ dSph 206.7e-6; }
{ dSph 250e-6; }
);
}
alphaMax 0.62;
residualAlpha 1e-8;
}
@ -87,7 +88,8 @@ populationBalanceCoeffs
coalescenceModels
(
AdachiStuartFokkink{}
AdachiStuartFokkink
{}
);
binaryBreakupModels

View File

@ -9,13 +9,13 @@ FoamFile
{
format ascii;
class volScalarField;
object f.particles;
object f0.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1.0;
internalField uniform 1;
boundaryField
{
@ -24,7 +24,7 @@ boundaryField
inlet
{
type fixedValue;
value uniform 1.0;
value uniform 1;
}
outlet

View File

@ -9,13 +9,13 @@ FoamFile
{
format ascii;
class volScalarField;
object f.air1;
object fDefault.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1.0;
internalField uniform 0;
boundaryField
{
@ -24,7 +24,7 @@ boundaryField
inlet
{
type fixedValue;
value $internalField;
value uniform 0;
}
outlet
@ -32,10 +32,11 @@ boundaryField
type zeroGradient;
}
walls
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object kappaDefault.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 -1 0 0 0 0 0];
internalField uniform 1.5e10;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value uniform 1.5e10;
}
outlet
{
type zeroGradient;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -47,35 +47,35 @@ particles
sizeGroups
(
f01{dSph 4.000E-10; value 1.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f02{dSph 5.769E-10; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f03{dSph 8.320E-10; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f04{dSph 1.200E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f05{dSph 1.731E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f06{dSph 2.496E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f07{dSph 3.600E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f08{dSph 5.192E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f09{dSph 7.488E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f10{dSph 1.080E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f11{dSph 1.558E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f12{dSph 2.246E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f13{dSph 3.240E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f14{dSph 4.673E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f15{dSph 6.739E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f16{dSph 9.720E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f17{dSph 1.402E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f18{dSph 2.022E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f19{dSph 2.916E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f20{dSph 4.206E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f21{dSph 6.066E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f22{dSph 8.748E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f23{dSph 1.262E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f24{dSph 1.820E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f25{dSph 2.624E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f26{dSph 3.785E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f27{dSph 5.459E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f28{dSph 7.873E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f29{dSph 1.136E-05; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
{ dSph 4.000E-10; Df 1.8; alphaC 1; }
{ dSph 5.769E-10; Df 1.8; alphaC 1; }
{ dSph 8.320E-10; Df 1.8; alphaC 1; }
{ dSph 1.200E-09; Df 1.8; alphaC 1; }
{ dSph 1.731E-09; Df 1.8; alphaC 1; }
{ dSph 2.496E-09; Df 1.8; alphaC 1; }
{ dSph 3.600E-09; Df 1.8; alphaC 1; }
{ dSph 5.192E-09; Df 1.8; alphaC 1; }
{ dSph 7.488E-09; Df 1.8; alphaC 1; }
{ dSph 1.080E-08; Df 1.8; alphaC 1; }
{ dSph 1.558E-08; Df 1.8; alphaC 1; }
{ dSph 2.246E-08; Df 1.8; alphaC 1; }
{ dSph 3.240E-08; Df 1.8; alphaC 1; }
{ dSph 4.673E-08; Df 1.8; alphaC 1; }
{ dSph 6.739E-08; Df 1.8; alphaC 1; }
{ dSph 9.720E-08; Df 1.8; alphaC 1; }
{ dSph 1.402E-07; Df 1.8; alphaC 1; }
{ dSph 2.022E-07; Df 1.8; alphaC 1; }
{ dSph 2.916E-07; Df 1.8; alphaC 1; }
{ dSph 4.206E-07; Df 1.8; alphaC 1; }
{ dSph 6.066E-07; Df 1.8; alphaC 1; }
{ dSph 8.748E-07; Df 1.8; alphaC 1; }
{ dSph 1.262E-06; Df 1.8; alphaC 1; }
{ dSph 1.820E-06; Df 1.8; alphaC 1; }
{ dSph 2.624E-06; Df 1.8; alphaC 1; }
{ dSph 3.785E-06; Df 1.8; alphaC 1; }
{ dSph 5.459E-06; Df 1.8; alphaC 1; }
{ dSph 7.873E-06; Df 1.8; alphaC 1; }
{ dSph 1.136E-05; Df 1.8; alphaC 1; }
);
}

View File

@ -9,13 +9,13 @@ FoamFile
{
format ascii;
class volScalarField;
object f.particles;
object f0.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1.0;
internalField uniform 1;
boundaryField
{
@ -24,7 +24,7 @@ boundaryField
inlet
{
type fixedValue;
value uniform 1.0;
value uniform 1;
}
outlet

View File

@ -9,13 +9,13 @@ FoamFile
{
format ascii;
class volScalarField;
object f.air2;
object fDefault.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1.0;
internalField uniform 0;
boundaryField
{
@ -24,7 +24,7 @@ boundaryField
inlet
{
type fixedValue;
value $internalField;
value uniform 0;
}
outlet
@ -32,10 +32,11 @@ boundaryField
type zeroGradient;
}
walls
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
object kappaDefault.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 -1 0 0 0 0 0];
internalField uniform 1.5e10;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
inlet
{
type fixedValue;
value uniform 1.5e10;
}
outlet
{
type zeroGradient;
}
wall
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -47,35 +47,35 @@ particles
sizeGroups
(
f01{dSph 4.000E-10; value 1.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f02{dSph 5.769E-10; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f03{dSph 8.320E-10; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f04{dSph 1.200E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f05{dSph 1.731E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f06{dSph 2.496E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f07{dSph 3.600E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f08{dSph 5.192E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f09{dSph 7.488E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f10{dSph 1.080E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f11{dSph 1.558E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f12{dSph 2.246E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f13{dSph 3.240E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f14{dSph 4.673E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f15{dSph 6.739E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f16{dSph 9.720E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f17{dSph 1.402E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f18{dSph 2.022E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f19{dSph 2.916E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f20{dSph 4.206E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f21{dSph 6.066E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f22{dSph 8.748E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f23{dSph 1.262E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f24{dSph 1.820E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f25{dSph 2.624E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f26{dSph 3.785E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f27{dSph 5.459E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f28{dSph 7.873E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f29{dSph 1.136E-05; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
{ dSph 4.000E-10; Df 1.8; alphaC 1; }
{ dSph 5.769E-10; Df 1.8; alphaC 1; }
{ dSph 8.320E-10; Df 1.8; alphaC 1; }
{ dSph 1.200E-09; Df 1.8; alphaC 1; }
{ dSph 1.731E-09; Df 1.8; alphaC 1; }
{ dSph 2.496E-09; Df 1.8; alphaC 1; }
{ dSph 3.600E-09; Df 1.8; alphaC 1; }
{ dSph 5.192E-09; Df 1.8; alphaC 1; }
{ dSph 7.488E-09; Df 1.8; alphaC 1; }
{ dSph 1.080E-08; Df 1.8; alphaC 1; }
{ dSph 1.558E-08; Df 1.8; alphaC 1; }
{ dSph 2.246E-08; Df 1.8; alphaC 1; }
{ dSph 3.240E-08; Df 1.8; alphaC 1; }
{ dSph 4.673E-08; Df 1.8; alphaC 1; }
{ dSph 6.739E-08; Df 1.8; alphaC 1; }
{ dSph 9.720E-08; Df 1.8; alphaC 1; }
{ dSph 1.402E-07; Df 1.8; alphaC 1; }
{ dSph 2.022E-07; Df 1.8; alphaC 1; }
{ dSph 2.916E-07; Df 1.8; alphaC 1; }
{ dSph 4.206E-07; Df 1.8; alphaC 1; }
{ dSph 6.066E-07; Df 1.8; alphaC 1; }
{ dSph 8.748E-07; Df 1.8; alphaC 1; }
{ dSph 1.262E-06; Df 1.8; alphaC 1; }
{ dSph 1.820E-06; Df 1.8; alphaC 1; }
{ dSph 2.624E-06; Df 1.8; alphaC 1; }
{ dSph 3.785E-06; Df 1.8; alphaC 1; }
{ dSph 5.459E-06; Df 1.8; alphaC 1; }
{ dSph 7.873E-06; Df 1.8; alphaC 1; }
{ dSph 1.136E-05; Df 1.8; alphaC 1; }
);
}

View File

@ -10,20 +10,20 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object f.gas;
object f7.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1.0;
internalField uniform 1;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1.0;
value uniform 1;
}
outlet
{

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object fDefault.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0;
}
outlet
{
type zeroGradient;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -23,6 +23,7 @@ populationBalances (bubbles);
gas
{
type purePhaseModel;
diameterModel velocityGroup;
velocityGroupCoeffs
@ -33,33 +34,33 @@ gas
sizeGroups
(
f1 {dSph 1.0e-4; value 0 ;}
f2 {dSph 1.2e-4; value 0 ;}
f3 {dSph 1.44e-4; value 0 ;}
f4 {dSph 1.728e-4; value 0 ;}
f5 {dSph 2.074e-4; value 0 ;}
f6 {dSph 2.49e-4; value 0 ;}
f7 {dSph 2.99e-4; value 0 ;}
f8 {dSph 3.6e-4; value 1.0 ;}
f9 {dSph 4.3e-4; value 0 ;}
f10 {dSph 5.16e-4; value 0 ;}
f11 {dSph 6.19e-4; value 0 ;}
f12 {dSph 7.43e-4; value 0 ;}
f13 {dSph 8.92e-4; value 0 ;}
f14 {dSph 1.07e-3; value 0 ;}
f15 {dSph 1.28e-3; value 0 ;}
f16 {dSph 1.54e-3; value 0 ;}
f17 {dSph 1.85e-3; value 0 ;}
f18 {dSph 2.22e-3; value 0 ;}
f19 {dSph 2.67e-3; value 0 ;}
f20 {dSph 3.19e-3; value 0 ;}
f21 {dSph 3.85e-3; value 0 ;}
f22 {dSph 4.6e-3; value 0 ;}
f23 {dSph 5.52e-3; value 0 ;}
f24 {dSph 6.62e-3; value 0 ;}
f25 {dSph 7.95e-3; value 0 ;}
f26 {dSph 9.54e-3; value 0 ;}
f27 {dSph 1.14e-2; value 0 ;}
{ dSph 1.0e-4; }
{ dSph 1.2e-4; }
{ dSph 1.44e-4; }
{ dSph 1.728e-4; }
{ dSph 2.074e-4; }
{ dSph 2.49e-4; }
{ dSph 2.99e-4; }
{ dSph 3.6e-4; }
{ dSph 4.3e-4; }
{ dSph 5.16e-4; }
{ dSph 6.19e-4; }
{ dSph 7.43e-4; }
{ dSph 8.92e-4; }
{ dSph 1.07e-3; }
{ dSph 1.28e-3; }
{ dSph 1.54e-3; }
{ dSph 1.85e-3; }
{ dSph 2.22e-3; }
{ dSph 2.67e-3; }
{ dSph 3.19e-3; }
{ dSph 3.85e-3; }
{ dSph 4.6e-3; }
{ dSph 5.52e-3; }
{ dSph 6.62e-3; }
{ dSph 7.95e-3; }
{ dSph 9.54e-3; }
{ dSph 1.14e-2; }
);
}
@ -69,7 +70,9 @@ gas
liquid
{
type purePhaseModel;
diameterModel none;
Sc 0.7;
residualAlpha 1e-6;
@ -94,7 +97,8 @@ populationBalanceCoeffs
binaryBreakupModels
(
LehrMilliesMewes{}
LehrMilliesMewes
{}
);
breakupModels
@ -109,8 +113,7 @@ populationBalanceCoeffs
}
densityChange
{
}
{}
);
nucleationModels

View File

@ -10,20 +10,20 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object f.gas;
object f10.gas2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1.0;
internalField uniform 1;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1.0;
value uniform 1;
}
outlet
{

View File

@ -10,20 +10,20 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object f.gas;
object f9.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 1.0;
internalField uniform 1;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1.0;
value uniform 1;
}
outlet
{

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object fDefault.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0;
}
outlet
{
type zeroGradient;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object fDefault.gas2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [];
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0;
}
outlet
{
type zeroGradient;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -23,6 +23,7 @@ populationBalances (bubbles);
gas
{
type purePhaseModel;
diameterModel velocityGroup;
velocityGroupCoeffs
@ -33,16 +34,16 @@ gas
sizeGroups
(
f1 {dSph 1.0e-4; value 0 ;}
f2 {dSph 1.2e-4; value 0 ;}
f3 {dSph 1.44e-4; value 0 ;}
f4 {dSph 1.728e-4; value 0 ;}
f5 {dSph 2.074e-4; value 0 ;}
f6 {dSph 2.49e-4; value 0 ;}
f7 {dSph 2.99e-4; value 0 ;}
f8 {dSph 3.6e-4; value 0 ;}
f9 {dSph 4.3e-4; value 0 ;}
f10 {dSph 5.16e-4; value 1 ;}
{dSph 1.0e-4; }
{dSph 1.2e-4; }
{dSph 1.44e-4; }
{dSph 1.728e-4; }
{dSph 2.074e-4; }
{dSph 2.49e-4; }
{dSph 2.99e-4; }
{dSph 3.6e-4; }
{dSph 4.3e-4; }
{dSph 5.16e-4; }
);
}
@ -52,12 +53,8 @@ gas
gas2
{
type purePhaseModel;
diameterModel velocityGroup;
constantCoeffs
{
d 0.00045;
}
diameterModel velocityGroup;
velocityGroupCoeffs
{
@ -67,23 +64,23 @@ gas2
sizeGroups
(
f11 {dSph 6.19e-4; value 1 ;}
f12 {dSph 7.43e-4; value 0 ;}
f13 {dSph 8.92e-4; value 0 ;}
f14 {dSph 1.07e-3; value 0 ;}
f15 {dSph 1.28e-3; value 0 ;}
f16 {dSph 1.54e-3; value 0 ;}
f17 {dSph 1.85e-3; value 0 ;}
f18 {dSph 2.22e-3; value 0 ;}
f19 {dSph 2.67e-3; value 0 ;}
f20 {dSph 3.19e-3; value 0 ;}
f21 {dSph 3.85e-3; value 0 ;}
f22 {dSph 4.6e-3; value 0 ;}
f23 {dSph 5.52e-3; value 0 ;}
f24 {dSph 6.62e-3; value 0 ;}
f25 {dSph 7.95e-3; value 0 ;}
f26 {dSph 9.54e-3; value 0 ;}
f27 {dSph 1.14e-2; value 0 ;}
{dSph 6.19e-4; }
{dSph 7.43e-4; }
{dSph 8.92e-4; }
{dSph 1.07e-3; }
{dSph 1.28e-3; }
{dSph 1.54e-3; }
{dSph 1.85e-3; }
{dSph 2.22e-3; }
{dSph 2.67e-3; }
{dSph 3.19e-3; }
{dSph 3.85e-3; }
{dSph 4.6e-3; }
{dSph 5.52e-3; }
{dSph 6.62e-3; }
{dSph 7.95e-3; }
{dSph 9.54e-3; }
{dSph 1.14e-2; }
);
}
@ -93,7 +90,9 @@ gas2
liquid
{
type purePhaseModel;
diameterModel none;
Sc 0.7;
residualAlpha 1e-6;
@ -107,8 +106,6 @@ populationBalanceCoeffs
coalescenceModels
(
// LehrMilliesMewes{}
PrinceBlanch
{
turbulence on;
@ -120,7 +117,8 @@ populationBalanceCoeffs
binaryBreakupModels
(
LehrMilliesMewes{}
LehrMilliesMewes
{}
);
breakupModels
@ -135,8 +133,7 @@ populationBalanceCoeffs
}
densityChange
{
}
{}
);
nucleationModels