コード例 #1
0
        public static double CalculateWaterSaturationPressure(double temperature)
        {
            double pSaturation = 1.0;

            //if (temperature >= 253.15 && temperature <= 283.15) {
            //   pSaturation = 8.8365E-10 * Math.Pow((temperature -193.03), 6.2145);
            //}
            //else if (temperature <= 453.15) {
            //   pSaturation = Math.Exp(23.197 - 3816.44/(temperature - 46.13));
            //}
            if (temperature <= 273.33) //temperature belown which steam table can not deal
            //double t = temperature - 273.15;
            //pSaturation = 100.0 * 6.1121 * Math.Exp(17.502 * t/(240.97 + t));
            //To Do: When system is not air-water, need to change!!!
            {
                pSaturation = ThermalPropCalculator.CalculateWaterSaturationPressureBelowFreezingPoint(temperature);
            }
            else
            {
                //formulation coming from Perry's Chemical Engineer's Handbook
                //pSaturation = Math.Exp(73.649 - 7258.2/temperature - 7.3037 * Math.Log(temperature)
                //   + 4.1653e-6 * temperature * temperature);
                //pSaturation = ThermalPropCalculator.CalculateVaporPressure(temperature, vapPressureCoeffs);
                SteamTable steamTable = SteamTable.GetInstance();
                pSaturation = steamTable.GetSaturationPressure(temperature);
            }

            return(pSaturation);
        }