Skip to content

FluidX3D v2.8 (documentation + polish)

Compare
Choose a tag to compare
@ProjectPhysX ProjectPhysX released this 26 Jun 04:58
· 157 commits to master since this release

Thank you for using FluidX3D! The v2.8 update doesn't add too many new features, but finally more documentation, loads of refactoring and significant usability improvements:

  • finally added more documentation
  • cleaned up all sample setups in setup.cpp for much more beginner-friendly learning
  • added required extensions in defines.hpp as comments to all setups in setup.cpp
  • improved loading of composite .stl geometries, by adding an option to omit automatic repositioning of the mesh
  • added more functionality to Mesh struct in utilities.hpp
  • added uint3 resolution(float3 box_aspect_ratio, uint memory) function to compute simulation box resolution based on box aspect ratio and VRAM occupation in MB
  • added bool lbm.graphics.next_frame(...) function to export images for a specified video length in the main_setup compute loop
  • added VIS_... macros to ease setting visualization modes in headless graphics mode in lbm.graphics.visualization_modes
  • simulation box dimensions are now automatically made equally divisible by domains for multi-GPU simulations
  • made Info/Warning/Error message labels colored
  • added Cessna 172 propeller airplane and Bell 222 helicopter setups to showcase how loading of composite .stl geometries and revoxelization of moving parts works
  • added Ahmed body setup as an example on how body forces and drag coefficient are computed; expect absolute forces to be too large by up to a factor 2, because even large resolution is not enough to fully capture the turbulent boundary layer in this case; a wall function is needed, I'll scan literature on it
  • added optional semi-transparent rendering mode (#define GRAPHICS_TRANSPARENCY 0.7f in defines.hpp)

Bug fixes:

  • fixed flickering of streamline visualization in interactive graphics
  • improved smooth positioning of streamlines in slice mode
  • fixed bug where mass and massex in SURFACE extension were also allocated in CPU RAM (not required)
  • fixed bug in Q-criterion isosurface rendering of halo data in multi-GPU mode
  • reduced gap width between domains in Q-criterion isosurface rendering in multi-GPU mode
  • fixed crash/bug in local memory optimization in mesh voxelization kernel
  • removed shared memory optimization from mesh voxelization kernel, as it crashes on Nvidia GPUs with new GPU drivers and is incompatible with old OpenCL 1.0 GPUs
  • fixed Info/Warning/Error message formatting for loading files

Some showcases of what v2.8 is capable of:

(click on images to show videos on YouTube)


Have fun with the software!
-- Moritz