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

Functions

 abraham_cd (re)
 
 run (duct)
 

Variables

int DH = float(sys.argv[1]) if len(sys.argv) > 1 else 8.0
 
int RE = float(sys.argv[2]) if len(sys.argv) > 2 else 1.5
 
int STEPS = int(sys.argv[3]) if len(sys.argv) > 3 else 800
 
float U = 0.02
 
float NU = U * DH / RE
 
float DT = 3.2 if RE > 0.5 else 8.0
 
 KI_I
 
 KI_R
 
float OFF = 0.3
 
float WALL = 4.3
 
 L = int(np.ceil((100 / 15 * DH + 2 * WALL) / 8) * 8)
 
tuple WX = (L - 100 / 15 * DH) / 2
 
 NY = int(np.ceil(12 * DH / 8) * 8)
 
 fP
 
 FP
 
 vP
 
 _
 
 fD
 
 FD
 
 vD
 
 u = vm[-1][1]
 
int re = u * DH / NU
 
 cd = f / (0.5 * u ** 2 * np.pi * (DH / 2) ** 2)
 
 K = fD / fP * (vP[-1][1] / vD[-1][1])
 

Detailed Description

Confinement at finite Re, static twin of the ten Cate tank.

Lab frame: tank at rest, fluid at rest, sphere falls at -U. Sphere frame: sphere FIXED, duct walls
translate at +U, far fluid moves at +U -- plug flow, zero wall shear, exactly the quiescent lab
state. No moving geometry (the duct is y-invariant, so its translation is a pure wall-velocity
datum), so the finite-Re Galilean gate's clean bill applies and what is measured here is the
solver's confinement physics alone.

K(Re) = Cd_duct(Re) / Cd_periodic(Re) is the confinement factor. Creeping expectation for a sphere
on the axis of a square duct with d/W = 0.15 (Faxen): K ~ 1.39. At Re = 1.5 with the wall at
3.3 d >> nu/U = 0.67 d the Stokeslet is screened and the experiment implies K ~ 1.05-1.15. A solver
that returns ~1.39 at Re = 1.5 is not screening.

Usage: PYTHONPATH=<flow build> python duct_re_gate.py [DH=8] [Re=1.5] [STEPS=800]

Function Documentation

◆ abraham_cd()

duct_re_gate.abraham_cd (   re)

Definition at line 35 of file duct_re_gate.py.

Referenced by run().

◆ run()

duct_re_gate.run (   duct)

Definition at line 39 of file duct_re_gate.py.

References abraham_cd(), and mean().

Variable Documentation

◆ DH

int duct_re_gate.DH = float(sys.argv[1]) if len(sys.argv) > 1 else 8.0

Definition at line 21 of file duct_re_gate.py.

◆ RE

int duct_re_gate.RE = float(sys.argv[2]) if len(sys.argv) > 2 else 1.5

Definition at line 22 of file duct_re_gate.py.

◆ STEPS

int duct_re_gate.STEPS = int(sys.argv[3]) if len(sys.argv) > 3 else 800

Definition at line 23 of file duct_re_gate.py.

◆ U

float duct_re_gate.U = 0.02

Definition at line 24 of file duct_re_gate.py.

◆ NU

float duct_re_gate.NU = U * DH / RE

Definition at line 25 of file duct_re_gate.py.

◆ DT

float duct_re_gate.DT = 3.2 if RE > 0.5 else 8.0

Definition at line 26 of file duct_re_gate.py.

◆ KI_I

duct_re_gate.KI_I

Definition at line 27 of file duct_re_gate.py.

◆ KI_R

duct_re_gate.KI_R

Definition at line 27 of file duct_re_gate.py.

◆ OFF

float duct_re_gate.OFF = 0.3

Definition at line 28 of file duct_re_gate.py.

◆ WALL

float duct_re_gate.WALL = 4.3

Definition at line 29 of file duct_re_gate.py.

◆ L

duct_re_gate.L = int(np.ceil((100 / 15 * DH + 2 * WALL) / 8) * 8)

Definition at line 30 of file duct_re_gate.py.

◆ WX

tuple duct_re_gate.WX = (L - 100 / 15 * DH) / 2

Definition at line 31 of file duct_re_gate.py.

◆ NY

duct_re_gate.NY = int(np.ceil(12 * DH / 8) * 8)

Definition at line 32 of file duct_re_gate.py.

◆ fP

duct_re_gate.fP

Definition at line 88 of file duct_re_gate.py.

◆ FP

duct_re_gate.FP

Definition at line 88 of file duct_re_gate.py.

◆ vP

duct_re_gate.vP

Definition at line 88 of file duct_re_gate.py.

◆ _

duct_re_gate._
protected

Definition at line 88 of file duct_re_gate.py.

◆ fD

duct_re_gate.fD

Definition at line 89 of file duct_re_gate.py.

◆ FD

duct_re_gate.FD

Definition at line 89 of file duct_re_gate.py.

◆ vD

duct_re_gate.vD

Definition at line 89 of file duct_re_gate.py.

◆ u

duct_re_gate.u = vm[-1][1]

Definition at line 91 of file duct_re_gate.py.

◆ re

int duct_re_gate.re = u * DH / NU

Definition at line 92 of file duct_re_gate.py.

◆ cd

duct_re_gate.cd = f / (0.5 * u ** 2 * np.pi * (DH / 2) ** 2)

Definition at line 93 of file duct_re_gate.py.

◆ K

duct_re_gate.K = fD / fP * (vP[-1][1] / vD[-1][1])

Definition at line 98 of file duct_re_gate.py.