Convenience constructors for cubic keep-arrays that can be passed to
edges.recursive.cube.mask() or
recursive.cube.mask.surface.graph() to build cubical porous
benchmark families. These helpers encode three qualitatively different void
patterns: repeated tunnel lattices, interior asymmetric cavities, and
deterministic channel networks.
mask.cube.periodic.tunnels(
side = 5,
tunnel_width = 1,
tunnel_period = 2,
tunnel_offset = 2
)mask.cube.asymmetric.cavities(
side = 5,
cavity_size = 2,
pocket_size = max(1L, cavity_size - 1L)
)
mask.cube.channel.network(side = 5, channel_width = 1, branch_offset = 2)
A logical cubic keep-array.
Side length of the cubic keep-array.
Width of each removed tunnel band.
Spacing between successive tunnel bands.
Starting index of the first tunnel band.
Side length of the larger interior cavity block.
Side length of the smaller secondary cavity block.
Width of each removed channel in the channel-network family.
Interior offset of the extra branch channel in
mask.cube.channel.network().
The returned arrays use the same orientation as the recursive cube-mask helpers: the first dimension runs from top to bottom, the second from left to right, and the third from front to back.