The core settings for simulations involving a population balance model are contained in the populationBalanceProperties dictionary, located in the constant directory of the corresponding case.
Selecting type of population balance equation
In order to solve a univariate population balance, the entry
must be present.
Sub-models are activated in the sub-dictionary corresponding to the selected PBE. For a univariate PBE:
Selecting the aggregation kernel
The aggregation kernel is activated by adding the following instruction to the univariateCoeffs sub-dictionary
The corresponding kernel is selected using the aggregationKernel sub-dictionary inside the univariateCoeffs sub-dictionary
Some kernels may require additional inputs such as coefficients or parameters, which need to be specified inside the aggregationKernel sub-dictionary. If absent, an error will be returned, or a default value will be used when appropriate. Please, refer to the code documentation for the specific kernels for details.
Selecting the breakup kernel
Similarly to aggregation, breakup is activated with the keyword:
The breakup kernel is selected in the breakupKernel subdictionary:
Cb Cb [ 0 0 0 0 0 0 0 ] 1.0e-3;
The daughter distribution is specified in the corresponding sub-dictionary as follows
Selecting the diffusion model
The diffusion model and the corresponding parameters are specified in the diffusionModel subdictionary:
gammaLam gammaLam [ 0 2 -1 0 0 0 0 ] 1.0e-6;
Selecting the growth model
The growth model is activated with the keyword:
The corresponding growth model is selected in the growthModel sub-dictionary:
minAbscissa minAbscissa [0 -2 0 0 0 0 0] 0.0;
maxAbscissa maxAbscissa [0 -2 0 0 0 0 0] 1.0;
Cg Cg [0 3 -1 0 0 0 0 ] 1.0;
Selecting the nucleation model
The nucleation model and the corresponding parameters are specified in the nucleationModel subdictionary:
Integration of the sub-models
Sub-models are integrated using the realizable ODE solver implemented in general form into OpenQBMM. Settings for this solver are specified in the populationBalanceProperties dictionary, as explained here.
Examples and validation cases
An example case using the population balance model implementation in OpenQBMM can be found in the tutorial:
Validation cases are provided in: