Research Visits & Improving The Foam Generator

Good afternoon to those who have subscribed to my website!

I’ve not been as active on here recently as I’ve been writing a Royal Academy of Engineering Research Fellowship proposal in the past month. I’ve also been to visit some of my collaborators (Dr Adrian Mularczyk, Dr Antoni Forner-Cuenca) in Eindhoven, visiting Dr Dieter Froning in at Forschungszentrum Jülich, attending the Faraday Institution conference and the Ocean Renewable Fuels project at Imperial College.

PMG Updates – Visualisation Constraints for large scale

When I have time I try to implement new updates for the porous microstructure generator (PMG) side project.

Sometimes, you may only want to have the .tiff image stack as this will be much faster than generating the surface rendering (especially for large structures). To do this, I’ve facilitated an option that will only plot a subsection of the domain:

As you see by the image, the domain boundaries will be shown, but only a cut out will be rendered. This will enable large scale generation of structures without visualising in PMG (since the rendering is often the longest part).

Foam Generation – 2D and 3D Foam generator

The current foam network algorithm in PMG is not optimised and does not also follow the rule of each network node only having 3 connections in 2D and 4 in 3D. I would also like the ability to have spatial grading of pore size and fibre sizes.

Foam materials are formed by the thin-films surrounding bubbles and therefore, each foam cell is defined by a bubble size, which should not overlap. The first 2D implementation of this is shown above. The problem with this is the boundaries which shouldn’t be too hard to fix.

Now let’s extrapolate the algorithm to 3D, which will require some more constraints on the system to determine the connectivity between points. The first iteration of this revealed:

It doesn’t look quite there yet, lets integrate some of the PMG algorithms for visualisation:

After clipping the edges, now it’s looking slightly more like a foam but I suspect some of the bubbles are merged. To also make sure it works for anisotropic grids I need to change a few things (and also add the ambient occlusion from PMG so I can see the depth):

Since I have explicit information of the lattice network, I can manipulate by positional coordinates to get gradient in pore and fibre sizes:

This algorithm not only runs much faster than the foam network algorithm in PMG 2.0, but is able to control spatial fibre radius and pore size, enabling next-generation material design.

I can’t say when I will implement this in PMG but the code is developed. If you have any suggestions for new algorithms to try develop then please get in touch!

Leave a comment