Page MenuHome

Fix two somewhat related smoke issues from long standing bugs on the tracker.
ClosedPublic

Authored by Alexander Gavrilov (angavrilov) on Jul 18 2016, 4:37 PM.

Details

Summary

One pair was actually archived because nobody bothered:

  • Fix T43782: smoke simulation problems with multiple touching colliders.

    When the colliders are joined, each cell that touches them only gets velocity contribution once. When there are multiple objects, velocities are summed, which causes some cells to get 2x, 3x or more than the actual object velocity.

    Fix this by using the average velocity of all colliders touching a cell.
  • Fix T43220, T47551: collider scaling or rotation causes smoke to explode.

    The problem happens because smoke collides only with the surface of the collider and uses incompressible fluid solver. This means that scaling the collider tries to compress or decompress fluid within the volume of the collider, which can't be handled by the simulation. Fast rotation likely also causes transient scaling due to emulation of arcs by chords.

    This can be fixed by finding compartments completely isolated by obstacles from the rest of the domain, and forcing total divergence within each one to be zero so that equations are solvable. Physical validity is somewhat dubious, but without this the solver simply breaks down.

Diff Detail

Repository
rB Blender

Event Timeline

Alexander Gavrilov (angavrilov) retitled this revision from Fix two somewhat related smoke issues from long standing bugs on the tracker. One was actually archived because nobody bothered: to Fix two somewhat related smoke issues from long standing bugs on the tracker..Jul 18 2016, 4:39 PM
Alexander Gavrilov (angavrilov) updated this object.

Works perfectly when applied to Fracture Modifier Branch, no more nasty smoke explosions when FM shards are smoke colliders :)

Thank you all for this!
It seem to work not perfectly.
Please try to rotate something inside smoke when highres is enabled.
You will see that the object affects the smoke, but much much less than without highres. Disable highres and collision looks much better.

Using highres lets smoke pass through a collider.

Using highres lets smoke pass through a collider.

Is this something new, or just another bug unfixed for ages? I can easily make highres smoke enter the collider in 2.77a by moving it fast enough towards the smoke.

Using highres lets smoke pass through a collider.

Is this something new, or just another bug unfixed for ages? I can easily make highres smoke enter the collider in 2.77a by moving it fast enough towards the smoke.

I think it is an other unfixed thing. We were not able to check that because of the "smoke explosion" before.
Yes, the smoke moves with the collider- but its still passing through it. What not happens when you disable "show highres smoke".

This revision is now accepted and ready to land.Aug 2 2016, 5:23 PM
This revision was automatically updated to reflect the committed changes.