In the present paper, we present a method for solving the population balance equation (PBE) with the complete range of kinetic processes included: namely aggregation, fragmentation, nucleation and growth. The method is based on the finite volume scheme and features guaranteed conservation of the first moment by construction, accurate prediction of the size distribution, applicability to an arbitrary non-uniform grid, robustness and computational efficiency which is instrumental for coupling with computational fluid dynamics (CFD). The treatment of aggregation is based on the previous work by Liu and Rigopoulos (2019). An analysis of the aggregation terms in the PBE is made, and the source of conservation error in finite element/volume methods is elucidated. It is subsequently shown how this error is overcome in the present method via a coordinate transformation applied to the aggregation birth double integral resulting from the application of the finite volume method. The contributions to the birth term are delineated and their corresponding death fluxes identified. An aggregation map is then constructed for mapping birth and death fluxes, thus allowing the finite volume method to operate in terms of fluxes and achieve conservation of mass. The method is then extended to fragmentation, for which a map is also constructed to represent the birth and death fluxes. In the implementation, the aggregation and fragmentation maps are pre-tabulated to allow fast computation. It is also shown how the method can be coupled with a total variation diminishing (TVD) scheme for the treatment of growth with minimal numerical diffusion. The method is validated with a number of test cases including analytical solutions and numerical solutions of the discrete PBE for aggregation (theoretical and free molecule/Brownian kernels), fragmentation, aggregation-fragmentation and aggregation-growth. In all cases, the method produces very accurate results, while also being computationally efficient due to the pre-tabulation of the maps and the simplicity of the algorithm carried out per time step.
Read full abstract