|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
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} |
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 ...]
| 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().
| vof_blocks_overlap.solver | ( | n, | |
| seeds, | |||
blocks = True, |
|||
csf = True |
|||
| ) |
Definition at line 50 of file vof_blocks_overlap.py.
| 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().
| vof_blocks_overlap.umax | ( | s | ) |
Definition at line 85 of file vof_blocks_overlap.py.
Referenced by gate_shear(), and 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().
| vof_blocks_overlap.gate_static | ( | ) |
Definition at line 124 of file vof_blocks_overlap.py.
| 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().
| list vof_blocks_overlap.GATES |
Definition at line 30 of file vof_blocks_overlap.py.
| vof_blocks_overlap.R = arg("--R", 5.0) |
Definition at line 40 of file vof_blocks_overlap.py.
| vof_blocks_overlap.RHO_L |
Definition at line 41 of file vof_blocks_overlap.py.
| vof_blocks_overlap.RHO_G |
Definition at line 41 of file vof_blocks_overlap.py.
| vof_blocks_overlap.MU = arg("--mu", 0.5333) |
Definition at line 42 of file vof_blocks_overlap.py.
Definition at line 43 of file vof_blocks_overlap.py.
| str vof_blocks_overlap.TENT = "--tent" in sys.argv |
Definition at line 44 of file vof_blocks_overlap.py.
| str vof_blocks_overlap.REPICK = "--repick" in sys.argv |
Definition at line 45 of file vof_blocks_overlap.py.
| vof_blocks_overlap.SIGMA = arg("--sigma", 320.0) |
Definition at line 46 of file vof_blocks_overlap.py.
| vof_blocks_overlap.STEPS = arg("--steps", 400, int) |
Definition at line 47 of file vof_blocks_overlap.py.
| dict vof_blocks_overlap.RUNSTAT = {} |
Definition at line 89 of file vof_blocks_overlap.py.
| dict vof_blocks_overlap.ALL = {"static": gate_static, "shear": gate_shear} |
Definition at line 269 of file vof_blocks_overlap.py.