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)
Fix T73483: Mantaflow: Smoke inflow in liquid domain emits liquid
Update the release logs and the documentation.
February 03 - 07
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.
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)
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)
Fix T73567: Mantaflow adaptative domain takes objects with the flow turned off…
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
This week I worked on the fluid documentation page! (rBM6200, rBM6201)
Made some performance improvements directly in the Manta code. Includes a neat optimization reported by Jacques. (b8af5e10620f)
Fix T73770: Mantaflow is unable to bake fluid simulations on non-ASCII file paths
Fix more fluids bugs from the tracker.
February 24 - 28
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
Cleanup and commit optimization patch for obstacles.
Fix more fluids bugs from the tracker.
March 02 - 06
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)
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
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
Fix T76097: Simulations don't take animated gravity into account
Fix T76276: Compiler Error C1061 due to too many nested if/else in MANTA_main.cpp
Improve release notes (from last week), tracker and more focus on 2.90 feature development (e.g. Volume object integration)
May 04 - 08
Fixed an issue with the total simulation time. The code was in trouble when using an animated time scale. For this to work, some changes also had to be ported into the Mantaflow repository. (ab122c73ba35, 385559843e6f, ebbaae625f7e)
Kickoff for community bonding with GSoC student Sriharsha Kotcharlakot (Project: "Liquid Simulation Display Options"): Got to know each other, adjusted project description and made sure his Wiki is set up.
Fix T75883: Smoke simulations with Adaptive Domain broken for 'Final' bakes with OpenVDB in 2.83
Fix T76430: Quick smoke not rendering Cycles and Eevee
Closed T76312: Liquid simulation Particle/Mesh vanishes - Only Domain is rendered
Fix T76426: Mantaflow Liquid - Gravity not respecting Time Scale from domain.
Similar to last week, but also check that there are no unexpected fluid issues in the 2.83 release branch.
May 11 - 15
There is now the initial foundation for OpenVDB caching with multiple grids per file in Blender (right now, every grid is stored in its own file). This is a work in progress and users won't notice a difference for now. (a975cb920772)
Fix T74060: Smoke flow force field not working with Mantaflow Gas
Closed T73474: Mantaflow: Liquid simulation appears to be unaffected by scale or "Real World Size" parameters.
Handle more release branch issues and do more OpenVDB development if time allows.
May 18 - 22
Worked more on the OpenVDB exporter for the fluid cache. The progress looks promising (i.e get it ready for 2.9), there are no new commits up yet though.
Improvements and cleanup in the fluid section of the manual. (rBM6667, rBM6669)
Fix T76814: [Mantaflow] Surface Tension always works
Fix T76697: [Mantaflow] mesh generation does not account for some particles
Fix T76812: [Mantaflow] Inflow particles not continuous
Work on the bug tracker and continue OpenVDB development. Ideally, I will have a first functional version by the end of next week.
May 25 - 29
This week I focused completely on the new fluid OpenVDB cache. The overall reading and writing of grids to one file per frame works now. I will publish the first results of this (i.e. commits to master) at the beginning of next week.
More OpenVDB development and also start doing more bug tracker work + reviews.
June 01 - 05
OpenVDB fluid cache development is still taking up a lot of my time.
Most of the OpenVDB caching code is now in the upstream Mantaflow repository.
For liquids, and in addition to grid caching, I have decided to make use of OpenVDB's ability to store point data. This can be used to efficiently store particle data (FLIP and secondary particles).
Since grid caching is almost complete, there is not much more to do for smoke.
Get first OpenVDB results into master and do more tracker work.
June 08 - 12
I am still working on OpenVDB fluid caching:
This week I tweaked the OpenVDB particle caching a bit more and performed some tests to figure out how efficiently OpenVDB stores point data.
I also did some optimizations to read particles faster from cache files.
Before pushing the OpenVDB changes to master I need to make sure that the current caching system does not break. I'll look into this next week and then hopefully get the patch into master.
At the end of the week I received some questions on why smoke simulations look much more different in 2.83 (compared to 2.83). I found out that D6951 is the reason - next week I'll take a closer look at the patch again and probably get Brecht's opinion too.
June 15 - 19
Continued working on OpenVDB fluids caching. This week I tried to wrap up the project. Making sure that older caches are still compatible took quite some time.
Mostly similar to last week, i.e. get the OpenVDB fluids patch into master + update the documentation.