Skip to content

takah29/2d-fluid-simulator

Repository files navigation

2D Fluid Simulator

baundary_condition_2_dye baundary_condition_2_norm

Features

  • Finite Difference Method (MAC Method)
  • Advection Scheme
    • Upwind Differencing
    • Kawamura-Kuwahara
    • CIP (Constrained Interpolation Profile)
  • Flow Visualization
    • Norm (Velocity) and Pressure
    • Pressure
    • Vorticity
    • Dye
  • Vorticity Confinement

Requirements

  • Python 3.11
  • Taichi 1.7

GeForce GTX 1080 or higher recommended.

Usage

  • Boundary Condition 1, ReynoldsNumber = 1000, dt = 0.0005, VorticityConfinement is Disable
    python main.py -re 1000 -dt 0.0005 -vc 0.0
    Press V key switches the flow visualization method. dt is automatically determined even if not specified, but should be small for divergence.
  • Boundary Condition 2, resolution = 800
    python main.py -bc 2 -res 800
    Boundary conditions can be specified from 1 to 6
  • Boundary Condition 3, ReynoldsNumber = 10^8, resolution = 800, VorticityConfinement = 10
    python main.py -bc 3 -re 100000000 -res 800 -vc 10
  • Help
    python main.py -h
  • for CPU
    python main.py -dt 0.0005 -cpu

Screenshots

Flow Visualization

  • Norm and Pressure norm_and_pressure
  • Pressure pressure
  • Vorticity vorticity
  • Dye dye

Vorticity Confinement

  • Disable no_vorticity_confinement
  • Enable vorticity_confinement

References