|
flow
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Functions | |
| run (N=128, Re=100.0, U=1.0, nz=4, dt=1.0, max_steps=6000, implicit=False, vmg=False, vlevels=8, vcycles=4, vel_iter=60, outer=2) | |
| main () | |
Upwind-convective velocity-MG on the DOMAIN-BC path (lid-driven cavity, Ghia Re=100), task #56.
This exercises the implicit-FOU advection + upwind-convective velocity multigrid on a problem with native
domain boundary conditions (no immersed solid) -- the cavity. The point is the CFL >> 1 regime: with
EXPLICIT advection a large dt is unstable (advective CFL = U*dt/dx); the implicit-FOU deferred correction
solves the first-order-upwind part implicitly (every MG level an M-matrix -> unconditionally stable for
advection) and keeps the (Koren - FOU) correction explicit, so the scheme is still Koren TVD at steady.
Checks:
(1) reference: explicit advection at a SMALL dt converges to Ghia (ground truth);
(2) at a LARGE dt (CFL >> 1): explicit BLOWS UP, while implicit-FOU + upwind vmg stays bounded and
converges to the SAME Ghia centreline -> the upwind coarse operator is stable + correct at high CFL.
Quasi-2D (nz=4) so semi-coarsening builds a deep velocity-MG hierarchy. One GPU.
| verify_velocity_mg_upwind_cavity_sdflow.run | ( | N = 128, |
|
Re = 100.0, |
|||
U = 1.0, |
|||
nz = 4, |
|||
dt = 1.0, |
|||
max_steps = 6000, |
|||
implicit = False, |
|||
vmg = False, |
|||
vlevels = 8, |
|||
vcycles = 4, |
|||
vel_iter = 60, |
|||
outer = 2 |
|||
| ) |
Definition at line 29 of file verify_velocity_mg_upwind_cavity_sdflow.py.
Referenced by main().
| verify_velocity_mg_upwind_cavity_sdflow.main | ( | ) |
Definition at line 65 of file verify_velocity_mg_upwind_cavity_sdflow.py.
Referenced by main().