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

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"
 

Detailed Description

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

Function Documentation

◆ make_scene()

moving_step_bench.make_scene (   cen,
  R 
)

Definition at line 24 of file moving_step_bench.py.

Referenced by build(), and march().

◆ build()

moving_step_bench.build (   N,
  moving,
  V 
)

Definition at line 38 of file moving_step_bench.py.

References make_scene().

◆ bench()

moving_step_bench.bench (   N,
  nstep = 12 
)

Definition at line 64 of file moving_step_bench.py.

◆ march()

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

Variable Documentation

◆ KN_R

moving_step_bench.KN_R

Definition at line 21 of file moving_step_bench.py.

◆ KI_I

moving_step_bench.KI_I

Definition at line 21 of file moving_step_bench.py.

◆ KI_R

moving_step_bench.KI_R

Definition at line 21 of file moving_step_bench.py.

◆ what

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.