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

Functions

 _collocated_mode (s, mode)
 
 lattice_sdf (N, phi=0.125)
 
 drag (N, mode, mu=0.1, F=1e-3, dt=400.0, min_steps=500, max_steps=3500, dtol=5e-5)
 

Variables

float kref = 4.2920
 
 flush
 
 p0 = None
 
 K0
 
 st0
 
 d0
 
 s0
 
 K5
 
 st5
 
 d5
 
 s5
 
int e0 = 100 * (K5 - kref) / kref
 
 o0 = np.log(abs(p0) / abs(e0)) / np.log(N / pN) if p0 else float("nan")
 
 o5 = np.log(abs(p5) / abs(e5)) / np.log(N / pN) if p5 else float("nan")
 
 p5
 
 pN
 

Detailed Description

Z&H sphere-array drag A/B: collocated EMBED momentum (setFaceInterp(5), Basilisk embed.h true-normal
dirichlet_gradient wall drag) vs mode 0. ROBUST convergence: run past a min-step floor until the drag
drifts < 5e-5 over 200 steps (avoids false early plateaus), report K + the residual drift so convergence
is visible. Incremental-rotational pressure + warm-start. Success: order -> ~2, error below mode 0.

Function Documentation

◆ _collocated_mode()

collocated_zh_embed._collocated_mode (   s,
  mode 
)
protected
Select a collocated scheme by the integer face-interp mode this script was written with:
0/7/9 are the public strings ('plain' / 'embed' / 'gauge-exact'), 5/6 the diagnostics rungs,
and every other number was deleted at 1.0.0 (the call then raises).

Definition at line 11 of file collocated_zh_embed.py.

Referenced by drag().

◆ lattice_sdf()

collocated_zh_embed.lattice_sdf (   N,
  phi = 0.125 
)

Definition at line 21 of file collocated_zh_embed.py.

Referenced by drag().

◆ drag()

collocated_zh_embed.drag (   N,
  mode,
  mu = 0.1,
  F = 1e-3,
  dt = 400.0,
  min_steps = 500,
  max_steps = 3500,
  dtol = 5e-5 
)

Definition at line 29 of file collocated_zh_embed.py.

References _collocated_mode(), lattice_sdf(), and mean().

Variable Documentation

◆ kref

float collocated_zh_embed.kref = 4.2920

Definition at line 46 of file collocated_zh_embed.py.

◆ flush

collocated_zh_embed.flush

Definition at line 47 of file collocated_zh_embed.py.

◆ p0

collocated_zh_embed.p0 = None

Definition at line 50 of file collocated_zh_embed.py.

◆ K0

collocated_zh_embed.K0

Definition at line 52 of file collocated_zh_embed.py.

◆ st0

collocated_zh_embed.st0

Definition at line 52 of file collocated_zh_embed.py.

◆ d0

collocated_zh_embed.d0

Definition at line 52 of file collocated_zh_embed.py.

◆ s0

collocated_zh_embed.s0

Definition at line 52 of file collocated_zh_embed.py.

◆ K5

collocated_zh_embed.K5

Definition at line 52 of file collocated_zh_embed.py.

◆ st5

collocated_zh_embed.st5

Definition at line 52 of file collocated_zh_embed.py.

◆ d5

collocated_zh_embed.d5

Definition at line 52 of file collocated_zh_embed.py.

◆ s5

collocated_zh_embed.s5

Definition at line 52 of file collocated_zh_embed.py.

◆ e0

int collocated_zh_embed.e0 = 100 * (K5 - kref) / kref

Definition at line 53 of file collocated_zh_embed.py.

◆ o0

collocated_zh_embed.o0 = np.log(abs(p0) / abs(e0)) / np.log(N / pN) if p0 else float("nan")

Definition at line 54 of file collocated_zh_embed.py.

◆ o5

collocated_zh_embed.o5 = np.log(abs(p5) / abs(e5)) / np.log(N / pN) if p5 else float("nan")

Definition at line 55 of file collocated_zh_embed.py.

◆ p5

collocated_zh_embed.p5

Definition at line 58 of file collocated_zh_embed.py.

◆ pN

collocated_zh_embed.pN

Definition at line 58 of file collocated_zh_embed.py.