Reports 2020

January 13 - 17

  • General:
    • This week I went step by step through the bug reports for the new fluids system. I started with bugs tagged with high priority and generally try to fix all other bugs chronologically.
    • Besides bug fixing, I also committed an update that speeds up cache file loading (c7596cd).
  • Bugs:
    • Fix T72971: [Mantaflow] FLIP particles not visible
    • Fix T73111: Bake data of fluid causes crash of Blender
    • Fix T72970: [Mantaflow] When changing the domain settings, the current frame of the scene is set to 1
    • Fix T72860: Mantaflow Fluid Sim fails when simulation starts after frame 1
    • Fix T72783: "Persistent images" option crashes smoke animation render with Cycles
    • Fix unreported bug: Fluid: Fix for relative cache paths (Se2c8aa)
    • Fix unreported bug: Fixed secondary particle combined export functionality (81b7f8e)
  • Next up:
    • Fix more fluid bugs from the tracker.
    • Start updating the release logs and the documentation.

January 20 - 24

  • General:
    • Similarly to last week, I spent this week fixing fluid bugs from the tracker. Nothing too exciting to report other than that I am glad that T72894 is out of the way.
  • Bugs:
    • Fix T72505: Mantaflow - Baking Cache=Final
    • Fix T72562: Mantaflow: Same particles for Spray, Foam and Bubble
    • Fix T72894: Mantaflow: several crashes due to null pointers.
    • Fix T72975: [Mantaflow] Mesh generation bug
    • Fix T72643: [Mantaflow] Incorrect fluid flow direction
    • Fix T63630: OpenVDB- Smoke disappeares
    • Fix T73272: Fire + Smoke broken in Linux
    • Fix T73292: Mantaflow - fluid does not render but renders related particles
    • Fix T73311: Mantaflow > Liquid: Enabling Initial Velocity on Inflow / Outflow crashes Blender
    • Fix T71391: Line artifacts in Mantaflow smoke sim when using "Noise"
    • Fix T72789: Mantaflow cache doesn't work with non-latin cache directory
    • Fix T73155: Current Mantaflow build hideously unstable when baking gas sim with adaptive domain
    • Fix T53205: Show Smoke Advance Panel at Outflow type
    • Closed T47655: OpenVDB cache files have extra "_00" at end.
    • Closed T50382: Fluid sim broken when domain/fluid are at large coordinates
    • Closed T65977: domain not replaced by fluid if 'Final Resolution' set higher than 310
    • Closed T66244: Fluid Inflow cant be disabled until it has an enabled keyframe
    • Closed T69850: Fluid Simulation: Volume Initialization bug
    • Closed T70531: Fluid collision doesnť work for objects with armature modifier while "preserve volume" option is checked
  • Next up:
    • Update the release logs and the documentation.

January 27 - 31

  • General:
    • Lots of cleanup (e.g. remove obsolete code, updated comments) in the fluids code. (e782d35d3454, 42318e358a88, 745e35630058)
    • Liquid simulations with particles don't switch to viewport display mode "Wireframe" automatically anymore. It was causing more confusion than it was actually helping. (a8bfa9163341)
    • Improved smoke and liquid inflow. The commits also fix issues with initial velocities mentioned in T73422 and T72949. (33317b464777, 3601924acb32)
    • Particle systems settings created by the fluid simulation were sometimes not in sync when deleted manually. Fixed this and cleaned up a warning. (9b308f27ad8d, 385b34b9b83f)
  • Bugs:
    • Fix T73483: Mantaflow: Smoke inflow in liquid domain emits liquid
  • Next up:
    • Update the release logs and the documentation.

February 03 - 07

  • General:
    • This week there were two things I really wanted to finish and get into the release branch. It was a bit of a stretch to get everything ready but in the end I think it was worth putting in the effort.
      1. Faster file loading for smoke simulations: They should now load way faster when replayed from the cache. The cache now loads the files directly into the pointer variables (instead of first loading them via Python and then accessing the pointers). (e7d71ce9cf1e, 1bb702df1e16, f12b4e53aaf7, ffcccf654c8e, 68221b7ebafe)
      2. Fix fluid guiding functionality: I knew this one came a bit short in the past weeks. So I already assumed that through bigger changes I made elsewhere the guiding would be broken. When I tested it, it turned out that it was. Luckily, the fixes weren't too complicated. (86e24ea10cba)
    • I also wrote some lines for the release notes: Fluid Simulation Release Notes 2.82
  • Bugs:
    • Fix T73537: Particle system Crash
    • Fix T73567: Mantaflow adaptative domain takes objects with the flow turned off…
  • Next up:
    • Fill in the gaps in the manual for 2.82. Fortunately, the maintainers have already adjusted the manual to the new fluids system. Next week, I will fill in all the remaining sections marked as "ToDo" (mostly variable explanations).

February 10 - 14

  • General:
    • This week I worked on the fluid documentation page! (rBM6200, rBM6201)
  • Next up:
    • Wrap up the documentation and get back to bug fixing.

February 17 - 21

  • Bugs:
    • Fix T73770: Mantaflow is unable to bake fluid simulations on non-ASCII file paths
  • Next up:
    • Fix more fluids bugs from the tracker.

