| 1234567891011121314151617 |
- # This script calculates and prints the flow rate in a pipe
- # using the Hagen-Poiseuille equation. It assumes the dynamic
- # viscosity of water and allows for inputs of pipe radius,
- # pipe length, and pressure difference.
- let μ_water: DynamicViscosity = 1 mPa·s
- fn flow_rate(radius: Length, length: Length, Δp: Pressure) -> FlowRate =
- π × radius^4 × Δp / (8 μ_water × length)
- let pipe_radius = 1 cm
- let pipe_length = 10 m
- let Δp = 0.1 bar
- let Q = flow_rate(pipe_radius, pipe_length, Δp)
- print("Flow rate: {Q -> L/s}")
- assert_eq(Q, 3.93 L/s, 0.01 L/s)
|