User interface

The graphical user interface (GUI) is used for real-time visualization and analysis of simulations, while they are running. Additional inspection of results can be done in third-party post-processing software (e.g. ParaView).

The GUI is comprised of:

  1. UI elements control
  2. Project control
  3. Simulation editor
  4. Time control
  5. 3D viewer
  6. Monitor
  7. Contouring options
  8. 3D viewer options

Usual procedure

  • Initialize a new set-up, or load an existing set-up, using region (2)
    • If needed, edit simulation parameters in region (3)
  • Prepare simulation using region (2)
    • If needed, inspect the prepared scene in region (5)
  • Run the simulation using region (4)
    • Track residuals and other information using region (6)
    • Inspect results visually using region (5), with different options from region (7) and region (8)

Components

1. UI elements toolbar

The actions from region (1) show or hide various parts of the UI.

Setup
Show / hide the input window to read and edit the simulation.

Render
Show / hide the 3D viewer which renders simulation results each time step.

Monitor
Show / hide the window for monitoring the log, simulation info, residuals and forces.

About
Show various actions and information about the program:
* About application: show version, compilation date, contact and licensing information
* Check for updates: checks for new versions online
* Changelog: opens list of changes done to the solver and user interface
* License: opens the license
* Input specification: opens help on how to write the input file

Note: If the 3D viewer is visible while a simulation is running, it occupies memory and time to update and render results each time step. Also if the graphs are visible during running the simulation, it takes time to update and render graphs each time step. Use the 3D viewer and Monitor only when you need to see updates in real-time.

2. Simulation toolbar

The actions in region (2) are for creating and preparing simulations. The listed actions communicate with the simulation editor from region (3). The actions can be called while a simulation is running.

New (Ctrl + N)
Create a clean new simulation input file.

Open (Ctrl + O)
Open an existing input file.

Save (Ctrl + S)
Save changes of the input file.

Save as (Ctrl + Shift + S)
Save the input file to a different file.

Prepare (Ctrl + P)
Save changes to the input file and prepare the simulation for the run, i.e. load boundary surfaces and fill the fluid.

Export
Write computed results of the current simulation time-step.

3. Simulation editor

The simulation editor, i.e. region (3), is enabled when the user wants to make a new simulation set-up or after an existing set-up is loaded. Changes done to the simulation can be saved using actions in region (2). When the user is satisfied with the input, the simulation can be saved and prepared for running using the Prepare action in region (2). The editor does not need to be shown while the simulation is running.

4. Time toolbar

These actions from region (4) control how the simulation is advanced.

Constant / Automatic
A switch that controls whether to use: manually specified (contant) time step value, or dynamic (automatic) time step values suggested by the solver.

Time-step (s)
Enter a value, in seconds, for the time step that will be constant during the simulation.

Coef.
Enter a multiplier value for automatic (dynamic) time-step values suggested by the solver.

Step
Advance the simulation by simulating a single time step.

Runtime (s)
Enter a value, in seconds, of the interval that defines how long to run the simulation.

Run (Ctrl + Space)
Advance the simulation for the specified duration. The time stepping will be constant or dynamic, depending on the chosen option.

Pause (Ctrl + Space, or Esc)
This action is shown when the simulation is running, and it is used to stop advancing the simulation.

5. 3D viewer

The viewer in region (5) renders: flow points as coloured 3D spheres, colorbar and its legend, boundary geometry (patches), probes, orientation axes, domain box, etc.

Left mouse click + Mouse movement
Orbit the camera around the focus point.

Right mouse click + Mouse movement
Pan the camera left-right-up-down.

Mouse wheel
Forward / backward zoom movement of the camera and the focus point.

Right mouse click
Opens the context menu with rendering options shown in region (8).

6. Monitor

The monitor, i.e. region (6), shows information about the running simulation.

  • Log: Displays what is currently going on (info, warning and error messages).
  • General: Displays some general information about the simulation.
  • Residuals: Shows the residuals graphs for: the pressure linear solver, the velocity linear solver, average velocity divergence (incompressibility).
  • Pressure: Shows the readings of the pressure sensors.

Note: If you care for performance, and don’t need these information all the time, hide the Monitor.

Note: Forces, torques and movements of objects are exported to the disk. Rendering them as graphs is work-in-progress.

7. Contouring toolbar

If the 3D viewer from region (5) is shown, then this toolbar is shown in region (7). It is used to render different results, i.e. scalar and vector fields, of the current time step of the simulation.

( Field option )
Opens the list of allowed scalar and vector fields to be rendered as filled contour plot in the 3D viewer.

[ minimum, maximum ]
These two text inputs allow the user to set the range of the rendered contour plot.

Auto range
Finds the minimum and maximum magnitudes of the current scalar or vector field, and sets them as the range of the rendered contour plot.

Note: Vector fields are rendered as contour plots, i.e. colors represent vector magnitudes. Vector direction rendering is work-in-progress.

8. 3D viewer options toolbar

If the 3D viewer from region (5) is shown, then this toolbar is shown in region (8) as well. It contains various options to control the rendering in the 3D viewer.

Background
Modify the background gradient, by manually choosing two colors of the gradient, or by choosing one of the predefined presets.

Shading
Opens a menu with actions that modify the rendering options.
* Point size: changes the radius of the sphere that represents a fluid point.
* Point ambient: changes darkness of the shadowed area on spheres.
* Overlay points: an option to draw fluid over other 3D objects, not to be hidden by walls.
* Geometry color: change the shading color of objects.
* Geometry shading: option Wireframe renders only triangle edges, while Filled + Wireframe renders shaded triangles with colored edges.
* Geometry ambient: changes how dark is the shadow area of 3D objects.
* Geometry opacity: changes how opaque or transparent objects will be rendered.

Visibility
Opens a menu to hide or show different things in 3D viewer.
* Fluid points: show or hide fluid.
* Boundary points: show or hide points generated for boundary conditions.
* Geometry: show or hide patches.
* Legend: show or hide the colorbar and values range.
* Probes: show or hide points where probes are located.
* Orientation axes: show or hide XYZ axes in bottom-left part of the viewer.
* Domain box: show or hide the active space for the simulation.

Colormap
Opens a menu to modify the rendering color palette and its legend location.
* Presets: Viridis (blue to yellow, perceptually uniform, robust to colorblindness), Cool-warm (blue to red diverging map), Jet (blue-green-yellow-red transition), Greyscale (black to white transition).
* Position: modifies the location of the legend on the screen.

Cutting plane
Opens a docked window that enables cutting of the domain. The domain is cut by defining a cutting plane by an origin (any point on the plane), and a normal vector. Only points intersected by the plane are then rendered.

Screenshot
Takes a screenshot of the 3D viewer.
* Save to file: save the viewer contents to a PNG file and store it onto the hard drive.
* Copy to clipboard: save the viewer contents to clipboard, so you can paste (Ctrl + V) it somewhere.