Mesoscale fluid simulation with the lattice Boltzmann method
This thesis describes investigations of several complex fluid effects., including hydrodynamic spinodal decomposition, viscous instability. and self-assembly of a cubic surfactant phase, by simulating them with a lattice Boltzmann computational model. The introduction describes what is meant by the term "complex fluid", and why such fluids are both important and difficult to understand. A key feature of complex fluids is that their behaviour spans length and time scales. The lattice Boltzmann method is presented as a modelling technique which sits at a "mesoscale" level intermediate between coarse-grained and fine-grained detail, and which is therefore ideal for modelling certain classes of complex fluids. The following chapters describe simulations which have been performed using this technique, in two and three dimensions. Chapter 2 presents an investigation into the separation of a mixture of two fluids. This process is found to involve several physical mechanisms at different stages. The simulated behaviour is found to be in good agreement with existing theory, and a curious effect, due to multiple competing mechanisms, is observed, in agreement with experiments and other simulations. Chapter 3 describes an improvement to lattice Boltzmann models of Hele-Shaw flow, along with simulations which quantitatively demonstrate improvements in both accuracy and numerical stability. The Saffman-Taylor hydrodynamic instability is demonstrated using this model. Chapter 4 contains the details and results of the TeraGyroid experiment, which involved extremely large-scale simulations to investigate the dynamical behaviour of a self-assembling structure. The first finite- size-effect- free dynamical simulations of such a system are presented. It is found that several different mechanisms are responsible for the assembly; the existence of chiral domains is demonstrated, along with an examination of domain growth during self-assembly. Appendix A describes some aspects of the implementation of the lattice Boltzmann codes used in this thesis; appendix B describes some of the Grid computing techniques which were necessary for the simulations of chapter 4. Chapter 5 summarises the work, and makes suggestions for further research and improvement.