Skip to content
SpecializedSource checked

Position Based Fluids

Simulates fluids by adjusting particle positions to satisfy density constraints.

Quick Facts

Compact metadata for implementation and discovery.

Category
Simulation
Difficulty
Advanced
Family
Particle Fluid Simulation
Tier
Specialized
Status
Verified
Review
Source Checked
Sources
2
Formulas
1
Relationships
4
Code example
Ready
Visualization
Ready

Overview

Position Based Fluids adapts position-based dynamics to fluid particles, correcting positions so local density stays near a target value.

Core Concepts

density constraintsmoothing kernelparticle neighborsposition correction

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(particles)

Average

O(iterations * particles * neighbors)

Worst

O(iterations * particles^2)

Space

O(particles)

When to Use

  • Use when stable interactive fluid motion is more important than exact fluid physics.
  • Use when interactive fluid effects is a central requirement.

When Not to Use

  • Avoid when pressure, viscosity, or turbulence must be physically precise.
  • Avoid when the timestep, constraints, or stability requirements exceed what the method can handle.

What It Does

  • Computes particle fluid simulation within Particle Fluid Simulation workloads (O(iterations * particles * neighbors) time, O(particles) space).
  • Works by Simulates fluids by adjusting particle positions to satisfy density constraints.
  • Maintains key invariants across density constraint, smoothing kernel, particle neighbors.

Use Cases

  • Interactive fluid effects
  • Game water splashes
  • Stable particle fluids

Inputs

  • Fluid particles
  • Smoothing radius
  • Rest density

Outputs

  • Updated particle positions
  • Fluid surface samples

Key Formulas (1)

Density constraint

Ci = densityi / restdensity − 1
C_i = density_i / rest_density - 1

Measures how far a particle's local density is above or below the target.

Pseudocode

  1. 1.Find neighbors for each particle
  2. 2.Estimate density from smoothing kernels
  3. 3.Compute constraint multipliers
  4. 4.Apply position corrections
  5. 5.Update velocities from corrected positions

Canonical Example

Input
clustered particles have density above target
Output
particles move apart
Explanation
Position corrections reduce local density error.

Implementation Notes

  • Use a spatial hash or grid for neighbor lookup.
  • Keep units, timestep size, and state variables explicit in tests.
  • Keep a tiny example with expected output beside the implementation.

Common Pitfalls

  • Too few solver iterations makes fluid look compressible.
  • Large timesteps can add energy, damp motion, or make constraints explode.
  • Not defining boundary, empty, or degenerate inputs before implementation.

Interactive Mechanism Walkthrough

Iterative Convergence & State Trajectory

Show fluid particles spreading out until local density constraints are satisfied.

Position Based Fluids mechanism walkthrough step 1 of 5x₀x₁x₂x*
Step 1 of 5: Find neighbors for each particle
simulation-state

Notes

Neighbor search is essential for interactive particle counts.

Sources (2)

What each reference supports for this entry.

Position Based Fluids

Paper

Original position-based fluids reference for incompressibility constraints in a PBD solver.

Open source

Fluid Simulation for Computer Graphics

Book

Fluid-simulation reference supporting Position Based Fluids advection, incompressibility, particle-grid transfer, or numerical fluid update behavior.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Position Based Fluids applies PBD constraints to fluid density behavior.

PBF adapts SPH-style neighborhood density estimates.

Tags

SimulationFluid SimulationParticlesConstraint Solving