Page MenuHome

Collisions in Mantaflow with Inverted Normals
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: AMD Radeon R9 200 Series ATI Technologies Inc. 4.5.13559 Core Profile Context 26.20.12028.2

Blender Version
Broken: version: 2.82 (sub 6), branch: master, commit date: 2019-12-17 23:52, hash: rBe0cd5b980fc5
Worked: (optional)

Short description of error
Reproducing a scene of a tube, the fluid inside a tube isn't flowing correctly.

Exact steps for others to reproduce the error

  1. Open new file -> turn the cube into domain (fluid)
  2. Draw a tube extruding a circle (no matters the size) and set it as Effector->Collision (No matters if you put is planar or not, isn't working both ways)
  3. Draw a ball as inflow obj standing up the tube (as shown in the file)
  4. Bake.
  5. Result: particles go around the tube except inside.
  1. Optional: try to solidify the tube but is working worse than the planar tube.

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Unknown Status to Unknown Status.Dec 18 2019, 1:36 PM
Philipp Oeser (lichtwerk) claimed this task.

Keep an eye on your normals [these seem to play an important role in collisions].
I have recalcutated them "outside" for the solidified tube, and flipped them for the other tube, see

Seems to behave much better now, assume this is not a bug...
[but since this is such a new feature, I'll CC @Sebastián Barschkis (sebbas) here to confirm...]

Will close as not-a-bug [unless @Sebastián Barschkis (sebbas) has objections?]

In fact it works by flipping the normals. But now my question is why is it working correctly on the other tube besides it has an "incorrect" normal inside? A good behaviour would be if it works on both correct and incorrect normal side.

Stefano Lazzaroni (Lazzaro) renamed this task from Collisions in Mantaflow aren't working properly to Collisions in Mantaflow with Inverted Normals.Dec 18 2019, 1:52 PM

@Philipp Oeser (lichtwerk) Please reopen this task as needs triage by developer, it seems a bug to me

In fact it works by flipping the normals. But now my question is why is it working correctly on the other tube besides it has an "incorrect" normal inside? A good behaviour would be if it works on both correct and incorrect normal side.

@Sebastián Barschkis (sebbas): this is how manta works? Can this be tweaked somehow? Is Surface thickness along negative normal direction offset much further [compared to positive normal direction] automatically?

Philipp Oeser (lichtwerk) changed the task status from Unknown Status to Unknown Status.Dec 18 2019, 2:02 PM
Philipp Oeser (lichtwerk) lowered the priority of this task from 90 to 80.

Hm, not convinced yet that this is a bug, but will let @Sebastián Barschkis (sebbas) decide...

A good behaviour would be if it works on both correct and incorrect normal side.

The direction of the normals is how we tell the inside from the outside.

Yes but, if you think about that, why should a simulation depend on normals? I mean if there is geometry then it should be blocked not depending on normal side. Both normal sides should act equally.

@Marco Schlumpp (marco) (nacioss) Simulations should depend on normals, particles should never be inside objects, think of collision detection.
With single thin faces with wrong normals how would one else know if we're inside or outside of it.
Essentially per frame displacement it (or subrframe sampling) collisions should be calculated, if a particle endsup inside reflect its internal distance over normal angle.

With the corrected file I am also able to get flow through the tubes working.

Just make sure that for the left tube Is Planar is enabled. For the right tube tube to work I had to increase the resolution a bit (100 Resolution Divisions instead of 50). It's also important that both tubes have Use Effector enabled.

As for the liquid flowing over at the top: That's likely happening because there are too many particles in the inflow area.

Closing since, in my view, this is no longer an issue.