flow 0.4.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
tgv_nosolid_control Namespace Reference

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
 

Detailed Description

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

Function Documentation

◆ run()

tgv_nosolid_control.run (   kind,
  N 
)

Definition at line 29 of file tgv_nosolid_control.py.

Variable Documentation

◆ U0

tgv_nosolid_control.U0

Definition at line 26 of file tgv_nosolid_control.py.

◆ RE

tgv_nosolid_control.RE

Definition at line 26 of file tgv_nosolid_control.py.

◆ CFL

tgv_nosolid_control.CFL

Definition at line 26 of file tgv_nosolid_control.py.

◆ T_TRANSITS

tgv_nosolid_control.T_TRANSITS

Definition at line 26 of file tgv_nosolid_control.py.

◆ NZ

tgv_nosolid_control.NZ

Definition at line 26 of file tgv_nosolid_control.py.

◆ Ns

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.

◆ prev

tuple tgv_nosolid_control.prev = None

Definition at line 73 of file tgv_nosolid_control.py.

◆ es

tgv_nosolid_control.es

Definition at line 75 of file tgv_nosolid_control.py.

◆ Us

tgv_nosolid_control.Us

Definition at line 75 of file tgv_nosolid_control.py.

◆ F

tgv_nosolid_control.F

Definition at line 75 of file tgv_nosolid_control.py.

◆ ec

tgv_nosolid_control.ec

Definition at line 76 of file tgv_nosolid_control.py.

◆ Uc

tgv_nosolid_control.Uc

Definition at line 76 of file tgv_nosolid_control.py.

◆ _

tgv_nosolid_control._
protected

Definition at line 76 of file tgv_nosolid_control.py.

◆ d

tgv_nosolid_control.d = float(np.sqrt(np.mean((Uc - Us) ** 2)) / (U0 * F))

Definition at line 77 of file tgv_nosolid_control.py.

◆ o

list tgv_nosolid_control.o = ["", "", ""]

Definition at line 78 of file tgv_nosolid_control.py.

◆ lr

tgv_nosolid_control.lr = np.log(N / prev[0])

Definition at line 80 of file tgv_nosolid_control.py.

◆ flush

tgv_nosolid_control.flush

Definition at line 84 of file tgv_nosolid_control.py.