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

Functions

 abraham_cd (re)
 
 make (y0)
 
 run (moving)
 

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 N = int(sys.argv[3]) if len(sys.argv) > 3 else 96
 
int STEPS = int(sys.argv[4]) if len(sys.argv) > 4 else 800
 
str ADV = "1"
 
float U = 0.02
 
float NU = U * DH / RE
 
float DT = 3.2
 
 KI_I
 
 KI_R
 
float OFF = 0.3
 
float F_EST = abraham_cd(RE) * 0.5 * U ** 2 * np.pi * (DH / 2) ** 2
 
float B = F_EST / N ** 3
 
 FS
 
 vS
 
 bS
 
 FM
 
 vM
 
 bM
 
int n4 = STEPS * 3 // 4
 
 fS
 
 fM
 
 uS = vS[-1][1] / (1.0 - np.pi / 6 * DH ** 3 / N ** 3)
 
float uM = U + vM[-1][1] / (1.0 - np.pi / 6 * DH ** 3 / N ** 3)
 
int re = u * DH / NU
 
 cd = f / (0.5 * u ** 2 * np.pi * (DH / 2) ** 2)
 
 gap = abs(fM / fS - 1.0)
 

Detailed Description

Finite-Re Galilean gate: a sphere FIXED in a uniform stream vs the SAME sphere TOWED through
fluid at rest -- same box, same Re, same dt, same impulsive start, same body force. In a periodic
box a uniform translation is an exact symmetry of the Navier-Stokes equations, so the two force
histories must agree to discretisation error at EVERY step. The fixed case never exercises the
moving-geometry machinery (fresh cells, wall-velocity advection inputs, the time term at a moving
cut wall, rebuild per step); the towed case exercises all of it. Any gap is a moving-geometry
defect, isolated from resolution and from confinement.

Usage: PYTHONPATH=<flow build> python galilean_re_gate.py [DH=8] [Re=1.5] [N=96] [STEPS=800]
Env:   GAL_ADV=0 turns advection off (the Stokes limit, where the old gate lives).

Function Documentation

◆ abraham_cd()

galilean_re_gate.abraham_cd (   re)

Definition at line 30 of file galilean_re_gate.py.

◆ make()

galilean_re_gate.make (   y0)

Definition at line 34 of file galilean_re_gate.py.

Referenced by run().

◆ run()

galilean_re_gate.run (   moving)

Definition at line 58 of file galilean_re_gate.py.

References make(), and mean().

Variable Documentation

◆ DH

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

Definition at line 18 of file galilean_re_gate.py.

◆ RE

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

Definition at line 19 of file galilean_re_gate.py.

◆ N

int galilean_re_gate.N = int(sys.argv[3]) if len(sys.argv) > 3 else 96

Definition at line 20 of file galilean_re_gate.py.

◆ STEPS

int galilean_re_gate.STEPS = int(sys.argv[4]) if len(sys.argv) > 4 else 800

Definition at line 21 of file galilean_re_gate.py.

◆ ADV

str galilean_re_gate.ADV = "1"

Definition at line 22 of file galilean_re_gate.py.

◆ U

float galilean_re_gate.U = 0.02

Definition at line 23 of file galilean_re_gate.py.

◆ NU

float galilean_re_gate.NU = U * DH / RE

Definition at line 24 of file galilean_re_gate.py.

◆ DT

float galilean_re_gate.DT = 3.2

Definition at line 25 of file galilean_re_gate.py.

◆ KI_I

galilean_re_gate.KI_I

Definition at line 26 of file galilean_re_gate.py.

◆ KI_R

galilean_re_gate.KI_R

Definition at line 26 of file galilean_re_gate.py.

◆ OFF

float galilean_re_gate.OFF = 0.3

Definition at line 27 of file galilean_re_gate.py.

◆ F_EST

float galilean_re_gate.F_EST = abraham_cd(RE) * 0.5 * U ** 2 * np.pi * (DH / 2) ** 2

Definition at line 54 of file galilean_re_gate.py.

◆ B

float galilean_re_gate.B = F_EST / N ** 3

Definition at line 55 of file galilean_re_gate.py.

◆ FS

galilean_re_gate.FS

Definition at line 85 of file galilean_re_gate.py.

◆ vS

galilean_re_gate.vS

Definition at line 85 of file galilean_re_gate.py.

◆ bS

galilean_re_gate.bS

Definition at line 85 of file galilean_re_gate.py.

◆ FM

galilean_re_gate.FM

Definition at line 86 of file galilean_re_gate.py.

◆ vM

galilean_re_gate.vM

Definition at line 86 of file galilean_re_gate.py.

◆ bM

galilean_re_gate.bM

Definition at line 86 of file galilean_re_gate.py.

◆ n4

int galilean_re_gate.n4 = STEPS * 3 // 4

Definition at line 90 of file galilean_re_gate.py.

◆ fS

galilean_re_gate.fS

Definition at line 91 of file galilean_re_gate.py.

◆ fM

galilean_re_gate.fM

Definition at line 91 of file galilean_re_gate.py.

◆ uS

galilean_re_gate.uS = vS[-1][1] / (1.0 - np.pi / 6 * DH ** 3 / N ** 3)

Definition at line 92 of file galilean_re_gate.py.

◆ uM

float galilean_re_gate.uM = U + vM[-1][1] / (1.0 - np.pi / 6 * DH ** 3 / N ** 3)

Definition at line 93 of file galilean_re_gate.py.

◆ re

int galilean_re_gate.re = u * DH / NU

Definition at line 99 of file galilean_re_gate.py.

◆ cd

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

Definition at line 100 of file galilean_re_gate.py.

◆ gap

galilean_re_gate.gap = abs(fM / fS - 1.0)

Definition at line 105 of file galilean_re_gate.py.