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.
Updated v.3.1, March 7th, 2014
Fluids v.3.1 is now available here and 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
- On Github: https://github.com/rchoetzlein/fluids3
To create a local copy do:
git clone https://github.com/rchoetzlein/fluids3.git
Run the fluids_v3.exe to start the program.
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:
|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:
|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|