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

Functions

 build_sphere (flow, a, st)
 
 cmd_run (flow, a)
 
 cmd_compare (a)
 
 main ()
 

Variables

 HERE = os.path.dirname(os.path.abspath(__file__))
 

Detailed Description

Option (iv) of the pocket study: what changes if every staggered velocity point whose
PROJECTION aperture is exactly 0 is masked (pinned to zero), so that the momentum mask agrees with
the projection? A study instrument, not a gate.

The masking itself lives in a STUDY-ONLY build: src/flow_ibm_geometry.hpp, setSolidDevice, under
`#ifdef PECLET_FLOW_STUDY_MASK_CLOSED`, never committed to production code. The patch is
tests/study/pocket_mask_closed.patch: `git apply` it in a scratch worktree and configure a separate
tree with -DCMAKE_CXX_FLAGS=-DPECLET_FLOW_STUDY_MASK_CLOSED (it prints the number of points masked). This script runs one case on whichever module is on PYTHONPATH
and saves the outputs; `compare` diffs two such files (baseline build vs masked build).

  run      --case bed  : the A1 bed as a scene (pocket_pressure_probe.set_bed_scene), configured
                         as steady_acceleration_gates.Case.configure, marched to steady.
           --case sphere: one sphere of volume fraction --phi in the periodic unit cube, the
                         tests/python/test_hydro_force_units.py setup ('unit' system, N = 24,
                         nu dt / h^2 = 6), centre on a cell vertex shifted by --shift cells.
  compare  a.npz b.npz : |dK/K|, per-body reaction F / T change (relative to max |F| / |T|),
                         max |du| / max |u| away from the points masked in either run, the
                         velocities the mask removed, and the step counts.

  PYTHONPATH=build_mask python tests/study/pocket_mask_probe.py run --case bed \\
      --arrangement bed.npz --settings tight --out mask_bed_tight.npz

Function Documentation

◆ build_sphere()

pocket_mask_probe.build_sphere (   flow,
  a,
  st 
)

Definition at line 37 of file pocket_mask_probe.py.

Referenced by cmd_run().

◆ cmd_run()

pocket_mask_probe.cmd_run (   flow,
  a 
)

Definition at line 71 of file pocket_mask_probe.py.

References build_sphere(), and mean().

Referenced by main().

◆ cmd_compare()

pocket_mask_probe.cmd_compare (   a)

Definition at line 95 of file pocket_mask_probe.py.

Referenced by main().

◆ main()

pocket_mask_probe.main ( )

Definition at line 118 of file pocket_mask_probe.py.

References cmd_compare(), cmd_run(), and main().

Referenced by main().

Variable Documentation

◆ HERE

pocket_mask_probe.HERE = os.path.dirname(os.path.abspath(__file__))

Definition at line 31 of file pocket_mask_probe.py.