VRayVolumeGrid and Nuclear Explosion

By Hammer Chen

In this article I am going to show you the benefit of using Phoenix FD in tandem with VRayVolumeGrid. I will use a nuclear explosion as an example.

Phoenix FD is capable of simulating complex explosions, such as air strike, small or large scale explosion. For a realistic blast, it always involves many different components. For example, the nuclear explosion you have a major mushroom cloud that flies into the sky; and the ground dust triggered by the mushroom cloud explosion. With multiple fire/smoke sources, Phoenix FD can perform realistic nuclear explosion simulation. In fact, you can find a downloadable nuclear explosion scene on the ChaosGroup official sample page.

With that said, what if you want extra degree of freedoms for tweaking and shaping the extract nuke you want. Simulating each component separately might be a way to go. I'll explain why.

A collection of reference images from the Internet

Let’s take a look at physical reality. A nuclear bomb was placed on the ground, somewhere in an unknown desert. When the bomb blast off, initiate the chain reaction, heat climbing and generate lots of smoke as a by-product the chemical reaction; that major explosion pushes the ground dust which is already there before the blast. We can say the physical properties of those two elements (the ground dust and explosive mushroom) are no doubt different things.

Though with individual Phoenix FD Fire / Smoke sources, you can assign different smoke amount, temperature for each sources, they are shared many other properties in one Simulator – smoke buoyancy, conservation quality..etc.

Two components of a nuclear explosion. (a)Mushroom with a skirt shape (b)Ground dust

Though simulating every component in one single simulator give you more coherent results; It is more difficult to get the exact shape and timing you're looking for. Because the shared properties, the simulation of Mushroom and Ground dust are constrained with each other, every time you want to tweak one feature in the Simulator for one of the components, effect the others; On the other hand, if you simulate them separately, that unshackle us from the constraints. We can get the right looking more easily, or we can squeeze more juices out of current settings which already good.

Simulator settings for "The Mushroom"

(A)Mushroom cloud: High temperature and smoke are emitted from a sphere. The value of gravity and Smoke Buoyancy was tailored for "The Mushroom” in the Simulator, in favor of nurturing the shape we desired. In this case, I set the Gravity to 0.5 and Smoke Buoyancy to -1.0. The simulation was retimed by 30% of its original speed through process of resimulation. I take advantage of Phoenix FD’s “precise tracing” technique for a flicker-free slow motion effect.

Simulator settings for "Ground Dust." Noted several spheres were deliberately scattered on the ground to break symmetry.

(B)The ground dust: I use PFlow as my smoke source. You can check my previous post for the basic setup. I leave gravity and smoke buoyancy as default. But I retimed the sequence by 70% of the original speed through resimulation.

The Mushroom
Ground Dust
Cell size
1.25 cm
A sphere
Smoke Buoyancy
Conservation Quality
Retiming (of original speed)
Resimulation, Amp. Resolution
Final grid dimension
338 X 326 X 510
668 X 716 X 102
Mushroom & Ground Dust setting comparisons

Once two *.aur caches have loaded into two vrayvolumegrids. The grid for ground dust was scaling up slightly, so you get triangle composition that matches the reference image. 

After we have finished the simulation of Mushroom and Ground Dust, we can import them (*.aur caches) into two vrayvolumegrids and put them in one scene. We can start our “3D composite” in 3dsmax. Since the volumetric data now loaded into vrayvolumegrids, that means we can:

  • scale them up or down
  • rotate them to give the best looking
  • offset the animation
VRayVolumeGrid gives you the option for offsetting the simulation caches.

Besides spacial manipulation, we can offset the sequences to get the best combination temporal-wise. 

Above is the final rendering of the nuclear effect, I hope you enjoy this post and happy simulating!

(Noted, you can just use Phoenix simulator directly and skip the loading inside of the VRayVolumeGrid. The Simulator and VRayVolumeGrid are exactly the same except the VRayVolumeGrid has the simulation settings stripped down. However, with VRayVolumeGrid you won't accidentally ruin the simulation by clicking on wrong buttons. Besides, you can give your collague when they don’t have Phoenix FD installed.)