2
$\begingroup$

I'm currently working on a computational model of the way sand acts when being pushed around, say, by a bulldozer. Specifically, I'm trying to determine the dynamic equations which govern the way that sand will move under gravity from an arbitrary intial configuration (say, a narrow tower) toward a position of equilibrium (the stationary pile formed after the tower collapses). That way I can apply the material shifts from the dozer while applying these equations at regular timesteps to achieve what is hopefully a physically representative model.

I'm modelling the sand using a heightmap (a 2D grid where each cell holds the corresponding height of the sand at that point), and I'm currently treating height like "concentration" and using particle diffusion equations in 2D:

$$\frac{\partial C(x, t)}{\partial t}=-D\cdot\nabla^2C(x, t)$$

The discrete-time equivalent is then generating a Gaussian diffusion kernel at each timestep that I convolve with the heightmap to get the next state, but this model tends towards a completely flat equilibrium. I was wondering what the appropriate equations would be to use for this model? Even a pointer towards some relevant resources would be hugely useful. I know that DEM is an alternative and for now I'm trying to avoid it.

Thanks!

Edit: From research I understand that the dynamics of granular materials are very complex - I was wondering if there was a simplified modelling approach that necessarily makes a few basic assumptions but enables the kind of modelling that I'm after.

Edit: I used @KGM's answer and it worked great. Computing the necessary Lipschitz function isn't trivial but can be optimised quite well afterwards.

$\endgroup$
1

2 Answers 2

3
$\begingroup$

You should familiarise yourself with the BCRE model or related work. See, for example, https://www.researchgate.net/publication/312211166_Surface_flows_of_granular_materials_A_short_introduction_to_some_recent_models. Steady-state solutions to this are solutions to an eikonal equation and can allow for a nice geometric construction, e.g. as a union of cones, see https://link.springer.com/article/10.1007/s100350050029. The dynamic case isn't as simple and you might indeed need the simulation technique for solving...

$\endgroup$
1
  • $\begingroup$ Amazing, thanks! $\endgroup$
    – Tom
    Commented Jun 22, 2023 at 22:38
1
$\begingroup$

When working with wet sant I dont see any way to solve this easily.

When working with dry sand, consider that up to a certain steepness $m$, piles are practically completely stable, at least if left untouched, and it is just when a pile gets steeper, that it "separates" into a part moving around, and a pile below standing still, with the moving part smoothing out until the whole pile does not exceed maximum steepness again.

This Behaviour can be mathematically formulated as follows:

Let $m$ be the max. steepness your pile can have.

Denote by $Ls_m(X)$ the space of 2D functions that are lipschitz-continuous with constant $m$ on the metric space X with values in $\mathbb{R}$.

Denote by $\max F$ the pointwise maximum of the functions in the set $F$.

Then one can formulate the following equation:

Define first:

$h_s(x,t):=\max \{f\in Ls_m(\mathbb{R}^2)|\forall\vec{x}'\in\mathbb{R}^2:f(\vec{x}')\leq h(\vec{x}',t)\}$

This is the stable part of the pile, furthermore it is in $Ls_m(\mathbb{R}^2)$ when considering only the position coordinates.

On the contrary, define:

$h_i(\vec{x},t):=h(\vec{x},t)-h_s(x,t)$

for the unstable remainder.

Then one could assume:

$\frac{d}{dt} h(\vec{x},t)=-c\Delta h_i(x,t)$

with a constant $c$ telling you how fast the unstable part smooths out, and $m$ telling you the maximum steepness of a stable pile (usually a little less than $1$).

So $h_i(x,t)$ crumbles, while the stable part stays the same.

Now computing $h_s(x,t)$ in two dimensions can be done by increasing the function at all points where it can be increased without violating the Lipschitz condition until there are none. This is quite expensive but not as expensive as simulating the particles.

As a first simple model this might suffice.

$\endgroup$
1
  • $\begingroup$ Cool! Thanks so much. This needs to run in real time (it's for a stockyard modelling system) so I may need to do some approximation of $h_s(x, t)$ rather than exact calculation, but the modelling approach is exactly the sort of thing I was after. $\endgroup$
    – Tom
    Commented Jun 22, 2023 at 4:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.