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

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
 

Detailed Description

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]

Function Documentation

◆ to_host()

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().

◆ maxvel()

vof_open_boundaries.maxvel (   s)

Definition at line 79 of file vof_open_boundaries.py.

◆ gate_budget()

vof_open_boundaries.gate_budget ( )

Definition at line 84 of file vof_open_boundaries.py.

◆ gate_nusselt()

vof_open_boundaries.gate_nusselt (   ratio = 100,
  steps = None,
  outflow_rho = True 
)

Definition at line 158 of file vof_open_boundaries.py.

◆ gate_pool()

vof_open_boundaries.gate_pool ( )

Definition at line 265 of file vof_open_boundaries.py.

References to_host().

Variable Documentation

◆ QUICK

str vof_open_boundaries.QUICK = "--quick" in sys.argv

Definition at line 38 of file vof_open_boundaries.py.

◆ GATES

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.

◆ NUSSELT

dict vof_open_boundaries.NUSSELT
Initial value:
1= {
2 100: dict(rho_l=100.0, rho_g=1.0, mu_l=50.0, mu_g=1.0, dt=0.5, mom=True, cap=400),
3 1000: dict(rho_l=100.0, rho_g=0.1, mu_l=50.0, mu_g=1.0, dt=0.25, mom=True, cap=2000),
4}

Definition at line 152 of file vof_open_boundaries.py.

◆ todo

list vof_open_boundaries.todo = GATES or ["budget", "nusselt", "pool"]

Definition at line 347 of file vof_open_boundaries.py.

◆ results

dict vof_open_boundaries.results = {}

Definition at line 348 of file vof_open_boundaries.py.

◆ ablation

str vof_open_boundaries.ablation = "--no-outflow-rho" in sys.argv

Definition at line 352 of file vof_open_boundaries.py.

◆ rows

list vof_open_boundaries.rows = []

Definition at line 353 of file vof_open_boundaries.py.

◆ ok

vof_open_boundaries.ok

Definition at line 355 of file vof_open_boundaries.py.

◆ dq

vof_open_boundaries.dq

Definition at line 355 of file vof_open_boundaries.py.

◆ dd

vof_open_boundaries.dd

Definition at line 355 of file vof_open_boundaries.py.

◆ st

vof_open_boundaries.st

Definition at line 355 of file vof_open_boundaries.py.

◆ it

vof_open_boundaries.it

Definition at line 355 of file vof_open_boundaries.py.

◆ r

vof_open_boundaries.r

Definition at line 355 of file vof_open_boundaries.py.

◆ outflow_rho

vof_open_boundaries.outflow_rho

Definition at line 355 of file vof_open_boundaries.py.