News & Download

June, 2018 – Integrated with NVIDIA GVDB Voxels ** NEW **

Fluids v.3 has been integrated as a sample into the NVIDIA(R) GVDB Voxels framework for sparse volumes. The sample gFluidSurface can be built as part of the GVDB Voxels 1.1 release which is available open source here. This sample uses Fluids v.3 as a particle-based fluid simulation where the sparse GVDB volume builds and renders a surface on-the-fly from the particles.

March, 2014- Demo available on Github

Fluids v.3 is available as a stand-alone demo on github here. This version is essentially identical, but is much easier to build. It has the following new features:
– Easier to build. No more dependency on freetype or glut.
– Interactive on-screen GUIs
– Upgraded to run on CUDA 5.0 and 5.5
– Profile timings. Now includes GPU markers for profiling on the GPU using NVIDIA’s free NSight tool.
– Bug fixes noticed by users

Dec, 2012 – Downloads for Fluids 3.1 available

Fluids v.3.1 Windows Binaries (Demo fixed on 11/11/2018)

Fluids v.3.1 Binaries + Source Code

– On Github:
To create a local copy do: git clone


Fluids v.3 has the following system requirements:
– A CUDA-capable NVIDIA graphics card, with Compute capability 2.1 or higher.
– OpenGL 3.0
– Windows 7 or higher

Run the fluids_v3.exe to start the program.

Fluids v.3.x is release under an Attribute-ZLib license. You may create derivative works for commerical or open source projects. However, public acknowledgement is required. See license details here.

Scene Files

Fluids v.3 reads the scene.xml file to setup simulation examples.
To see the current scene being run, press the ‘H’ key, and [, ] keys to change the scene.
Use the N, M keys to change number of particles, up to the limit of GPU memory and the domain volume of the scene. (Use scene 2, Large Ocean, to allow volumes up to 8 million particles)

Scene files have two sections, <Fluids> and <Scene> .
The <Fluids> section is read first, and typically sets fluid parameters for all scenes. The <Scene> section applies changes for a given scene id.

The following are all the available parameters, and all may appear in either the <Fluid> or <Scene> sections.

Scene parameter tags:

Tag Description Common Value
DT Simulation time step 0.003
SimScale Simulation scale (see website) 0.005
Viscosity Fluid viscosity coefficient 0.35
RestDensity Fluid rest density 600.0
Mass Fluid particle mass 0.00020543
Radius Fluid particle radius, only for boundary tests 0.02
IntStiff Fluid internal stiffness (non-boundary) 1.5
BoundStiff Fluid stiffness at boundary 50000.0
BoundDamp Fluid damping at boundary 100.0
AccelLimit Acceleration limit (for stability) 150.0
VelLimit Velocity limit (for stability) 3.0
PointGravAmt Strength of point gravity 0
PointGravPos Position of point gravity 0,0,0
PlaneGravDir Direction of plane gravity 0,-9.8,0
GroundSlope Slope of the ground (Y- plane) 0
WaveForceFreq Frequency of wave forcing 0
WaveForceMin Amplitude of wave forcing from X-plane 0
WaveForceMax Amplitude of wave forcing from X+ plane 0
Name Name of scene example
Num Number of particles to simulate 65536
VolMin Start corner of Domain Volume -100,0,-100
VolMax End corner of Domain Volume 100,100,100
InitMin Start corner of Initial Particle placement -90,10,-90
InitMax End corner of Initial Particle placement 90,90,90

Once started, the following keyboard commands are available:

Keyboard command:

H Turn scene info on/off
N, M Change number of particles
[, ] Change example scene (loaded from scene.xml)
F, G Change algorithm (CPU, GPU, etc.)
J Change rendering mode (points, sprites, spheres)
C Adjust camera (using mouse)
L Adjust light (using mouse)
A,S,W,D Move camera target
1 Draw acceleration grid
2 Draw particle IDs (be sure # < 4096 first)
~ Start video capture to disk (tilde key)
-, + Change grid density


Leave a Reply

Your email address will not be published. Required fields are marked *

Reload Image