Sand Dune Simulation: particle stacking caused by wind


I’m attempting to create a sand dune simulator using grasshopper and the plugin Flexhopper/kangaroo. My approach has been to simulate particles that can clump together and pile up in front of a form. I want to achieve at least a piling of particles in front of the object, based on a vector force driving particles into the form. The wind would be great to integrate, but this seems impossible.

(a side note: This project aims to develop a habitat that over time gets consumed by martian dust/regolith/sand)

Currently I have used flexhopper, but am switching to kangaroo because this seems more doable. Any suggestions would be welcome. script is available here, and below you can see where I’m at with flexhopper. Ive seen other discussions on this form about sticky sand, but these all interact 2-dimensionally.


If anyone is actually interested in solving this particle problem I found a dune solver plugin that works with Houdini, unfortunately, I could not figure it out in grasshopper. Here is the initial result I have made.

if you’d like to replicate this, just google “Houdini dune solver” there is one tutorial available on youtube. If anyone has an approach that would work with grasshopper please let me know, Id still rather keep it in one program!

1 Like

This is a cool study!

I have nothing to add to help other than I don’t think particles in Kangaroo particles have any volume. To get accumulation effects you need to incorporate 3D volume, collision and friction effects.

For example the natural angle of repose for dry sand is about 30 degrees if I remember correctly.

Well here’s some pseudo code from online about actual sand behavior:
Models of dune field morphology (
And some architectural investigations here:
Projective Sandscapes: Manipulation of Desertifying Mechanisms’ AA Landscape Urbanism 2015 by AA Landscape Urbanism MArch/MSc - Issuu

1 Like

Sorry for un-burying this thread and for the late reply.

Kangaroo perks are many, and some of those are accessibility and easiness/simplicity of programming it (like the rest of grasshopper), but if you need a very high amount of particles and/or adding particles “on the fly” , you are hitting its weakest parts.

Simulating that huge amount of particles is probably too heavy.

Making it in grasshopper would probably need to coding it (the old way) all over from scratch.
I thinks some tricky 2D array processing could have decent results (like seeing the map from above with as grey-scale the amount/height of the sand), but it’s a ignorant guess.
Just checked, those Houdini solvers works with voxels …

1 Like

Hi Nick,

I am having the same problem as you. I would like to create a simulation to show how objects inside the dunes can influence the natural flow of dune. I also found the Houdini dune solver very similar to what I want to achieve, I bought the apprentice version from Dune Solver (LP) but it never works, always missing a lot of files. Now I am thinking about another way to do this

Hey Zhongming,

I found that the Dune Solver works well to predict the flow of sand around a model in certain cases, but needs to be dialed in to get results. That said, I don’t think the outcomes are always accurate and I am not experienced in Houdini. What do you mean by missing files? I bought the same version.

To get past this problem I decided to build a physical dune testing machine, although because of the scale differences, it is more of an approximation than being physically accurate. Let me know if you find anything that works in the digital realm!!

(also the physical model backs up the digital sim from Houdini, the same formations happen)