|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Functions | |
| make_scene (cen, R) | |
| build (N, moving, V) | |
| bench (N, nstep=12) | |
| march (N=48, nstep=40) | |
Variables | |
| KN_R | |
| KI_I | |
| KI_R | |
| int | what = sys.argv[1] if len(sys.argv) > 1 else "all" |
Layer 3 rung 4: the MOVING-STEP DRIVER -- cost, and a march that actually moves.
Two things, both measured rather than modelled:
1. COST. ms/step for a static step vs a moving step (step + rebuild_geometry), at 64^3 and
128^3. v1 rebuilds the whole geometry every step by design: the Layer-3 input measurement is
that a 128^3 rebuild is ~65% momentum/IBM stencils and ~35% pressure/MG with scene sampling in
the noise, so an incremental path has to attack BOTH sides and is deferred.
2. THAT IT MARCHES. A sphere translating through initially quiescent fluid: the body displaces by
the distance its velocity implies, the fluid it drags acquires momentum in the direction of
travel, and the projection keeps max|div| at solver level throughout -- i.e. the rebuild
preserves the flow field instead of resetting it (set_solid zeroes u/phi/P by design).
| moving_step_bench.make_scene | ( | cen, | |
| R | |||
| ) |
Definition at line 24 of file moving_step_bench.py.
| moving_step_bench.build | ( | N, | |
| moving, | |||
| V | |||
| ) |
Definition at line 38 of file moving_step_bench.py.
References make_scene().
| moving_step_bench.bench | ( | N, | |
nstep = 12 |
|||
| ) |
Definition at line 64 of file moving_step_bench.py.
| moving_step_bench.march | ( | N = 48, |
|
nstep = 40 |
|||
| ) |
A translating sphere in quiescent fluid: it must move, drag fluid, and stay divergence free.
Definition at line 90 of file moving_step_bench.py.
References make_scene(), and mean().
| moving_step_bench.KN_R |
Definition at line 21 of file moving_step_bench.py.
| moving_step_bench.KI_I |
Definition at line 21 of file moving_step_bench.py.
| moving_step_bench.KI_R |
Definition at line 21 of file moving_step_bench.py.
| int moving_step_bench.what = sys.argv[1] if len(sys.argv) > 1 else "all" |
Definition at line 138 of file moving_step_bench.py.