# projectphysx/fluidx3d

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/projectphysx-fluidx3d).**

5,148 stars · 467 forks · C++ · NOASSERTION

## Links

- GitHub: https://github.com/ProjectPhysX/FluidX3D
- Homepage: https://youtube.com/@ProjectPhysX
- awesome-repositories: https://awesome-repositories.com/repository/projectphysx-fluidx3d.md

## Topics

`benchmark` `cfd` `computational-fluid-dynamics` `fluid-dynamics` `fluid-simulation` `fluid-solver` `gpgpu` `gpu` `gpu-computing` `high-performance-computing` `hpc` `interactive-visualization` `lattice-boltzmann` `lbm` `opencl` `physics` `raytracing` `science` `scientific-computing` `simulation`

## Description

FluidX3D is a GPU-accelerated computational fluid dynamics solver and voxel-based fluid simulator. It utilizes the lattice Boltzmann method to simulate gas and liquid behavior, pressure, and velocity through an OpenCL-based hardware abstraction that supports both graphics processors and CPUs.

The system specializes in multi-phase flow simulation using volume-of-fluid methods for free surface modeling and droplets. It includes a thermal simulator for modeling heat transfer and thermal convection, alongside tools for aerodynamic force analysis to calculate lift, drag, and torque on physical objects.

The software provides a comprehensive suite of simulation capabilities, including Lagrangian particle tracking for two-way fluid interaction, rotating object animation via periodic re-voxelization, and turbulent flow stabilization for high Reynolds numbers. It handles data through triangle mesh geometry import and supports various visualization methods, including marching cubes surface extraction, in-memory rasterization, and video rendering.

Performance is managed through multi-GPU domain decomposition and half-precision memory compression.

## Tags

### Graphics & Multimedia

