pub fn flow_pulse(edge: usize, t: f64) -> f64
Pulse flow: alternates between high (3.0) and low (0.5).