advanced

Pyvorin for CFD

Computational fluid dynamics solvers in Python.

Published May 30, 2026

Lattice Boltzmann

Fluid flow simulation with compiled collision and streaming steps.

def collide(f, omega):
    for i in range(len(f)):
        for j in range(len(f[0])):
            rho = sum(f[i][j])
            u = sum(f[i][j][k] * cx[k] for k in range(9)) / rho
            for k in range(9):
                feq = rho * w[k] * (1 + 3*u*cx[k] + ...)
                f[i][j][k] = f[i][j][k] - omega * (f[i][j][k] - feq)
    return f

Pressure-velocity coupling with compiled iterative solvers.