uom/si/
compressibility_coefficient.rs1quantity! {
4 quantity: CompressibilityCoefficient; "compressibility coefficient";
6 dimension: ISQ<
8 P1, N1, P2, Z0, Z0, Z0, Z0>; units {
16 @per_yottapascal: prefix!(none) / prefix!(yotta);
17 "YPa⁻¹", "per yottapascal", "per yottapascal";
18 @per_zettapascal: prefix!(none) / prefix!(zetta);
19 "ZPa⁻¹", "per zettapascal", "per zettapascal";
20 @per_exapascal: prefix!(none) / prefix!(exa);
21 "EPa⁻¹", "per exapascal", "per exapascal";
22 @per_petapascal: prefix!(none) / prefix!(peta);
23 "PPa⁻¹", "per petapascal", "per petapascal";
24 @per_terapascal: prefix!(none) / prefix!(tera);
25 "TPa⁻¹", "per terapascal", "per terapascal";
26 @per_gigapascal: prefix!(none) / prefix!(giga);
27 "GPa⁻¹", "per gigapascal", "per gigapascal";
28 @per_megapascal: prefix!(none) / prefix!(mega);
29 "MPa⁻¹", "per megapascal", "per megapascal";
30 @per_kilopascal: prefix!(none) / prefix!(kilo);
31 "kPa⁻¹", "per kilopascal", "per kilopascal";
32 @per_hectopascal: prefix!(none) / prefix!(hecto);
33 "hPa⁻¹", "per hectopascal", "per hectopascal";
34 @per_decapascal: prefix!(none) / prefix!(deca);
35 "daPa⁻¹", "per decapascal", "per decapascal";
36 @per_pascal: prefix!(none); "Pa⁻¹", "per pascal", "per pascal";
38 @per_decipascal: prefix!(none) / prefix!(deci);
39 "dPa⁻¹", "per decipascal", "per decipascal";
40 @per_centipascal: prefix!(none) / prefix!(centi);
41 "cPa⁻¹", "per centipascal", "per centipascal";
42 @per_millipascal: prefix!(none) / prefix!(milli);
43 "mPa⁻¹", "per millipascal", "per millipascal";
44 @per_micropascal: prefix!(none) / prefix!(micro);
45 "µPa⁻¹", "per micropascal", "per micropascal";
46 @per_nanopascal: prefix!(none) / prefix!(nano);
47 "nPa⁻¹", "per nanopascal", "per nanopascal";
48 @per_picopascal: prefix!(none) / prefix!(pico);
49 "pPa⁻¹", "per picopascal", "per picopascal";
50 @per_femtopascal: prefix!(none) / prefix!(femto);
51 "fPa⁻¹", "per femtopascal", "per femtopascal";
52 @per_attopascal: prefix!(none) / prefix!(atto);
53 "aPa⁻¹", "per attopascal", "per attopascal";
54 @per_zeptopascal: prefix!(none) / prefix!(zepto);
55 "zPa⁻¹", "per zeptopascal", "per zeptopascal";
56 @per_yoctopascal: prefix!(none) / prefix!(yocto);
57 "yPa⁻¹", "per yoctopascal", "per yoctopascal";
58
59 @per_atmosphere: prefix!(none) / 1.013_25_E5;
60 "atm⁻¹", "per atmosphere", "per atmosphere";
61 @per_atmosphere_technical: prefix!(none) / 9.806_65_E4;
62 "at⁻¹", "per atmosphere (technical)", "per atmosphere (technical)";
63 @per_bar: prefix!(none) / 1.0_E5; "bar⁻¹", "per bar", "per bar";
64 @per_millibar: prefix!(none) / 1.0_E2; "mbar⁻¹", "per millibar", "per millibar";
65 }
66}
67
68#[cfg(test)]
69mod tests {
70 storage_types! {
71 use crate::num::One;
72 use crate::si::pressure as p;
73 use crate::si::compressibility_coefficient as cc;
74 use crate::si::quantities::*;
75 use crate::tests::Test;
76
77 #[test]
78 fn check_dimension() {
79 let _: CompressibilityCoefficient<V> = V::one()
80 / Pressure::new::<p::pascal>(V::one());
81 }
82
83 #[test]
84 fn check_units() {
85 test::<p::yottapascal, cc::per_yottapascal>();
86 test::<p::zettapascal, cc::per_zettapascal>();
87 test::<p::exapascal, cc::per_exapascal>();
88 test::<p::petapascal, cc::per_petapascal>();
89 test::<p::terapascal, cc::per_terapascal>();
90 test::<p::gigapascal, cc::per_gigapascal>();
91 test::<p::megapascal, cc::per_megapascal>();
92 test::<p::kilopascal, cc::per_kilopascal>();
93 test::<p::hectopascal, cc::per_hectopascal>();
94 test::<p::decapascal, cc::per_decapascal>();
95 test::<p::pascal, cc::per_pascal>();
96 test::<p::decipascal, cc::per_decipascal>();
97 test::<p::centipascal, cc::per_centipascal>();
98 test::<p::millipascal, cc::per_millipascal>();
99 test::<p::micropascal, cc::per_micropascal>();
100 test::<p::nanopascal, cc::per_nanopascal>();
101 test::<p::picopascal, cc::per_picopascal>();
102 test::<p::femtopascal, cc::per_femtopascal>();
103 test::<p::attopascal, cc::per_attopascal>();
104 test::<p::zeptopascal, cc::per_zeptopascal>();
105 test::<p::yoctopascal, cc::per_yoctopascal>();
106
107 test::<p::atmosphere, cc::per_atmosphere>();
108 test::<p::atmosphere_technical, cc::per_atmosphere_technical>();
109 test::<p::bar, cc::per_bar>();
110 test::<p::millibar, cc::per_millibar>();
111
112 fn test<P: p::Conversion<V>, CC: cc::Conversion<V>>() {
113 Test::assert_approx_eq(&CompressibilityCoefficient::new::<CC>(V::one()),
114 &(V::one()
115 / Pressure::new::<P>(V::one())));
116 }
117 }
118 }
119}