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

Functions

 run (nx, ny, nz, arm, L, cfg)
 
 main ()
 

Variables

 sdflow = ensure_flow()
 
float PHI = 0.216
 
 K_REF = zh_ref(PHI)
 

Detailed Description

Phase 2 gate G2, the LADDER half (doc/anisotropic_metric.md §8.3).

The regression suite's Zick & Homsy sphere (`tests/regression/sdflow_regression.py`, case
`zh_sphere`: solid fraction phi = 0.216, R = 0.3722 L, K_ref = 7.442, config rho 1 / mu 0.1 /
dt 60 / F 1e-3, 80 velocity sweeps, MG-PCG 300 / 1e-8, cut-cell pressure, advection off) on the
cube `L^3` resolved by cells **(N, 2N, N/2)** -- h = (dx, dx/2, 2dx) -- with the SDF sampled at the
PHYSICAL cell centres, beside the cubic control (N, N, N) in cell units at every rung.

What it gates (§8.3, the `script` bullet):
  * the Richardson-extrapolated `K_s,inf` is within **2 %** of 7.442 (the regression's `extrap_rel`);
  * the fitted order of the stretched sequence `p_s` lies in **[1.5, 2.5]**;
  * the pressure iterations per step on the stretched grid are **<= cubic + 2** at every N (the §5
    aspect-ratio coarsening rule is what buys that).

The order/extrapolation estimator is the regression's own `fit_order` (f(N) = f_inf + C N^-p), so
the cubic column is directly comparable to `perf_baseline.json`'s recorded `order` / `extrapolated`.

Usage (from the repo root, venv active):
    PYTHONPATH=build python scripts/verify_anisotropic_spheres.py
    PECLET_FLOW_BUILD=build python scripts/verify_anisotropic_spheres.py --grids 16,24,32

Function Documentation

◆ run()

verify_anisotropic_spheres.run (   nx,
  ny,
  nz,
  arm,
  L,
  cfg 
)
One rung. `arm=False` is the cell-unit cubic control; `arm=True` arms the cube L^3.

Definition at line 41 of file verify_anisotropic_spheres.py.

References mean().

Referenced by main().

◆ main()

verify_anisotropic_spheres.main ( )

Definition at line 79 of file verify_anisotropic_spheres.py.

References main(), and run().

Referenced by main().

Variable Documentation

◆ sdflow

verify_anisotropic_spheres.sdflow = ensure_flow()

Definition at line 31 of file verify_anisotropic_spheres.py.

◆ PHI

float verify_anisotropic_spheres.PHI = 0.216

Definition at line 37 of file verify_anisotropic_spheres.py.

◆ K_REF

verify_anisotropic_spheres.K_REF = zh_ref(PHI)

Definition at line 38 of file verify_anisotropic_spheres.py.