Page MenuHome

Mantaflow liquid collisions not working properly (also crashes going in and out of editmode on the domain)
Confirmed, NormalPublic

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1050/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 461.40

Blender Version
Broken: version: 2.90.1, branch: master, commit date: 2020-09-23 06:43, hash: rB3e85bb34d0d7
Worked: (newest version of Blender that worked as expected)

Short description of error
Unless a liquid collision effector's Surface Thickness is set to at least 0.5 or set to "Is Planar" it is not used.

Exact steps for others to reproduce the error
I reference two examples for liquid and smoke+fire examples and there are several issues logged in Blender stackexchange, along with my investigation.

A collision effector is ignored unless Surface Thickness is set to at least 0.5 or set to "Is Planar". However as docs state Surface Thickness is "Additional area around the effector".

In my first example "liquid collision.blend" the results (show in "liquid collision.png") shows how the extra Surface Thickness effects the liquid that becomes more confined in the container, whereas setting it to less than 0.5 will cause the liquid to fall through the container.

The same is true in the "muzzle*.blend" file where the flash & smoke comes through the collision object unless Surface Thickness is set (incorrectly) to at least 0.5



Event Timeline

James Tomkinson (jamestomk) renamed this task from Mantaflow collisions not working properly to Mantaflow liquid collisions not working properly.Jan 29 2021, 9:57 PM
James Tomkinson (jamestomk) created this task.
James Tomkinson (jamestomk) updated the task description. (Show Details)
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Feb 1 2021, 12:09 PM

Also not sure I understand collisions correctly in mantaflow:

@Sebastián Barschkis (sebbas): does the effector need to cover a whole cell?
reason I am asking is:

  • you can also get it to work if you increase the solidify thickness considerably
  • you can also get it to work if you increase the domain resolution division considerably

@Sebastián Barschkis (sebbas): also note that I get two crashes:

  • opening liquid collision.blend in a Debug build
# Blender 2.93.0, Commit date: 2021-01-31 14:53, Hash b10fac0432c6

