What is Fluids v.3?
Fluids v.3 is a large scale, open source fluid simulator using the Smooth Particle Hydrodynamics method. It is at least 8x faster than Fluids v.2, and allows up to 8,000,000 particles on GPUs with 1500 GB ram.
What are Fluids v.3 system requirements?
Minimum system requirements are a CUDA-capable NVIDIA GPU with Compute capability 2.1 or higher, and OpenGL support.
How does Fluids v.3 compare to others?
See the Performance page for some details. Fluids v.3 is the only free, SPH simulator I know for the GPU that handles over 1,000,000 particles. NVIDIA PhysX is currently limited to 700,000 particles (as of Dec 2012).
Can I use Fluids in my field of study?
Yes. Fluids v.3 is intended for cross-disciplinary research, to be adopted in other fields. Previous interest has come from students and professionals in cosmology, hydrology, geophysics, and medicine. Fluids remains open source to allow others to adopt this basic algorithm to their particular application.
What are the Fluids licensing terms?
Fluids v.3 is released under the Fluids-Zlib license. Distribution of the source code, or your modifications, is not required. However, acknowledgement of the original author either in academic papers or technical white papers is required using the following citation:
2012 Hoetzlein, Rama C. Fluids v.3 – A Large-Scale, Open Source Fluid Simulator. Published online at http://fluids3.com. Released under the Z-lib license.
If you use the Fluids v.3 method in a commerical application, you are required by the license to include the author in the application or game credits: Fluid Simulation, Rama Hoetzlein (Fluids v.3). For demos, games and applications, placing an acknowledgement in the source code is not sufficient.
You do not need to ask for permission to incorporate Fluids into your projects, or to make changes to it (just use the citation). If you implement some new feature, I would encourage you to give back to the community and share your code with us.
How is Fluids v.3 different from Fluids v.2?
Many of the feature differences are listed on the Main Page.
One of the key features in Fluids v.3, aside from performance gains, is that it relies on XML files to describe scenes. This allows you to modify the scene setup without rebuilding the Fluids code.
What algorithms does Fluids v.3 use?
Fluids v.3 uses both CPU and GPU methods for fast neighborhood search. More details on methods will be available shortly.
While running Fluids v.3, you can use the F and G keys to change the algorithm used.
This will cycle through the following available algorithms:
- CPU Grid – CPU only, also reports grid statistics
- CUDA Radix Sort – Not currently implemented in v.3 (used in Fluids v.2)
- CUDA Index Sort – New method, but without deep copy (slightly slower)
- CUDA Full Sort – Most recent, Fast method (Default when started)
- CUDA Clustering – Shared memory solution, Not worked as expected (see Wishlist)
Does Fluids v.3 create rendered surfaces, or interact with rigid bodies?
At present, no. These features are on the wishlist in the Development section. I have focused my efforts on making the fastest, large scale simulator available. I encourage others to pursue surface rendering and rigid interactions, but I won’t be able to add these myself due to other commitments.
I thought GPUs had memory limits for large numbers of particles?
Fluids v.3 uses a new algorithm that reduces memory requirements. Strictly speaking, this was never a real limitation. A particle typically takes 72 bytes of memory, which implies that a GPU with 1.5 GB should handle up to 20 million particles. In practice, algorithm overhead places the real limit around 10 million with 1.5 GB GPU ram. Fluids v.3 also handles memory much more carefully to avoid GPU crashes with large numbers of particles, and is thus code-stable for large simulations.