Trickle is a 2D Godunov-type fluid simulation that employs the Roe Riemann solver to solve the Euler equations. It uses flat reconstruction and adaptive time-stepping. Boundary conditions are periodic by default.
By default the initial conditions create a Kelvin-Helmholtz instability setup. Define your own initial conditions in initialise.py
. Make sure pressure is always positive and density is never negative. After this, define your simulation properties in constants.py
. Run the simulation with python trickle.py
. If you experience issues with NaN's in the simulation domain, it's likely that the CFL variable should be lowered.
The simulation code is not yet highly optimized, or parallelized. This functionality will be added later.