Cellular Automata and Sand Dunes

Here’s a very short summary of a complex load of modelling that I was involved with. The basic model is a cellular model on a grid – each grid square has a stack of grains of sand on it. Then each step of the model involves a grain of sand, which is on top of a pile, jumping across the grid. This models the action of wind or water over a field of sand. When the grain lands it either sticks or bounces dependent on the slope of the field around it. If it sticks, it may then trigger an avalanche. This happens if the addition of that grain causes a gradient in the model (from one cell to the next) that is higher than a threshold. A back fill avalanche can also form if the high gradient is caused by the removal of the grain in the first part of the move.

Anyhow, this is all very simple and produces very lifelike looking sand waves and dunes. Some types of aeolian (wind) sand dunes are called Barchan dunes. They are classically shaped like crescents when the supply of sand is sparse and form connected waves in deep sand. So, that’s the basic model and they produce very lifelike looking dunes – but it is tricky to scale them, or calibrate them to make realistic models at real sizes. But they certainly look promising as a method to understand how dunes are formed and how they move.

I started playing with these models to add various grain sizes, and to add variable current fields – in the original case they were based on a ‘current’ that moves orthogonally to the grid. These augmentations presented some really interesting computational challenges – obviously if we are modelling sand, grain by grain, then speed of computation becomes an issue. So look at a basic model of one dune being pushed around a post… in this video the height of the dunes is shown by colours, so the red bit is the highest etc..,

Now, if there is a lot more sand and a current at an angle, it is interesting to look at how a pattern in a dune field is moved around – this is the sort of situation which may help understand how a sand wave field might develop and move, after a major disturbance (obviously dredging might be a prime example of this type of disturbance). The point of these models is to eventually predict the impact of developments or other disturbances on naturally occurring landscapes (or sea bedscapes!)

It is interesting how the disturbance to a field that had been previously formed and remained in a quasi stable state was profound, and persisted over quite a distance and time. This type of quasi-stability is very interesting from a chaos perspective and these cellular models are often used as examples of systems that can be moved to the brink of chaos – they often exhibit many of the hallmarks of chaotic systems, including periodicity, power laws, sensitivity etc., apologies I digress!

Then look at another view of a single pile of mixed grains…

In this case the heavier grains are likely to move less than the light ones, and so end up forming veneers over the remaining mixed piles – this ends up being interesting because veneers are common on real sea beds.

Then use this type of approach to look at beds that form when currents come from multiple directions. This is again a common situation on seabeds such as those in the shallow, sandy North Sea. Prevailing winds cause wave action in a certain direction, while tidal currents and occasional winds in alternative directions cause transporting currents of different strengths in different directions. So imagine the case where a rare storm surge transports all the mixed grains in a sea bed into one set of parallel sand waves, which are then subsequently eroded by a much less powerful wind and wave action in a different direction…

Then look at a different take on that sort of thing….

Finally one that makes it look like chocolate chip ice cream melting…

Here’s a static way to look at the same sort of thing

In this diagram the mixed grain and orthogonal current situations in the videos above are shown as cross sections, plan view and the video type 3D view. The veneers can be seen in the cross section. It’s very interesting how they form flat topped big dunes with slots between them, wherein the mobile bachan dunes of fine sand move.

Here is a section of a report on the actual bed shapes on the Eastern coast of the North Sea which are formed by tidal currents and occasion storm surges. They are similar to the models. 


One aspect of these models which was a major computational coding challenge was to make the dunes appear consistent from all angles – to avoid the underlying shape of the grid from causing the patterns we were observing, as this would clearly make the models less useful in interpreting natural systems…



In the above figure, one problem caused by the grid shape influencing the gross pattern shape is evident in the left panel. The Moore neighbourhood is a pure piece of jargon related to these models, in the Moore neighbourhood each cell is influenced (and can influence) the cells next to it in a square pattern (non-diagonals) whereas in the Neumann neighbourhood (root 2) the diagonals are used as neighbours as well. Nice jargon for a very simple issue – use diagonal neighbours or not! In fact they are both as bad as each other in these cases.

The following figure shows the shapes of a few piles made by dropping a series of single grains at the centre of the piles (they avalanche using the neighbour rules, both are clearly odd, in that they have sharp ridges on the piles – in the actual cases of a pile built like this it would be conical – and by randomly flipping between the two neighbourhoods a conical pile can be formed – since this is done millions of times in a normal example of these models speed is of the absolute essence and so I was very pleased with a recursive functions I made to do this (fillback3D or avalan3D) – geeks love a recursive function.


I contributed to a peer reviewed scientific paper, with some friends, while I worked at HR Wallingford which explained all this is more detail. It can be found in the ‘scientific publications’ section of this web-site. 

Leave a Reply

Your email address will not be published. Required fields are marked *

Please reload

Please Wait