A Large Tin Box

full of forgotten cases

Introduction to Numerical Solutions of Population Balance Equation

Introduction

Population balance equation (PBE) allows us to quantify the change of distribution of a single or a set of descriptors in a sample population. Seminal work in PBE was done by Marian Smoluchowski, who was a Polish scientist working on the foundations of statistical physics. A typical application in fluid dynamics context is a size distribution of a dispersion such as those encountered in gas-liquid or liquid-liquid flows where bubbles or drops play the role of the sample population. The methodology is more general though and has been used in other branches of modern science in order to study polymerization, biological cells or as models of ecosystems. Also, Lattice Boltzmann numerical techniques are based on this methodology. We are focused here on the fluid dynamic application and PBE will be used in order to capture the change of volume due to breakup and coalescence processes in bubbles or drops.

PBE are a set of integro-differential equations derived from Boltzmann equation for the number density function describing the size. The interaction term captures the coalescence and breakup processes through integrals over breakup or coalescence rates and the density function itself. For certain forms of these kernel functions equations can be solved analytically, but with the advent of computational methods it is also possible to obtain numerical approximations to the solutions of kernels of more general type.

In this post I will show a comparison of analytical solutions for pure breakup and pure coalescence cases. We discretise continuous PBE equations with finite volume and the choice of internal variable grid follows Hidy and Brock (1970) paper. The comparisons for pure breakage and agglomeration replicate the PBE testing reported in paper by Kumar and Ramkrishna (1996).

The exercise is performed in order to develop a calculation tool with simple python interface. The tests were a side product of other projects that I am running at the moment.

It Is Alive!

This is my first post using octopress i.e. a git based blogging engine. At the moment I am just testing various functionalities. Is markdown bold working? Do we have MathJax?

The quest for MathJax

Let’s try the Boltzmann equation:

To test inline maths we will use $x^2+y^2=z^2$ where $x$, $y$ are catheti and $z$ is a hypotenuse of a right triangle.

It works! Although to be truthful it did not work out-of-the-box. I had to fight a small battle messing around with some files. At the moment I am using kramdown and CDN according to advice given on this post. The only difference is that my javascript code landed in

source/_includes/custom/head.html

as it is being sourced by the main head anyway. This looks like a slightly cleaner solution.

But that wasn’t enough! After uploading the files on Github Pages they wouldn’t display even though I could see them in the preview mode. The reason was the HTTP secure access to MathJax. It’s important that CDN address contains https rather than http. There’s a passage in MathJax documentation about it. So much for “setting up a scientific blog in half-an-hour”, but I’ve learnt a few things definitely.

MathJax test passed.

The plan…

… is to run this as a little experiment in curiosity, amusement and memory of all these little intellectual pursuits which somehow get lost in the daily routine of existence. I would like to focus here on the work I do related to fluid dynamics and coding but other content may appear too. The first few steps though I need make is to investigate:

  • adding sub-pages,
  • add contact info,
  • test iPython integration,
  • check comment functionalities (in the unlikely case someone wants to comment!),
  • theme customization.

Interestingly at this stage the lists were not indented properly. Again, I found the instructions which fixed it though. During the whole process I was struck by the fact that I am overwhelmed by the technological nomenclature. There are lots of concepts here I completely don’t understand or just heard about for the very first time. Hopefully this will become less of an impediment as time goes on.

The first actual post to appear is going to be on the introduction to Kraichnan theory of turbulence which I am reading about at the moment. Will try to reproduce some of the results and test iPython integration. Future posts may cover some adventures in population balance modelling, partial differential with stochastic inputs and fluid dynamics problems.