Uploaded October 2018 | Updated September 2026, 1 week ago
FluidX3D is a real time 3D fluid simulation based on the lattice Boltzmann method. It is written in OpenCL (GPU code) and optimized to the physical limit (video memory bandwith, ~500GB/s).
FluidX3D has been completely overhauled, all velocity sets (D2Q9, D3Q13, D3Q15, D3Q19, D3Q27) as well as all collision operators (single relaxation time (SRT), two relaxation time (TRT), multi relaxation time (MRT)) have been added and can be freely combined. In my implementation, neither TRT or MRT have any measurable performance impact since the bottleneck is still the memory bandwidth, capped by the hardware to about 420GB/s on the Titan Xp. The swap algorithm is OS-Pull (fastest algorithm, but not as memory efficient) and the data layout is the faster struct-of arrays (SoA). I've reached the optimization limit with 2.6 Giga lattice updates per second (GLUPs) for D3Q19 on the Titan Xp.
I've translated my graphics library Line3D into OpenCL with the Bresenham algorithm for drawing lines on a bitmap. It can handle up to 2 billion lines per second, which is way faster than all other graphics libraries for primitive shapes out there.
For more information about FluidX3D and my other projects, visit
projectphysx.de
Music: CMA - You're Not Alone
FluidX3D is a real time 3D fluid simulation based on the lattice Boltzmann method. It is written in OpenCL (GPU code) and optimized to the physical limit (video memory bandwith, ~500GB/s).
FluidX3D has been completely overhauled, all velocity sets (D2Q9, D3Q13, D3Q15, D3Q19, D3Q27) as well as all collision operators (single relaxation time (SRT), two relaxation time (TRT), multi relaxation time (MRT)) have been added and can be freely combined. In my implementation, neither TRT or MRT have any measurable performance impact since the bottleneck is still the memory bandwidth, capped by the hardware to about 420GB/s on the Titan Xp. The swap algorithm is OS-Pull (fastest algorithm, but not as memory efficient) and the data layout is the faster struct-of arrays (SoA). I've reached the optimization limit with 2.6 Giga lattice updates per second (GLUPs) for D3Q19 on the Titan Xp.
I've translated my graphics library Line3D into OpenCL with the Bresenham algorithm for drawing lines on a bitmap. It can handle up to 2 billion lines per second, which is way faster than all other graphics libraries for primitive shapes out there.
For more information about FluidX3D and my other projects, visit
projectphysx.de
Music: CMA - You're Not Alone
![DroneEngine [QUADCOPTER SIMULATION] June Update: control modes
Es geht voran mit der DroneEngine. Ich habe drei unterschiedliche Steueralgorithmen implementiert, die zukünftig die Grundlage für das simulierte Sensor-Feedback bilden werden. Weitere Updates werden folgen.
Song: Ellie Goulding - Lights [LuQuS Remix] DroneEngine [QUADCOPTER SIMULATION] June Update: control modes](https://i.ytimg.com/vi/kps6_SK4Dw4/mqdefault.jpg)

![PhysX3D [GRAVITY SIMULATION] Planetary Movement through Space
This is how the planets and moons move relative to the solar system barycenter. In a similar way the whole solar system moves around the center of the milky way.
More information at: http://www.projectphysx.de
Music: Chris Zabriskie - Cylinder Three PhysX3D [GRAVITY SIMULATION] Planetary Movement through Space](https://i.ytimg.com/vi/llhXEzWEWxI/mqdefault.jpg)





![FluidX3D [FLUID SIMULATION] 65536 Particles in Real Time
FluidX3D is a GPU-accelerated real time 3D fluid simulation based on the lattice Boltzmann method.
Ive added some upgrades, namely the one-step-pull algorithm (OS-Pull) for a combined streaming-and-collide step which cuts VRAM access in half.
Particles are also calculated on the GPU. They dont impact performance much (less than 1%), since 65536 is a small number compared to 256x128x128 LBM nodes. Furthermore, if only the particle positions have to be sent over PCI-e to the CPU for graphics instead of the entire velocity field, it doubles the calculation steps per second, because then the GPU does not have to wait idle until the slow data transfer is done.
For more information about FluidX3D and my other projects, visit
http://www.projectphysx.de
Music: CMA - Youre Not Alone FluidX3D [FLUID SIMULATION] 65536 Particles in Real Time](https://i.ytimg.com/vi/nMyFEnO3j_w/mqdefault.jpg)

![FluidX3D [FLUID SIMULATION] Rocket Nozzle Simulation
FluidX3D is a GPU-accelerated real time 3D fluid simulation based on the lattice Boltzmann method.
Ive added arbitrary boundaries. This enables setting arbitrarily shaped walls inside the simulation box and observing the fluid flow around them.
The simulations in this video are sped up by 2x because the simulation box is quite large at 128x128x256. Keep in mind that the simulations run on a Laptop from the year 2015.
For more information about FluidX3D and my other projects, visit
http://www.projectphysx.de
Music: Soundtrack from CERN - Processing LHC Data FluidX3D [FLUID SIMULATION] Rocket Nozzle Simulation](https://i.ytimg.com/vi/nenqfD6nNGc/mqdefault.jpg)