flow.step

flow.step(f, chi, inlet_velocity, *, omega, alpha_max, wall, incoming)

Advance the populations one lattice time.

Collide with the Brinkman drag, bounce back off the duct walls, stream, then impose the inlet and outlet planes. Flow runs along +Y: the inlet is the y = 0 plane and the outlet the y = NY-1 plane.

Parameters

Name Type Description Default
f jax.Array Populations, (19, NX, NY, NZ). required
chi jax.Array Solid volume fraction in [0, 1], (NX, NY, NZ). This is the only design-dependent input. required
inlet_velocity jax.Array Prescribed inlet velocity, (3,) in lattice units. required
omega float BGK relaxation rate, in (0, 2). required
alpha_max float Drag coefficient at chi = 1. required
wall np.ndarray Boolean duct-wall mask, (NX, NY, NZ). Concrete, not traced – see :func:duct_walls. required
incoming np.ndarray Bounce-back mask from :func:bounce_back_mask, (19, NX, NY, NZ). required

Returns

Name Type Description
jax.Array The populations one step later, (19, NX, NY, NZ).