My research focuses broadly on simulations of multi-phase flows and on the theory required to develop such numerical methods. The first method of choice are lattice Boltzmann simulations, often in combination with local thermodynamic descriptions.
More recently we have focused on deriving such lattice Boltzmann methods from more fundamental microscopic methods. Examples include mapping an Ising model onto lattice Boltzmann or using Molecular Dynamics as the fundamental underpinning.
My group has been working on a number of interesting multi-phase flow phenomena from phase separation fronts to evaporation phenomena. Some relevant papers are:
Phase separation fronts:
Lattice Boltzmann methods were originally derived from lattice gas methods. These methods are surprisingly simple: particles on a lattice will collide when they are on the same lattice site conserving mass an momentum. Original lattice gases had single occupation numbers for each particle velocity, but integer lattice gases relax this restriction.
While most modern lattice Boltzmann methods cannot be derived from lattice gases (as is immediately obvious from the fact that they can become unstable) integer lattice gases have the entropic lattice Boltzmann method as their Boltzmann limit.
The basic idea of this research is that a Molecular Dynamics simulation can be mapped onto a lattice gas method by simply following which lattice sites MD particles are assigned to at different times. Interestingly the equilibrium distribution for these discrete occupation numbers closely resemble those of current lattice Boltzmann methods!
When taking a Boltzmann limit of a Molecular Dynamics lattice gas one obtains a lattice Boltzmann method.
This ia a new project where we show that it is possible to derive a lattice Boltzmann method that closely resembles an ensemble average of an Ising lattice gas.
Since C doesn't natively has an easy way of generating scientific visualizations, we developed a Graphical User Interface (GUI) that is relatively easy to implement and allows one to control a simulation by changing variable names and by displaying fields and dynamic graphs at runtime. This project is available under the GNU public liscense.