# backtrace
./bin/blender(BLI_system_backtrace+0x26) [0xe1066d2]
./bin/blender() [0x3406a50]
./bin/blender() [0x3406c50]
/lib64/libc.so.6(+0x3da60) [0x7f0d20c7ba60]
./bin/blender(_ZN5Manta5ErrorC2ERKSs+0x82) [0xc6e7f4c]
./bin/blender(_ZNK5Manta8GridBase10checkIndexEiii+0x21f) [0xc701087]
./bin/blender(_ZNK5Manta8GridBase5indexEiii+0x2a) [0xc700d5e]
./bin/blender(_ZN5Manta4GridINS_8Vector3DIfEEE3setEiiiRS2_+0x3a) [0xc7af456]
./bin/blender() [0xcabc30e]
./bin/blender(_ZN5Manta14readObjectsVDBERKSsPSt6vectorIPNS_7PbClassESaIS4_EEf+0xd76) [0xcab9c45]
./bin/blender(_ZN5Manta4loadERKSsRSt6vectorIPNS_7PbClassESaIS4_EEf+0x27f) [0xc775768]
./bin/blender() [0xc775cb6]
./bin/blender(_PyMethodDef_RawFastCallKeywords+0x193) [0xcc5d343]
./bin/blender(_PyCFunction_FastCallKeywords+0x28) [0xcc5d538]
./bin/blender() [0x33f9a70]
./bin/blender(_PyEval_EvalFrameDefault+0x4b54) [0x33fe714]
./bin/blender(_PyEval_EvalCodeWithName+0x92d) [0xccfe3dd]
./bin/blender(_PyFunction_FastCallKeywords+0x89) [0xcc5cf79]
./bin/blender() [0x33f9835]
./bin/blender(_PyEval_EvalFrameDefault+0x4b54) [0x33fe714]
./bin/blender() [0x33f859b]
./bin/blender() [0x33f9835]
./bin/blender(_PyEval_EvalFrameDefault+0x4344) [0x33fdf04]
./bin/blender(_PyEval_EvalCodeWithName+0x92d) [0xccfe3dd]
./bin/blender(PyEval_EvalCodeEx+0x3e) [0xccfe65e]
./bin/blender(PyEval_EvalCode+0x1b) [0xccfe68b]
./bin/blender(PyRun_StringFlags+0x8f) [0xcd2f67f]
./bin/blender(_ZN5MANTA15runPythonStringESt6vectorISsSaISsEE+0xd5) [0xc6c5b89]
./bin/blender(_ZN5MANTA8readDataEP17FluidModifierDataib+0x590) [0xc6d52ec]
./bin/blender(manta_read_data+0x2f) [0xc6becfd]
./bin/blender() [0x393c172]
./bin/blender() [0x393c65d]
./bin/blender(BKE_fluid_modifier_do+0x93) [0x393c6f3]
./bin/blender() [0x3f7ab57]
./bin/blender(BKE_modifier_modify_mesh+0xe9) [0x34c4666]
./bin/blender() [0x3890ca8]
./bin/blender() [0x3891ad1]
./bin/blender() [0x3893ca6]
./bin/blender(makeDerivedMesh+0xaa) [0x3894238]
./bin/blender(BKE_object_handle_data_update+0x199) [0x3506c76]
./bin/blender(BKE_object_eval_uber_data+0x8a) [0x35075b4]
./bin/blender(_ZSt13__invoke_implIvRPFvP9DepsgraphP5SceneP6ObjectEJS1_RS3_RS5_EET_St14__invoke_otherOT0_DpOT1_+0x65) [0xcc213dd]
./bin/blender(_ZSt8__invokeIRPFvP9DepsgraphP5SceneP6ObjectEJS1_RS3_RS5_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSC_DpOSD_+0x67) [0xcc1fa5a]
./bin/blender(_ZNSt5_BindIFPFvP9DepsgraphP5SceneP6ObjectESt12_PlaceholderILi1EES3_S5_EE6__callIvJOS1_EJLm0ELm1ELm2EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE+0xa0) [0xcc1dd7e]
./bin/blender(_ZNSt5_BindIFPFvP9DepsgraphP5SceneP6ObjectESt12_PlaceholderILi1EES3_S5_EEclIJS1_EvEET0_DpOT_+0x41) [0xcc1bcb7]
./bin/blender(_ZSt13__invoke_implIvRSt5_BindIFPFvP9DepsgraphP5SceneP6ObjectESt12_PlaceholderILi1EES4_S6_EEJS2_EET_St14__invoke_otherOT0_DpOT1_+0x37) [0xcc18fd9]
./bin/blender(_ZSt10__invoke_rIvRSt5_BindIFPFvP9DepsgraphP5SceneP6ObjectESt12_PlaceholderILi1EES4_S6_EEJS2_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESF_E4typeEOSG_DpOSH_+0x37) [0xcc1583d]
./bin/blender(_ZNSt17_Function_handlerIFvP9DepsgraphESt5_BindIFPFvS1_P5SceneP6ObjectESt12_PlaceholderILi1EES5_S7_EEE9_M_invokeERKSt9_Any_dataOS1_+0x37) [0xcc128db]
./bin/blender(_ZNKSt8functionIFvP9DepsgraphEEclES1_+0x49) [0xcbee387]
./bin/blender() [0xcbed633]
./bin/blender() [0xcbed679]
./bin/blender(_ZZNK4TaskclEvENKUlvE_clEv+0x34) [0xe10cdbe]
./bin/blender() [0xe10d182]
./bin/blender() [0x398bbe5]
./bin/blender() [0xe10cf6a]
./bin/blender() [0xe10ce93]
./bin/blender(_ZNK4TaskclEv+0x20) [0xe10cde2]
./bin/blender() [0xe10d15e]
./bin/blender() [0x39992e5]
./bin/blender() [0x399959b]
./bin/blender() [0x398b8f7]
./bin/blender() [0x3993060]
./bin/blender() [0x399506c]
./bin/blender() [0x3995269]
/lib64/libpthread.so.0(+0x93f9) [0x7f0d213c73f9]
/lib64/libc.so.6(clone+0x43) [0x7f0d20d3f903]

# Python backtrace
  File "<string>", line 264 in fluid_file_import_s1
  File "<string>", line 72 in liquid_load_data_1
  File "<string>", line 1 in <module>

Will confirm for now.

Philipp Oeser (lichtwerk) renamed this task from Mantaflow liquid collisions not working properly to Mantaflow liquid collisions not working properly (also crashes going in and out of editmode on the domain).Feb 1 2021, 12:10 PM
Philipp Oeser (lichtwerk) triaged this task as High priority.

version: 2.93.0 Alpha, branch: master, commit date: 2021-01-31 14:53, hash: b10fac0432c6, type:
build date: 2021-02-01, 18:17:25
I'm not seeing the crash on Windows 10 1909 GeForce GTX 1660 Ti 461.09.

I also don't see the repro (nothing happens when I "play" the simulation in either "liquid collision.blend" or "muzzle*.blend".
Perhaps more detail as to how to reproduce the issue is needed.

Sebastián Barschkis (sebbas) lowered the priority of this task from High to Normal.

Looked a bit into this issue. The crash seems to be resolved and so I'm adjusting the priority.