Skip to main content

use_fluid_basic_usage/
basic_usage.rs

1#![allow(clippy::float_cmp)]
2
3use use_fluid::{Fluid, PipeFlow, drag_force};
4
5fn main() {
6    let Some(water) = Fluid::with_dynamic_viscosity(1000.0, 0.001) else {
7        unreachable!("valid fluid inputs")
8    };
9    let Some(flow) = PipeFlow::new(2.0, 3.0) else {
10        unreachable!("valid pipe-flow inputs")
11    };
12
13    assert_eq!(flow.volumetric_flow_rate(), Some(6.0));
14    assert_eq!(flow.mass_flow_rate(water.density), Some(6000.0));
15    assert!(
16        water
17            .reynolds_number(2.0, 0.1)
18            .is_some_and(|reynolds| (reynolds - 200_000.0).abs() < 1.0e-9)
19    );
20    assert!(
21        drag_force(1.225, 10.0, 0.47, 1.0).is_some_and(|force| (force - 28.7875).abs() < 1.0e-9)
22    );
23}