- [GPU-Accelerated Physics Simulations](https://awesome-repositories.com/f/graphics-multimedia/particle-physics-simulations/gpu-accelerated-physics-simulations.md) — Provides a high-performance physics engine that executes fluid dynamics simulations entirely on GPU hardware.
- [Direct-Memory Media Renderers](https://awesome-repositories.com/f/graphics-multimedia/direct-memory-media-renderers.md) — Generates real-time rasterization and raytraced visualizations directly in memory to avoid exporting large volumetric files. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/README.md))
- [Technical Field Visualization](https://awesome-repositories.com/f/graphics-multimedia/gpu-accelerated-rendering/technical-field-visualization.md) — Creates velocity fields, streamlines, and surfaces using a marching-cubes algorithm for fluid behavior analysis. ([source](https://github.com/ProjectPhysX/FluidX3D))
- [Volumetric Mesh Extraction](https://awesome-repositories.com/f/graphics-multimedia/mesh-processing-tools/volumetric-mesh-extraction.md) — Implements marching cubes to extract polygonal meshes from volumetric simulation data for visualization.
- [Voxelization Accelerators](https://awesome-repositories.com/f/graphics-multimedia/particle-physics-simulations/gpu-accelerated-physics-simulations/voxelization-accelerators.md) — Provides GPU-accelerated voxelization to convert triangle meshes into simulation grid cells for high-speed import.
- [Lagrangian Particle Integration](https://awesome-repositories.com/f/graphics-multimedia/particle-physics-simulations/smoothed-particle-hydrodynamics/lagrangian-particle-integration.md) — Implements Lagrangian particle tracking for two-way interaction between discrete particles and the fluid grid. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/README.md))
- [Rotating Object Animations](https://awesome-repositories.com/f/graphics-multimedia/rotating-object-animations.md) — Provides rotating object animation by periodically re-voxelizing meshes to simulate instantaneous angular velocity. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/DOCUMENTATION.md))

### Scientific & Mathematical Computing

- [Lattice Boltzmann Methods](https://awesome-repositories.com/f/scientific-mathematical-computing/lattice-boltzmann-methods.md) — Utilizes the lattice Boltzmann method as the core engine for simulating gas and liquid behavior.
- [Aerodynamic Force Analysis](https://awesome-repositories.com/f/scientific-mathematical-computing/aerodynamic-force-analysis.md) — Calculates lift, drag, and torque on physical objects to determine the impact of fluid motion.
- [Fluid Dynamics Simulation](https://awesome-repositories.com/f/scientific-mathematical-computing/applied-domain-sciences/fluid-dynamics-analysis/fluid-dynamics-simulation.md) — Provides a full CFD solver to simulate the flow of liquids and gases using the lattice Boltzmann method.
- [Volume-of-Fluid Interface Tracking](https://awesome-repositories.com/f/scientific-mathematical-computing/applied-domain-sciences/fluid-dynamics-analysis/fluid-dynamics-simulation/volume-of-fluid-interface-tracking.md) — Models the interface between liquids and gases to simulate droplets and free surfaces.
- [Voxel-Based Simulations](https://awesome-repositories.com/f/scientific-mathematical-computing/applied-domain-sciences/fluid-dynamics-analysis/fluid-dynamics-simulation/voxel-based-simulations.md) — Converts triangle meshes into voxel grids to model complex fluid-structure interactions and boundary conditions.
- [Lift and Drag Calculations](https://awesome-repositories.com/f/scientific-mathematical-computing/interatomic-force-calculations/lift-and-drag-calculations.md) — Calculates lift and drag on objects within the fluid simulation to analyze motion impact. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/README.md))
- [Lattice Boltzmann Thermal Simulators](https://awesome-repositories.com/f/scientific-mathematical-computing/lattice-boltzmann-thermal-simulators.md) — Implements a thermal simulator using the lattice Boltzmann method to model heat transfer and thermal convection.
- [Material Phase Simulators](https://awesome-repositories.com/f/scientific-mathematical-computing/material-phase-simulators.md) — Models the interaction between liquid and gas phases to simulate droplets and free surfaces.
- [Boundary Condition Enforcement](https://awesome-repositories.com/f/scientific-mathematical-computing/boundary-condition-enforcement.md) — Defines fixed velocity or density for inflows and outflows to control fluid entry and exit. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/src/defines.hpp))
- [Domain Decomposition](https://awesome-repositories.com/f/scientific-mathematical-computing/domain-decomposition.md) — Implements spatial domain decomposition to distribute simulation workloads across multiple GPUs.
- [Global Volume Forces](https://awesome-repositories.com/f/scientific-mathematical-computing/global-volume-forces.md) — Simulates pressure gradients and force fields on solid boundaries using global volume forces. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/src/defines.hpp))
- [Lagrangian Particle Tracking](https://awesome-repositories.com/f/scientific-mathematical-computing/lagrangian-particle-tracking.md) — Integrates passive tracers or coupled particles to study buoyancy and sedimentation.
- [Thermal Convection Modeling](https://awesome-repositories.com/f/scientific-mathematical-computing/thermal-convection-modeling.md) — Models heat transfer and thermal convection by assigning cell temperatures and applying expansion and diffusion coefficients. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/README.md))
- [Turbulent Flow Stabilization](https://awesome-repositories.com/f/scientific-mathematical-computing/turbulent-flow-stabilization.md) — Maintains simulation stability at high Reynolds numbers by implementing a subgrid model for fluid dynamics. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/DOCUMENTATION.md))
- [Two-Way Fluid-Particle Coupling](https://awesome-repositories.com/f/scientific-mathematical-computing/two-way-fluid-particle-coupling.md) — Integrates discrete Lagrangian particles that both respond to and exert forces back onto the fluid grid.

### Part of an Awesome List

- [Free Surface Modeling](https://awesome-repositories.com/f/awesome-lists/ai/physics-simulation/interactive-world-simulation/fluid-surface-simulation/free-surface-modeling.md) — Models the liquid-gas interface using volume-of-fluid and PLIC methods to simulate droplets and free surfaces. ([source](https://github.com/ProjectPhysX/FluidX3D/blob/master/README.md))

### Operating Systems & Systems Programming

- [OpenCL Accelerators](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/opencl-accelerators.md) — Provides an OpenCL-based hardware abstraction to execute simulation kernels across diverse GPUs and CPUs.

### Game Development

- [Voxel Mesh Import](https://awesome-repositories.com/f/game-development/polygon-based-navigation-meshes/mesh-processing-operations/voxel-mesh-import.md) — Converts triangle meshes from binary files into a voxel grid directly using the GPU. ([source](https://github.com/ProjectPhysX/FluidX3D))

### Software Engineering & Architecture

- [Half-Precision Memory Compression](https://awesome-repositories.com/f/software-engineering-architecture/half-precision-memory-compression.md) — Uses half-precision memory compression to lower memory usage and increase processing speed. ([source](https://github.com/ProjectPhysX/FluidX3D))
