Option A
Boundary “levels” set how many particles you expect to see in thin strips near each boundary.
The code continuously injects new particles into each strip to relax toward those levels
with time constant τ, while diffusion can carry particles out of the strips into the interior.
Particles leaving the domain on the left/right are removed. Top/bottom reflect.