GSoC 2020: Liquid Simulation Display Options - Weekly Reports

Feedback & Suggestions Thread | Windows Build


Week 1:

  • Made ‘Viewport Display’ options partially available for liquid domain type

  • Added display support for guide velocity vectors (effectors only) (3bd4739d5c19)

  • Next week:

    • Work on displaying the level-set grid mPhi in liquid domain.
20 Likes

That is great to see this functionality restored.

Velocity display for guides is very welcomed.
Unfortunately, currently, that is not really helpful.

Guides are ignored when cache mode is Replay mode.
Their effect is only taken into account when cache mode is Modular mode.
Unfortunately, velocity display does not seem to work in your branch for Modular mode.

It also would be welcomed to have a preview of Guiding Size setting, Surface Emission of Flow objects and Surface Thickness of effectors.

3 Likes

Thanks for testing it out, @RonanDucluzeau! Yes, currently, it only works in Replay mode when effectors are used as guides. Will try to extend the functionality in near future.

I think I forgot the most important thing for guides.
Guides are baked before fluid.

Currently, user is guessing their influence on fluid.
That is why a way to preview it and to correctly set it before baking fluid, is very helpful and can be a great timesaver.

Most of influence of guides comes from their movement or deformation.
That means that are not just velocities around mesh element at a specific frame that is useful.
That is their evolution during time that is meaningful.
So, if you could had a kiind of onion skinning of field of velocities created by guides, that will be very welcomed, too.

2 Likes

Week 2

  • Added Color Mapping options for liquid domains.

    • Added display support for phi grid. (eb2a512c9cea) (work in progress)

      LiquidPhiGridDisplay

  • Next week:

    • Improve phi grid display and make it usable.
10 Likes

Week 3

  • Added support for raw grid display.

    • Added an option for color mapping fluid grids without any interpolation. (091f2b5ec885)

      LiquidPhiRaw

  • Added an option for grid scaling in Color Mapping. (2d5454d18a9b)

    • Handled the scaling of Phi grid as an exception due to the significance it holds for negative values.
      The following image demonstrates scaling a Phi grid.

11 Likes

Week 4

  • Added options to display the liquid grids Phi In, Phi Out and Phi Obstacle (999a44f02f8a)
    • Phi In, Phi Out and Phi Obstacle are the level-set representations of inflow, outflow, and obstacles(i.e. colliders) in the domain respectively. The following image demonstrates a 2D slice of the specified phi grids in a liquid domain cutting through an inflow, outflow and an obstacle.

6 Likes

Week 5

13 Likes

Week 6

  • Added an option for colouring fluid gridlines with Flags (58da6432d651)

  • Used procedural lines to draw fluid grid lines for better uniformity in the viewport (c0fbc4cfec13)

  • The following image demonstrates the new gridlines coloured based on the flag grid of a liquid domain.

    Flags_Display_Gridlines

9 Likes

Week 7

  • Added range highlighting options for fluid grid lines (2507d2197114)

    • The voxels with values of the color mapped field within the user-specified range are highlighted with a user-specified color on the grid lines to display the grid values with better precision. The following image shows the voxels with very low density values ([1e-11, 1e-6]), which are almost non-existent when color mapped, being highlighted on the grid lines of a 2D slice of the density grid in a gas domain.

  • Added slicing options in Viewport Display for Volume Object (23e634f1b570)

11 Likes

Week 8

9 Likes

Week 9

11 Likes

Week 10

  • Added support for MAC Grid visualization (801a2fdc6fd1)

  • Added an option to toggle the scaling of display vectors with vector magnitudes (d73b481baeb9)

  • The following image demonstrates the MAC grid visualization of a 2D slice of the velocity grid in a gas domain

14 Likes

Week 11

11 Likes

Week 12

  • Fixed a crash caused by gridlines (fe63c1e8f7f6)

  • A minor improvement in closest (nearest-neighbor) interpolation (b5cc078e4daa)

  • Refined the labels, descriptions and ordering of the options (f52f428582ef, b9ce69827921)

  • Made a first pass on the user documentation for fluid Viewport Display options.

Next Week

  • Further refine the code

  • Submit a patch for review

  • Prepare user-documentation

  • Prepare the Final Report

7 Likes

Final Week

13 Likes

Congratulations! Hope to see this in master!

2 Likes