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

Functions

 make_flow (body_force, dt=None)
 
 calibrate (f=1e-3, steps=None)
 
 settle (lam, Fg=None)
 

Variables

 N = int(os.environ.get("SETTLE_N", "48"))
 
float RF = 0.12
 
float R = RF * N
 
 MU
 
 RHO_F
 
float RHO_P = 5.0
 
 DT_CAL = float(os.environ.get("SETTLE_DT_CAL", "20.0"))
 
 DT = float(os.environ.get("SETTLE_DT", "2.0"))
 
 NSTEP = int(os.environ.get("SETTLE_STEPS", "600"))
 
 NCAL = int(os.environ.get("SETTLE_CAL_STEPS", "400"))
 
 KN_R
 
 KI_I
 
 KI_R
 
float V_SPHERE = 4.0 / 3.0 * np.pi * R**3
 
int V_FLUID = N**3 - V_SPHERE
 
tuple CEN = (0.5 * N, 0.5 * N, 0.5 * N)
 
 lam
 
 _
 

Detailed Description

Layer 4 rung 3 gate: the SETTLING SPHERE, against a terminal velocity predicted from the drag
coefficient MEASURED IN THE SAME BOX.

Two runs in one periodic box, so every periodicity/blockage correction is common to both and
cancels -- no literature wall-correction fit is involved, which is the point:

  (a) CALIBRATION. Sphere held fixed; a uniform body force f drives the fluid past it. At steady
      state the box's own drag coefficient is
          lambda := F_drag / (6 pi mu R <u>)
      with <u> the superficial (whole-box volume-average) velocity. For an isolated sphere in
      unbounded Stokes flow lambda would be 1; in a periodic box at this solid fraction it is
      several, and that IS the number the settling run must reproduce.

  (b) SETTLING. The same sphere, now free, carrying a body force F_g, with a compensating fluid
      body force -F_g / V_fluid so total momentum is conserved and a steady state exists (without
      it the whole periodic system accelerates forever and there is no terminal velocity to find).
      At terminal state the hydrodynamic force balances F_g, so the prediction is
          |<u> - U_particle| = F_g / (6 pi mu R lambda).

The dem solver integrates the particle (one grain, no contacts) exactly as it would in a real
resolved bed, so this gates the whole loop: scene bridge -> geometry rebuild -> flow step ->
traction integral -> dem sub-steps -> new state.

Function Documentation

◆ make_flow()

settling_gate.make_flow (   body_force,
  dt = None 
)

Definition at line 53 of file settling_gate.py.

Referenced by calibrate(), and settle().

◆ calibrate()

settling_gate.calibrate (   f = 1e-3,
  steps = None 
)

Definition at line 73 of file settling_gate.py.

References make_flow().

◆ settle()

settling_gate.settle (   lam,
  Fg = None 
)

Definition at line 98 of file settling_gate.py.

References make_flow(), and mean().

Variable Documentation

◆ N

settling_gate.N = int(os.environ.get("SETTLE_N", "48"))

Definition at line 31 of file settling_gate.py.

◆ RF

float settling_gate.RF = 0.12

Definition at line 32 of file settling_gate.py.

◆ R

float settling_gate.R = RF * N

Definition at line 33 of file settling_gate.py.

◆ MU

settling_gate.MU

Definition at line 34 of file settling_gate.py.

◆ RHO_F

settling_gate.RHO_F

Definition at line 34 of file settling_gate.py.

◆ RHO_P

float settling_gate.RHO_P = 5.0

Definition at line 35 of file settling_gate.py.

◆ DT_CAL

settling_gate.DT_CAL = float(os.environ.get("SETTLE_DT_CAL", "20.0"))

Definition at line 43 of file settling_gate.py.

◆ DT

settling_gate.DT = float(os.environ.get("SETTLE_DT", "2.0"))

Definition at line 44 of file settling_gate.py.

◆ NSTEP

settling_gate.NSTEP = int(os.environ.get("SETTLE_STEPS", "600"))

Definition at line 45 of file settling_gate.py.

◆ NCAL

settling_gate.NCAL = int(os.environ.get("SETTLE_CAL_STEPS", "400"))

Definition at line 46 of file settling_gate.py.

◆ KN_R

settling_gate.KN_R

Definition at line 47 of file settling_gate.py.

◆ KI_I

settling_gate.KI_I

Definition at line 47 of file settling_gate.py.

◆ KI_R

settling_gate.KI_R

Definition at line 47 of file settling_gate.py.

◆ V_SPHERE

float settling_gate.V_SPHERE = 4.0 / 3.0 * np.pi * R**3

Definition at line 48 of file settling_gate.py.

◆ V_FLUID

int settling_gate.V_FLUID = N**3 - V_SPHERE

Definition at line 49 of file settling_gate.py.

◆ CEN

tuple settling_gate.CEN = (0.5 * N, 0.5 * N, 0.5 * N)

Definition at line 50 of file settling_gate.py.

◆ lam

settling_gate.lam

Definition at line 168 of file settling_gate.py.

◆ _

settling_gate._
protected

Definition at line 168 of file settling_gate.py.