|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Functions | |
| build () | |
| test_colocated_open_boundary () | |
| main () | |
Variables | |
| H | |
| L | |
| NZ | |
| U | |
| RE | |
| DT | |
| STEPS | |
Gate: the COLLOCATED solver stays stable and mass-conserving at an OPEN boundary.
Why this test exists. Nothing in the registered suite exercised the collocated open boundary:
every collocated ctest is either Stokes (no advecting velocity at all) or periodic/walled. So when
the collocated advecting velocity became the projected face field (`doc/uf_advection.md`), the
first version fed the last cell's upwind flux the one face `bcCorrectOutflow` sets from GLOBAL
continuity rather than from the fluid beside it -- a positive feedback loop that took the
developing channel to max|u| = 4.5e+02 by step 50 and NaN by step 69 -- and all 161 ctests passed.
`scripts/verify_colocated_channel.py` and `scripts/verify_colocated_bfs.py` caught it, but they
are ~20-minute full-fidelity studies. This is the cheap version of the same signal: one coarse
channel, one resolution, long enough to develop.
Checks, in the order they would fail:
1. the field is finite (the failure above was a blow-up, not a bias);
2. mass in == mass out (the outflow face is the mass-balance closure -- if advection corrupts it,
this is what goes);
3. the developed profile is Poiseuille, u_max/U_mean -> 1.5;
4. the projected face field is still discretely divergence-free.
Run: OMP_NUM_THREADS=4 OMP_PROC_BIND=false PYTHONPATH=<build> \
python tests/python/test_colocated_open_boundary.py
Exit 0 pass, 1 fail, 77 skipped (no module).
| test_colocated_open_boundary.build | ( | ) |
Definition at line 33 of file test_colocated_open_boundary.py.
Referenced by test_colocated_open_boundary().
| test_colocated_open_boundary.test_colocated_open_boundary | ( | ) |
Pytest entry point (tests/python is collected by ctest as pytest too).
Definition at line 51 of file test_colocated_open_boundary.py.
References build().
| test_colocated_open_boundary.main | ( | ) |
Definition at line 74 of file test_colocated_open_boundary.py.
References main().
Referenced by main().
| test_colocated_open_boundary.H |
Definition at line 29 of file test_colocated_open_boundary.py.
| test_colocated_open_boundary.L |
Definition at line 29 of file test_colocated_open_boundary.py.
| test_colocated_open_boundary.NZ |
Definition at line 29 of file test_colocated_open_boundary.py.
| test_colocated_open_boundary.U |
Definition at line 30 of file test_colocated_open_boundary.py.
| test_colocated_open_boundary.RE |
Definition at line 30 of file test_colocated_open_boundary.py.
| test_colocated_open_boundary.DT |
Definition at line 30 of file test_colocated_open_boundary.py.
| test_colocated_open_boundary.STEPS |
Definition at line 30 of file test_colocated_open_boundary.py.