February 24 - 28

  • General:
    • This week I was mostly working on an optimization patch: The idea was to reduce the time it takes to scan the obstacle geometry (before exporting it to the simulation) by decreasing the bounding box size of obstacle objects. So with the patch, obstacle objects are turned into grids using a smaller bounding box instead of searching in the entire domain.
    • Improved the behavior at outflow boundaries. Smoke should now disappear faster. (bc2ce31d7940)
    • Review D6945: Objects: add Volume object type, and prototypes for Hair and PointCloud
  • Next up:
    • Cleanup and commit optimization patch for obstacles.
    • Fix more fluids bugs from the tracker.

March 02 - 06

  • General:
    • The obstacle optimization patch I talked about last week is now in master (a5c4a44df67e). Again, the two major improvements of this patch are
      • Smaller bounding boxes for obstacles and thus faster baking times in general
      • Static obstacles (i.e. no movement, rotation, deformation) are only computed once and are now in general faster than moving ones.
    • This week I also worked on various other smaller optimizations:
      • Faster mesh generation for liquids (during replay) (4a3377fcf6ae)
      • Faster smoke simulations through static / dynamic pressure preconditioner (a smoke simulation with no moving obstacles should be faster than one with now) (5539b68009e6)
      • Slightly faster bakes in general (found this through some profiling) (950a35e35380)
    • There are some new features in master too:
      • Obstacles can now be enabled / disabled (UI checkbox) (a5c4a44df67e)
      • Delete fluid inside obstacles (UI checkbox) (6958ec3f7fc2)
  • Next up:
    • Fix more fluids bugs from the tracker.
    • The baking speeds can be improved further by lowering certain quality parameters in the pressure solve. The resolution of the simulation would remain unchanged and therefore the quality drop should only be slightly noticeable. The baking times, however, become much shorter!
    • Next week, I would like to explore this idea. Maybe a new "Smoke Quality" option would make sense in the UI (to be continued).

March 09 - 13

  • General:
    • This week I just looked at a few bugs and did some reviewing. T73921 took me quite some time to fix completely (turned out to be a combination of bug and memory leak).
    • Reviewed D6951: Smoke: put density/color in separate textures, fixes for workbench shader
    • Reviewed D7093: Fix T74525: Fluid caches overwrite each other by default
  • Bugs:
    • Fix T72253: Mantaflow adaptive domain cuts off
    • Fix T73921: Eevee volume render test memory leak in Mantaflow
  • Next up:
    • Get the number of fluid bugs down to a more controllable number (~45 open reports at end of this week).
    • Investigate how the Volume Object Patch fits together with the current fluids cache.

March 16 - 20

  • General:
    • Besides the usual bug fixing for the fluid modifier, I managed to make some general improvements too:
      • Aborting fluid bake jobs is now much faster (especially noticeable when cancelling high-res bake jobs). (b2851dbe784e)
      • General cleanup in the fluid modifier UI. It looked a bit odd when expanding the panel horizontally. (91c1759956d2)
    • Initial thoughts on how to integrate the Volume Object Patch D6945 with the smoke simulator. Also decided to played around with some VDB files now that it's in master.
  • Bugs:
    • Fixed a regression for smoke simulations (described in T66791). (20d7c04305a3)
    • Fix T74762: Mantaflow: Non emmiting flow source affects simulation
    • Closed T72949: [Mantaflow] initial velocity ignored in the emission object
    • Fix T74154: Mantaflow crash: Baking data for domain type fluid on a plane.
    • Fix T73988: Mantaflow fluid simulation - Particles for Spray, Foam and Bubbles are one frame ahead of Mesh
  • Next up:
    • Follow up on discussions in the reports and close those without replies to my questions from this week.
    • Bug fixing and more experiments with the new Volume type.

March 23 - 27

  • General:
    • While the plan for this week was to mainly work on bugs and the Volume type (no further progress), I ended up working on some optimizations too:
      • Optimization for liquid / secondary particle file loading (7d59f84708fc)
      • Support for moving (obstacle) rigid bodies (was broken after optimization for static / dynamic obstacles) (b023c9111856)
  • Bugs:
    • Closed T73866: Mantaflow Fails to bake liquid particles with plane shaped flow objects
    • Closed T73161: [Mantaflow] Particles not generated on Plane object
    • Closed T72542: Collisions in Mantaflow with Inverted Normals
  • Next up:
    • Fix more fluid bugs from the tracker.
    • Google Summer of Code communication.

March 30 - 03

  • General:
    • Improved loading times for mesh files by reading bigger chunks of data from the disk at once. (1280f3c0ae96)
    • Reviewed D7256: Fluids: improve subframe handling
    • Refactored Mantaflow main class and improved caching in general, especially the 'Replay mode'. (bfdc42d9906a, 70b061b4fdd4)
  • Bugs:
    • Closed T72860: Mantaflow Fluid Sim fails when simulation starts after frame 1
    • Fix T75210: Frame range does not go down to 0 in the physics tab for mantaflow when clicking the left arrow
    • Closed T73937: Mantaflow in 2.82 not working
  • Next up:
    • Fix more fluid bugs from the tracker.