zoomy_core.model.models.ins3d_model module#
3D Incompressible Navier-Stokes with Chorin pressure splitting.
The model holds the full INS and provides separate interfaces for predictor (momentum without pressure), Poisson (pressure), and corrector.
Usage:
model = INS3DChorin(dimension=3, nu=0.01)
solver = ProjectionSolver(time_end=1.0, ...)
Q, p = solver.solve(mesh, model)
- class zoomy_core.model.models.ins3d_model.INS3DChorin(dimension=3, nu=0.01, **kwargs)#
Bases:
Model3D incompressible Navier-Stokes with Chorin projection splitting.
State vector Q = [u, v, w] (velocity components). Pressure is a separate field solved via Poisson equation.
The model registers: - flux() — convective flux (for the predictor) - source() — zero (viscosity handled via LSQ Laplacian in solver) - eigenvalues() — max(|u|, |v|, |w|) for CFL
The solver uses LSQ derivatives for: - Divergence: ∇·u* → Poisson RHS - Laplacian: ∇²p → Poisson LHS - Gradient: ∇p → correction - Viscous: ν∇²u → predictor source
- nu = 0.01#
- flux()#
Convective flux F_d = u_d * Q (advection).
- eigenvalues()#
Eigenvalues for CFL: max velocity component along normal.