flow5 v7.22 release information

Updated January 26, 2022

------------------ WORK IN PROGRESS ------------------


Back to main table of contents

Flow animations


flow5 v7.22 introduces an experimental option to visualize flow animations around the models.

To take advantage of the parallel nature of the flow line calculations, they are dispatched to the GPU where they are processed in OpenGL's Compute Shader.

Compute Shaders have been introduced in OpenGL 4.3 which will therefore need to be activated in the OpenGL Settings. It is recommended to check that the views "Lorenz (GPU)" and "Boids (GPU)" display correctly before trying flow animations.

Since MacOS has ended its support for OpenGL at version 4.1, flow animations are not available on this platform.

The calculation of the flow is computationally expensive and makes a heavy use of the computing power of the GPU. In windows, the load on the GPU can be visualized for information in the task manager.


For practical reasons, the flow animations are only implemented for tri-uniform solutions, since this method is the most versatile and offers the best compromise between precision and computational cost.

The flow animation is activated in the usual right side control box of the 3d display and is enabled when an operating point of a tri-uniform type polar is selected.

The animation settings are specified in the last tab of the scales widget.

  1. The flow lines can be evaluated by any iterative scheme applicable to Ordinary Differential Equations (ODE). By increasing complexity and computational cost, the schemes implemented in flow5 are forward Euler and Runge-Kutta at orders 2 and 4.
  2. The increment dt defines the time increment by which the flow lines are moved at each frame update. If V is the local velocity vector, the local flow line is moved by a distance V.dt
  3. Compute Shaders require that the calculations are split into work groups of fixed sizes. In flow5 this group size has been set to 64 threads. The number of particles or flow lines will therefore be equal to the number of groups times 64, e.g. 64 x 64 = 4096 in the right image.
  4. The display is updated as soon as a time step is complete. If the calculation takes less than a screen update period which is typically 1/60 Hz = 17 ms, the frame rate will hit the maximum value e.g. 60 Hz.
    If not, the ODE method and the number of groups can be adjusted to increase the frame rate.

The computational cost increases with the number of panels, the number of vortons, and the presence of a ground or free surface.

Back to top