Download
Fluids v.3 has the following system requirements:
- A CUDA-capable NVIDIA graphics card, with Compute capability 2.1 or higher.
- OpenGL 3.0
Fluids currently runs on Windows 7. A Linux build should be available shortly.
Downloads:
- Fluids v.3 Windows Libraries (VS 2010 run-time libs)
Run the fluids_v3.exe to start the program.
Please see the FAQ for licensing. Usage is free, and open source, with required acknowledgement of the original author in academic papers or commercial products.
- 2012 Hoetzlein, Rama C. Fluids v.3 – A Large-Scale, Open Source Fluid Simulator. Published online at http://fluids3.com. Released under Z-lib license.
Instructions
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 |