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). |