# Mixing some particles together - “Game physics for engineers”?

I'd like to simulate how several particles mix together. For example, how do they settle when you throw them in a bucket? How do they assemble in zero-gravity? I might also want that they are "sticky" or that they can crack. I might also want to add some not-so-rigid things like drops of glue or snippets of strings.

The goal is not to have 100% accuracy in the physics, but more to end up with particle clusters that look similiar and have similiar geometric properties as their real-world counterparts.

I assume that this is a task which can get arbitrary difficult. Currently, I'm just looking for a good starting point:

• Terms and words to do a good internet research
• A good paper that can serve as a starting point
• A real good book, probably from game physics
• Have you checked available game engines? For instance, Blender: blender.org/features – nicoguaro May 31 '16 at 15:32
• The CUDA toolkit includes some examples of simulating particles. The code is pretty straight forward to understand and includes an openGL display for visualization. – James Jun 1 '16 at 2:01

My experience has been in visual effects where simulation time is not as important as in games, but is still more important than in engineering. The methods I'm familiar with are:

For details on the Material Point Method in a visual effects context, see Jiang's 2015 UCLA dissertation titled "The Material Point Method for the Physics-Based Simulation of Solids and Fluids." The references cited in that work will give you an idea of what the method has been used for.

For the Discrete Element Method, a good book is "Understanding the Discrete Element Method" (2014) by Matuttis and Chen (ISBN: 978-1-118-56720-3).

For Peridynamics there are two quite different approaches - bond-based and state-based. You can read Gerstle's "Introduction to Practical Peridynamics" to get a feel for the method. A test implementation of the bond-based method can be found on my github.

All these methods can be expensive but remove the need for extensive user input to get the physics to work correctly.

Sounds like a challenging endeavor.

For deformable object, check out level set methods, e.g. this (old fashioned by still informative) website by Sethian.

Check this out:

http://www.fluidix.ca/

You'll find references for almost every example + some nice CUDA implementations.

I can't help with CFD, but for solids there's Discrete Element Method and Peridynamics. The key idea behind them is essentially the same.