/LBM-SWE-Unity

A Unity package for simulating shallow water flows with Lattice Boltzman methods.

Primary LanguageC#MIT LicenseMIT

LBM-SWE-Unity

This repository contains a Unity package with a simulator for shallow water flows, based on the D2Q9 model of the Lattice Boltzmann method.

LBM-Loop

I wanted to try out Unity's Job System and Burst compiler, and the LBM simulation is very paralellizable i.e., it is good problem to solve with Jobs and Burst. (Compute shaders would also be a great tool.)

The algorithm and equations are explained excellently and in great detail by Zhou, J. G. (2013). Lattice Boltzmann Methods for Shallow Water Flows (2004th ed.). Springer.

Sample Project

To see a Unity project demonstrating how to setup and visualize the LBM sim...

  • Clone the repo
  • Open the Unity project here: <repo-root>/LBM-SWE-UnityProject

Install Package

To install the package into a Unity project...