Beispiel #1
0
        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");
                }
            });
        }