mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
This patch enables the reactingEulerFoam solvers to simulate polydisperse flow situations, i.e. flows where the disperse phase is subject to a size distribution. The newly added populationBalanceModel class solves the integro-partial differential population balance equation (PBE) by means of a class method, also called discrete or sectional method. This approach is based on discretizing the PBE over its internal coordinate, the particle volume. This yields a set of transport equations for the number concentration of particles in classes with a different representative size. These are coupled through their source-terms and solved in a segregated manner. The implementation is done in a way, that the total particle number and mass is preserved for coalescence, breakup and drift (i.e. isothermal growth or phase change) processes, irrespective of the chosen discretization over the internal coordinate. A population balance can be split over multiple velocity (temperature) fields, using the capability of reactingMultiphaseEulerFoam to solve for n momentum (energy) equations. To a certain degree, this takes into account the dependency of heat- and momentum transfer on the disperse phase diameter. It is also possible to define multiple population balances, e.g. bubbles and droplets simultaneously. The functionality can be switched on by choosing the appropriate phaseSystem type, e.g. populationBalanceMultiphaseSystem and the newly added diameterModel class called velocityGroup. To illustrate the use of the functionality, a bubbleColumnPolydisperse tutorial was added for reactingTwoPhaseEulerFoam and reactingMultiphaseEulerFoam. Furthermore, a reactingEulerFoam-specific functionObject called sizeDistribution was added to allow post-Processing of the size distribution, e.g. to obtain the number density function in a specific region. Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum Dresden - Rossendorf (HZDR) and VTT Technical Research Centre of Finland Ltd.
126 lines
2.8 KiB
C++
126 lines
2.8 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: dev |
|
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
location "system";
|
|
object controlDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
application reactingMultiphaseEulerFoam;
|
|
|
|
startFrom startTime;
|
|
|
|
startTime 0;
|
|
|
|
stopAt endTime;
|
|
|
|
endTime 100;
|
|
|
|
deltaT 0.005;
|
|
|
|
writeControl runTime;
|
|
|
|
writeInterval 1;
|
|
|
|
purgeWrite 0;
|
|
|
|
writeFormat ascii;
|
|
|
|
writePrecision 6;
|
|
|
|
writeCompression uncompressed;
|
|
|
|
timeFormat general;
|
|
|
|
timePrecision 6;
|
|
|
|
runTimeModifiable yes;
|
|
|
|
adjustTimeStep no;
|
|
|
|
maxCo 0.5;
|
|
|
|
maxDeltaT 1;
|
|
|
|
functions0
|
|
{
|
|
fieldAverage1
|
|
{
|
|
type fieldAverage;
|
|
libs ("libfieldFunctionObjects.so");
|
|
writeControl writeTime;
|
|
fields
|
|
(
|
|
U.airI
|
|
{
|
|
mean on;
|
|
prime2Mean off;
|
|
base time;
|
|
}
|
|
|
|
U.airII
|
|
{
|
|
mean on;
|
|
prime2Mean off;
|
|
base time;
|
|
}
|
|
|
|
U.water
|
|
{
|
|
mean on;
|
|
prime2Mean off;
|
|
base time;
|
|
}
|
|
|
|
alpha.airI
|
|
{
|
|
mean on;
|
|
prime2Mean off;
|
|
base time;
|
|
}
|
|
|
|
alpha.airII
|
|
{
|
|
mean on;
|
|
prime2Mean off;
|
|
base time;
|
|
}
|
|
|
|
p
|
|
{
|
|
mean on;
|
|
prime2Mean off;
|
|
base time;
|
|
}
|
|
);
|
|
}
|
|
|
|
numberDensity.diameter.bubbles
|
|
{
|
|
type sizeDistribution;
|
|
functionObjectLibs ("libreactingEulerFoamFunctionObjects.so");
|
|
|
|
writeControl runTime;
|
|
writeInterval 10;
|
|
log yes;
|
|
|
|
functionType numberDensity;
|
|
abszissaType diameter;
|
|
regionType cellZone;
|
|
name zone;
|
|
populationBalance bubbles;
|
|
}
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|