Integrate grok/wall-transfer-validation for bounded validation

This commit is contained in:
Frank14f
2026-10-15 10:53:20 +08:00
2 changed files with 21 additions and 2 deletions
+3 -2
View File
@@ -282,8 +282,9 @@ def prepare_fine_boundary(cfg, patch, objects, *, wall_aware=False):
y, x = divmod(k, cfg.nx)
if x0 <= x < x1 and y0 <= y < y1:
raise ValueError("Transfer coarse donor/target is not an uncovered bulk cell")
# Coarse reconstruction targets y=1,ny-2 pull from y=0..2,ny-3..ny-1.
if wall_aware and (y <= 2 or y >= cfg.ny-3):
# Rows 0/ny-1 are never computed and rows 1/ny-2 are reconstructed after
# coalescence; rows 2/ny-3 are ordinary bulk cells only read as donors.
if wall_aware and (y <= 1 or y >= cfg.ny-2):
raise ValueError("Transfer footprint touches the coarse wall reconstruction stencil")
return FineBoundary2D(tuple(local), _readonly(flags, np.uint16),
tuple(_readonly(a, a.dtype) for a in pack_cut_links_to_soa(links)),