Mark wall rows OUTER in a zero-refinement hierarchy
build_hierarchy(cfg, [], wall_aware=True) left both base wall rows ACTIVE;
the refined path already marked them OUTER. Add the regression test.
Found by native review of eeb90ac.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
baba5e02d9
commit
edce582a2d
2 files changed
+7
-1
No files matched your search
@@ -62,7 +62,10 @@ def build_hierarchy(cfg, refinements, *, wall_aware=False):
|
|||||||
if pairs:
|
if pairs:
|
||||||
kinds.append(pairs[-1].fine_kind)
|
kinds.append(pairs[-1].fine_kind)
|
||||||
else:
|
else:
|
||||||
kinds.append(np.full((cfg.ny, cfg.nx), ACTIVE, np.uint8))
|
kind = np.full((cfg.ny, cfg.nx), ACTIVE, np.uint8)
|
||||||
|
if wall_aware:
|
||||||
|
kind[[0, -1]] = OUTER_GHOST
|
||||||
|
kinds.append(kind)
|
||||||
return Hierarchy(tuple(configs), tuple(pairs), tuple(kinds))
|
return Hierarchy(tuple(configs), tuple(pairs), tuple(kinds))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,9 @@ class LegacyForms(unittest.TestCase):
|
|||||||
one = build_hierarchy(SMALL, [])
|
one = build_hierarchy(SMALL, [])
|
||||||
self.assertEqual(one.depth, 1)
|
self.assertEqual(one.depth, 1)
|
||||||
self.assertTrue((one.kinds[0] == r.ACTIVE).all())
|
self.assertTrue((one.kinds[0] == r.ACTIVE).all())
|
||||||
|
walled = build_hierarchy(SMALL, [], wall_aware=True) # regression: no refinement
|
||||||
|
self.assertTrue((walled.kinds[0][[0, -1]] == r.OUTER_GHOST).all())
|
||||||
|
self.assertTrue((walled.kinds[0][1:-1] == r.ACTIVE).all())
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in new issue
Block a user