public void AllPsychrometrics() { Assert.Multiple(() => { { var psySi = new Psychrometrics(UnitSystem.SI); var results1 = psySi.CalcPsychrometricsFromTWetBulb(40, 20, 101325); Assert.That(results1.HumRatio, Is.EqualTo(0.0065).Within(0.0001), "HumRatio"); Assert.That(results1.TDewPoint, Is.EqualTo(7).Within(0.5), "TDewPoint"); // not great agreement Assert.That(results1.RelHum, Is.EqualTo(0.14).Within(0.01), "RelHum"); Assert.That(results1.MoistAirEnthalpy, Is.EqualTo(56700).Within(100), "MoistAirEnthalpy"); RelativeDifference(results1.MoistAirVolume, 0.896, 0.01, "MoistAirVolume"); var results2 = psySi.CalcPsychrometricsFromTDewPoint(40, results1.TDewPoint, 101325); Assert.That(results2.TWetBulb, Is.EqualTo(20).Within(0.1), " CalcPsychrometricsFromTDewPointTWetBulb"); var results3 = psySi.CalcPsychrometricsFromRelHum(40, results2.RelHum, 101325); Assert.That(results3.TWetBulb, Is.EqualTo(20).Within(0.1), "CalcPsychrometricsFromRelHum TWetBulb"); } { var psyIp = new Psychrometrics(UnitSystem.IP); var results1 = psyIp.CalcPsychrometricsFromTWetBulb(100, 65, 14.696); Assert.That(results1.HumRatio, Is.EqualTo(0.00523).Within(0.0001), "HumRatio"); Assert.That(results1.TDewPoint, Is.EqualTo(40).Within(1), "TDewPoint"); // not great agreement Assert.That(results1.RelHum, Is.EqualTo(0.13).Within(0.01), "RelHum"); Assert.That(results1.MoistAirEnthalpy, Is.EqualTo(29.80).Within(0.1), "MoistAirEnthalpy"); Assert.That(results1.MoistAirVolume, Is.EqualTo(14.22).Within(0.01), "MoistAirVolume"); var results2 = psyIp.CalcPsychrometricsFromTDewPoint(100, results1.TDewPoint, 14.696); Assert.That(results2.TWetBulb, Is.EqualTo(65).Within(0.1), "CalcPsychrometricsFromTDewPoint TWetBulb"); var results3 = psyIp.CalcPsychrometricsFromRelHum(100, results2.RelHum, 14.696); Assert.That(results3.TWetBulb, Is.EqualTo(65).Within(0.1), "CalcPsychrometricsFromRelHum TWetBulb"); } }); }