diff --git a/src/CelerisLab/lbm/hierarchy.py b/src/CelerisLab/lbm/hierarchy.py index e729715..c578771 100644 --- a/src/CelerisLab/lbm/hierarchy.py +++ b/src/CelerisLab/lbm/hierarchy.py @@ -62,7 +62,10 @@ def build_hierarchy(cfg, refinements, *, wall_aware=False): if pairs: kinds.append(pairs[-1].fine_kind) 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)) diff --git a/tests/unit/test_hierarchy.py b/tests/unit/test_hierarchy.py index ea2bca9..843efca 100644 --- a/tests/unit/test_hierarchy.py +++ b/tests/unit/test_hierarchy.py @@ -88,6 +88,9 @@ class LegacyForms(unittest.TestCase): one = build_hierarchy(SMALL, []) self.assertEqual(one.depth, 1) 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__":