takah29 / 2d-fluid-simulator

2D incompressible fluid solver implemented in Taichi.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.10
  • Taichi 1.5

GeForce GTX 1080 or higher recommended.

Usage

  • Boundary Condition 1, ReynoldsNumber = 500, 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

About

2D incompressible fluid solver implemented in Taichi.


Languages

Language:Python 100.0%