|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Classes | |
| class | Solve |
Functions | |
| to_host (view) | |
| maxvel (s) | |
| gate_budget () | |
| gate_nusselt (ratio=100, steps=None, outflow_rho=True) | |
| gate_pool () | |
Variables | |
| str | QUICK = "--quick" in sys.argv |
| list | GATES = [a for a in sys.argv[1:] if not a.startswith("--")] |
| dict | NUSSELT |
| list | todo = GATES or ["budget", "nusselt", "pool"] |
| dict | results = {} |
| str | ablation = "--no-outflow-rho" in sys.argv |
| list | rows = [] |
| ok | |
| dq | |
| dd | |
| st | |
| it | |
| r | |
| outflow_rho | |
VoF rung V-BC (WO-R) — two-phase open boundaries: the physics battery.
The *algebraic* gates of this rung (the out-of-domain mask, the bitwise inertness of the boundary
flux rule, the backflow rule, the inflow property ghost, the variable-density outflow correction
and the exact colour budget under a prescribed divergence-free field) live in
`tests/kokkos/test_vof_bc.cpp` and run in the `vof_bc` ctest. What is here is the part that needs a
COUPLED solve and a number somebody else published:
budget WO-R gate G1, COUPLED: the same slug injection driven by step(), so the advecting
field is the projection's own output and the budget's floor is the projection's
divergence residual rather than zero. Records the pressure iteration count.
nusselt WO-R gate G2: a falling liquid film fed by a prescribed Nusselt inlet profile,
against the analytical flow rate. Run at density ratio 100 (V2a regime) and at
1000 with momentum consistency. This is the gate on the 1/rho_f outflow
correction: `--no-outflow-rho` restores the pre-WO-R correction and the
script reports BOTH columns.
pool WO-R gate G3: gas blown over a resting liquid pool at ratio 1000. Gates the pool's
volume, the velocity it is allowed to pick up, and the inflow ghost DENSITY.
Units: cell size 1, time in seconds, exactly as `vof_surface_tension.py`; the cases here are
stated directly in solver units because the reference (Nusselt) is a similarity solution and only
the dimensionless groups matter.
EVERY gate that reports a functional records the max pressure-iteration count against its cap and
marks a capped run INVALID rather than merely flagging it (shared preamble rule 3b).
Usage: PYTHONPATH=<build> python tests/study/vof_open_boundaries.py [gate ...] [--quick]
| vof_open_boundaries.to_host | ( | view | ) |
`field_view` returns the PADDED buffer — NumPy on a host build, DLPack on a device one.
Definition at line 67 of file vof_open_boundaries.py.
Referenced by gate_pool().
| vof_open_boundaries.maxvel | ( | s | ) |
Definition at line 79 of file vof_open_boundaries.py.
| vof_open_boundaries.gate_budget | ( | ) |
Definition at line 84 of file vof_open_boundaries.py.
| vof_open_boundaries.gate_nusselt | ( | ratio = 100, |
|
steps = None, |
|||
outflow_rho = True |
|||
| ) |
Definition at line 158 of file vof_open_boundaries.py.
| vof_open_boundaries.gate_pool | ( | ) |
Definition at line 265 of file vof_open_boundaries.py.
References to_host().
| str vof_open_boundaries.QUICK = "--quick" in sys.argv |
Definition at line 38 of file vof_open_boundaries.py.
| list vof_open_boundaries.GATES = [a for a in sys.argv[1:] if not a.startswith("--")] |
Definition at line 39 of file vof_open_boundaries.py.
| dict vof_open_boundaries.NUSSELT |
Definition at line 152 of file vof_open_boundaries.py.
| list vof_open_boundaries.todo = GATES or ["budget", "nusselt", "pool"] |
Definition at line 347 of file vof_open_boundaries.py.
| dict vof_open_boundaries.results = {} |
Definition at line 348 of file vof_open_boundaries.py.
| str vof_open_boundaries.ablation = "--no-outflow-rho" in sys.argv |
Definition at line 352 of file vof_open_boundaries.py.
| list vof_open_boundaries.rows = [] |
Definition at line 353 of file vof_open_boundaries.py.
| vof_open_boundaries.ok |
Definition at line 355 of file vof_open_boundaries.py.
| vof_open_boundaries.dq |
Definition at line 355 of file vof_open_boundaries.py.
| vof_open_boundaries.dd |
Definition at line 355 of file vof_open_boundaries.py.
| vof_open_boundaries.st |
Definition at line 355 of file vof_open_boundaries.py.
| vof_open_boundaries.it |
Definition at line 355 of file vof_open_boundaries.py.
| vof_open_boundaries.r |
Definition at line 355 of file vof_open_boundaries.py.
| vof_open_boundaries.outflow_rho |
Definition at line 355 of file vof_open_boundaries.py.