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

Functions

 arg (name, default, cast=float)
 
 solver (n, seeds, blocks=True, csf=True)
 
 counters (s)
 
 umax (s)
 
 run (s, steps, dt=None, every=50, tag="", safety=None)
 
 gate_static ()
 
 gate_shear ()
 

Variables

list GATES
 
 R = arg("--R", 5.0)
 
 RHO_L
 
 RHO_G
 
 MU = arg("--mu", 0.5333)
 
 MU_G = arg("--mu-g", MU)
 
str TENT = "--tent" in sys.argv
 
str REPICK = "--repick" in sys.argv
 
 SIGMA = arg("--sigma", 320.0)
 
 STEPS = arg("--steps", 400, int)
 
dict RUNSTAT = {}
 
dict ALL = {"static": gate_static, "shear": gate_shear}
 

Detailed Description

Overlapping markers in the block VoF container: what actually goes wrong when two bubbles'
markers interpenetrate (the channel_18 blow-up, WO-W3 section 7).

    static    two spheres at rest, zero gravity, centre distance d swept from separated to
              overlapping by several cells.  If the summed per-marker CSF were NOT balanced
              against the union-colour projection (the W3 hypothesis), the parasitic current
              would jump at d < 2R.  If it stays at the single-bubble level, the static balance
              holds and the blow-up has to be dynamic.
    squeeze   the same pair driven into each other by opposite body forces on the two markers'
              regions -- the controlled version of a turbulent collision.

The case numbers mirror channel_18 in cell units: D = 10 cells, rho_g/rho_l = 0.1,
mu_g = mu_l, sigma = 320 (S^3 * 5e-3 at S = 40 cells per unit length).

Usage:  PYTHONPATH=<build> python tests/study/vof_blocks_overlap.py [static|squeeze ...]

Function Documentation

◆ arg()

vof_blocks_overlap.arg (   name,
  default,
  cast = float 
)

Definition at line 34 of file vof_blocks_overlap.py.

Referenced by gate_shear(), and gate_static().

◆ solver()

vof_blocks_overlap.solver (   n,
  seeds,
  blocks = True,
  csf = True 
)

Definition at line 50 of file vof_blocks_overlap.py.

◆ counters()

vof_blocks_overlap.counters (   s)
The overlap-design counters: clip (block cascade), debris census, overlap census.

Definition at line 70 of file vof_blocks_overlap.py.

Referenced by gate_shear(), and run().

◆ umax()

vof_blocks_overlap.umax (   s)

Definition at line 85 of file vof_blocks_overlap.py.

Referenced by gate_shear(), and run().

◆ run()

vof_blocks_overlap.run (   s,
  steps,
  dt = None,
  every = 50,
  tag = "",
  safety = None 
)

Definition at line 92 of file vof_blocks_overlap.py.

References counters(), and umax().

Referenced by gate_static().

◆ gate_static()

vof_blocks_overlap.gate_static ( )

Definition at line 124 of file vof_blocks_overlap.py.

References arg(), and run().

◆ gate_shear()

vof_blocks_overlap.gate_shear ( )
Two bubbles in a Couette flow, offset in y by b < D so they collide glancingly -- the
deterministic stand-in for the channel's turbulent collisions.  Per step: max|u|, union max C,
marker overlap (sum V_k - sum C_union), and the step at which anything goes non-finite.

Definition at line 163 of file vof_blocks_overlap.py.

References arg(), counters(), and umax().

Variable Documentation

◆ GATES

list vof_blocks_overlap.GATES
Initial value:
1= [a for i, a in enumerate(sys.argv[1:], 1)
2 if not a.startswith("--") and not sys.argv[i - 1].startswith("--")] or ["static"]

Definition at line 30 of file vof_blocks_overlap.py.

◆ R

vof_blocks_overlap.R = arg("--R", 5.0)

Definition at line 40 of file vof_blocks_overlap.py.

◆ RHO_L

vof_blocks_overlap.RHO_L

Definition at line 41 of file vof_blocks_overlap.py.

◆ RHO_G

vof_blocks_overlap.RHO_G

Definition at line 41 of file vof_blocks_overlap.py.

◆ MU

vof_blocks_overlap.MU = arg("--mu", 0.5333)

Definition at line 42 of file vof_blocks_overlap.py.

◆ MU_G

vof_blocks_overlap.MU_G = arg("--mu-g", MU)

Definition at line 43 of file vof_blocks_overlap.py.

◆ TENT

str vof_blocks_overlap.TENT = "--tent" in sys.argv

Definition at line 44 of file vof_blocks_overlap.py.

◆ REPICK

str vof_blocks_overlap.REPICK = "--repick" in sys.argv

Definition at line 45 of file vof_blocks_overlap.py.

◆ SIGMA

vof_blocks_overlap.SIGMA = arg("--sigma", 320.0)

Definition at line 46 of file vof_blocks_overlap.py.

◆ STEPS

vof_blocks_overlap.STEPS = arg("--steps", 400, int)

Definition at line 47 of file vof_blocks_overlap.py.

◆ RUNSTAT

dict vof_blocks_overlap.RUNSTAT = {}

Definition at line 89 of file vof_blocks_overlap.py.

◆ ALL

dict vof_blocks_overlap.ALL = {"static": gate_static, "shear": gate_shear}

Definition at line 269 of file vof_blocks_overlap.py.