|
flow 0.4.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Functions | |
| run (kind, N) | |
Variables | |
| U0 | |
| RE | |
| CFL | |
| T_TRANSITS | |
| NZ | |
| list | Ns = [int(x) for x in (sys.argv[1:] or [16, 32, 64])] |
| prev = None | |
| es | |
| Us | |
| F | |
| ec | |
| Uc | |
| _ | |
| d = float(np.sqrt(np.mean((Uc - Us) ** 2)) / (U0 * F)) | |
| list | o = ["", "", ""] |
| lr = np.log(N / prev[0]) | |
| flush | |
No-solid periodic control (isolation ladder rung 0): 2D Taylor-Green on an all-fluid domain. With no solid cells every collocated cut-cell device degenerates to its textbook form (gpCenterGrad -> central difference, centerToFace -> plain 1/2-1/2, openness == 1), so staggered-vs-collocated here tests ONLY the core scheme pair (exact vs ABC approximate projection + advection). Expected: both 2nd order in space, col-stag field difference converging ~2nd order. If this control FAILS the whole cut-cell diagnosis is re-scoped. 2D TGV is an exact NS solution: u = U0 sin(kx)cos(ky) F(t), v = -U0 cos(kx)sin(ky) F(t), F = exp(-2 nu k^2 t). Fixed Re = U0*N/nu and fixed CFL per rung; measured at t* = T_TRANSITS tile transits. Backward-Euler time error is O(dt) and shared by both solvers; the col-stag difference cancels most of it, so ITS order is the clean spatial readout. SDFLOW_BUILD=build_omp3 python tests/study/tgv_nosolid_control.py [N ...] # default 16 32 64
| tgv_nosolid_control.run | ( | kind, | |
| N | |||
| ) |
Definition at line 29 of file tgv_nosolid_control.py.
| tgv_nosolid_control.U0 |
Definition at line 26 of file tgv_nosolid_control.py.
| tgv_nosolid_control.RE |
Definition at line 26 of file tgv_nosolid_control.py.
| tgv_nosolid_control.CFL |
Definition at line 26 of file tgv_nosolid_control.py.
| tgv_nosolid_control.T_TRANSITS |
Definition at line 26 of file tgv_nosolid_control.py.
| tgv_nosolid_control.NZ |
Definition at line 26 of file tgv_nosolid_control.py.
| list tgv_nosolid_control.Ns = [int(x) for x in (sys.argv[1:] or [16, 32, 64])] |
Definition at line 70 of file tgv_nosolid_control.py.
| tuple tgv_nosolid_control.prev = None |
Definition at line 73 of file tgv_nosolid_control.py.
| tgv_nosolid_control.es |
Definition at line 75 of file tgv_nosolid_control.py.
| tgv_nosolid_control.Us |
Definition at line 75 of file tgv_nosolid_control.py.
| tgv_nosolid_control.F |
Definition at line 75 of file tgv_nosolid_control.py.
| tgv_nosolid_control.ec |
Definition at line 76 of file tgv_nosolid_control.py.
| tgv_nosolid_control.Uc |
Definition at line 76 of file tgv_nosolid_control.py.
|
protected |
Definition at line 76 of file tgv_nosolid_control.py.
Definition at line 77 of file tgv_nosolid_control.py.
| list tgv_nosolid_control.o = ["", "", ""] |
Definition at line 78 of file tgv_nosolid_control.py.
Definition at line 80 of file tgv_nosolid_control.py.
| tgv_nosolid_control.flush |
Definition at line 84 of file tgv_nosolid_control.py.