Soil

How does a buried body interact with the soil?

So far I had only been experimenting with situations which were more like surface decompositions – the body being uncovered. Realflow includes a ‘granular’ solver used for things like snow and sand (unlike liquids, this is position based dynamics). This is designed to work with other solvers such as the Viscous solver I use for the body. I estimated that my grave would be 1m x 1m x 2m which is 2m2 or about 2 tons or soil. Would Realflow’s fluid dynamics be able to model the dense volumes where the body was surrounded by soil?

My first task was to fill the grave with the body in it and try to get it to behave as much like soil as possible. I started out with an example ‘sand’ model and then tried to modify it to make it clump together a bit more. The soil type I am modelling at Henley Woodland Burial Ground is loamy – that is a mixture of sand and clay which is the best for a full decomposition.

Soil naturally stacks up fairly steeply and would need someone with a shovel to level it out as a grave was being filled. I decided I would emit as much soil as I needed to fill the grave and let it pile up. Graves are usually backfilled by tipping it out of the back of a truck or manually with spades. I decided that my soil particles would be emitted from a rectangular area about 1m above the ground – crude but probably all I need right now.

How many coarse sand grains are there in 1 cubic meter? 1 billion?

I am not going to model any soil interaction beyond the walls of the grave – it will be like a box. How far could the fluids leech out beyond the walls in reality? There are 2 tons of soil pressing down here. I was told by one scientist that they would not so I went with that.

Realflow Sand example:
Friction 0.5, StaticFriction 0.5, Cohesion = 0.0, Roughness 0.1, Stacking 0.3, Compaction=0, Damping = 0.

Realflow Snow example:
Friction 1.0, StaticFriction 1.0, Cohesion = 0.4, Roughness 0.1, Stacking 0.0, Compaction=0, Damping = 0.9.

My falling soil:
Friction 0.01, StaticFriction 1.0, Cohesion 0.02, Roughness 0.1, Stacking 0.1, Compaction=0, Damping = 0.

My body interacting soil:
Friction 0.2, StaticFriction 0.5, Cohesion 0.025, Roughness 0.05, Stacking 0, Compaction=0, Damping = 0.

My reasoning was that heavy soil will move easily under low Friction but once it comes to rest it stays there under higher StaticFriction. The grave has high Friction as well. Slightly higher Cohesion hopefully increases clumping but without stacking up. You can see that these parameters are unintentionally moving towards those of snow. (These were not the parameters I used for the body interaction, however).
This where you need to talk to someone in computational physics…


I decided that I should make the filling of the grave part of the work, like a preface to the decomposition that was to come. That meant spending a bit more effort on the behaviour of the soil falling. I used emitter jittering to break up the soil as it fell which I hoped would also help the clumping (a noise function caused chaos). The results were not bad – I could clearly see the grave filling up and soil running down the sides. Possibly too quickly though, as if tons of soil were suddenly falling from the sky.

I rendered this test directly as spherical particles, 2cm radius, level of detail at 10% and 25% opacity. Rendering the particles as random blocks might be more accurate but the spheres gave a perfectly adequate sense of the action. Another issue was that I had to use the Realflow importer into Cinema 4D which has far fewer material options.

The next thing was to try rendering it as a mesh and see what that looked like. Soil does not flow into itself like a fluid but it does break up, clump and maybe compact together again. I tried to mesh it with smaller particles and smaller polygons to make it more grainy but this started to make it look stony (left image). I tried larger particles and polygons until it started to look too liquid (right image). In the end I got something that looked like mud but maybe also too much like wet snow. You can see hollow areas build up which then collapse towards the end which makes it look more dynamic but also still a bit like wet snow.

Another issue was getting the soil to come to rest as it continued to trickle slightly long after it had fallen. Increasing simulation substeps and iterations seemed to fix this but it was fiddly. I decided that it was settled enough after 12.5 seconds.


Once the grave was full I started the body sim.

There were some strange early results that looked like the body suddenly sprouted boils. This might be a resolution problem as the body fluid tries to flow between soil particles. How detailed would this have to be in order to be accurate enough? The first few frames seem to show the body crushed and rupturing but after this dramatic transformation the body continues to boil but does not really flow outwards into the soil. Is the soil too dense or the body not liquid enough?

The approach I took was to animate the fluid parameters, reducing the Cohesion, Damping and Viscosity parameters after first second. This allowed you to see the body fluid starting to leech outwards into the soil although how far it would go I could not determine. You can also see some strange things such as the way the body and the soil wobble at the start as though a large, fluid mass is settling, causing the fluids to rip themselves off the skeleton. It’s possible this is in some ways accurate but I cannot say at this stage.

Body 8.4M particles
Soil 1M particles
As I tried to make the body and soil interaction more fluid-like I ran up against mounting simulation times. This video took 2 hours per frame to sim but any more detail sent it up to 10 hours and then then an entire day per frame. (I was using a RTX 2070 super).

When I presented my paper at SIGGRAPH I was advised to try using Houdini for the fluid sims, so that is the next step. And to get an enormous graphics card.