internal static double CorrectedCollectionEfficiency(double e0, ParticleTypeGroup particleType, double loading) { if (particleType == ParticleTypeGroup.A || particleType == ParticleTypeGroup.C) { return(ChartUtil.GetInterpolatedValue(ceLoadingCorrectionCurvesAC, e0, Math.Log10(loading))); } else { return(ChartUtil.GetInterpolatedValue(ceLoadingCorrectionCurvesBD, e0, Math.Log10(loading))); } }
//Perry's Figure 5-10, also see section 7-25 of Handbook of Chemical Engineering Calculations //Fist correlation to use to calculate condensing heat transfer coefficient in vertical tubes //This correlation can also be used for falling film heat transfer coeeficient. But the result //should be multiplied by 0.75 public static double CalculateVerticalTubeHTC_Dukler(double massFlowRate, double diameter, double liqDensity, double vapDensity, double liqViscosity, double vapViscosity, double liqThermalCond, double liqSpecificHeat) { double gamma = massFlowRate / (Math.PI * diameter); double Re = 4 * gamma / liqViscosity; double Pr = liqSpecificHeat * liqViscosity / liqThermalCond; double temp = Math.Pow(liqViscosity * liqViscosity / (liqDensity * liqDensity * liqThermalCond * liqThermalCond * liqThermalCond * 9.8065), 1 / 3); double h = ChartUtil.GetInterpolatedValue(duklerCurves, Re, Pr); h = h / temp; //Handbook of Chemical Engineering Calculations--page 7-50 table (the only table on this page) double Ad = 0.25 * Math.Pow(liqViscosity, 1.173) * Math.Pow(vapViscosity, 0.16) / (Math.Pow(9.8065, 2.0 / 3.0) * diameter * diameter * Math.Pow(liqDensity, 0.553) * Math.Pow(vapDensity, 0.78)); double correctionCoeff = ChartUtil.GetInterpolatedValue(duklerCorrectionCurves, Re, Ad); return(correctionCoeff * h); }
public static double GetSpecificHeatRatio(double t, double p) { return(ChartUtil.GetInterpolatedValue(ratioCurves, p, t)); }
public static double CalculateBoilingPointElevation(DryingMaterial dryingMaterial, double concentrationValue, double pressureValue) { SolutionType solutionType = dryingMaterial.SolutionType; double deltaT = 0; Substance s = dryingMaterial.Moisture; double solventMolarWeight = s.MolarWeight; s = dryingMaterial.AbsoluteDryMaterial; double soluteMolarWeight = s.MolarWeight; double tEvap = 0.0; /*if (solutionType == SolutionType.Raoult) { * //Unit Operations in Food Engieering Eq. 18.13 * double soluteMassRatio = 1.0/owner.MoistureContentDryBase.Value; * double boilingConstant = 1.0; * deltaT = 1000 * boilingConstant * soluteMassRatio/soluteMolarWeight; * } * else if (solutionType == SolutionType.Aqueous) { * //Unit Operations in Food Engieering Eq. 18.14 * double molarConcentration = concentrationValue/soluteMolarWeight/(concentrationValue/soluteMolarWeight+(1-concentrationValue)/solventMolarWeight); * deltaT = 0.52 * molarConcentration; * } * else if (solutionType == SolutionType.InorganicSalts) { * //Unit Operations in Food Engieering Eq. 18.17 * double molarConcentration = concentrationValue/soluteMolarWeight/(concentrationValue/soluteMolarWeight+(1-concentrationValue)/solventMolarWeight); * deltaT = 104.9 * Math.Pow(molarConcentration, 1.14); * } * else if (solutionType == SolutionType.Ideal) { * //Unit Operations in Food Engieering Eq. 18.15 * double tEvap = ThermalPropCalculator.CalculateTemperatureFromWaterVaporPressure(pressureValue); * double evapHeat = owner.GetEvaporationHeat(tEvap); * double solventMassFraction = 1.0/owner.MoistureContentWetBase.Value; * deltaT = -tEvap/(1.0 + (evapHeat/(8.314*tEvap*Math.Log(solventMassFraction)))); * }*/ if (solutionType == SolutionType.Sucrose) { //Unit Operations in Food Engieering Eq. 18.17 pressureValue = pressureValue / 100; //note: pressure unit is mbar deltaT = 3.061 * Math.Pow(concentrationValue, 0.094) * Math.Pow(pressureValue, 0.136) * Math.Exp(5.328 * concentrationValue); } else if (solutionType == SolutionType.ReducingSugars) { //Unit Operations in Food Engieering Eq. 18.17 pressureValue = pressureValue / 100; //note: pressure unit is mbar deltaT = 2.227 * Math.Pow(concentrationValue, 0.588) * Math.Pow(pressureValue, 0.119) * Math.Exp(3.593 * concentrationValue); } else if (solutionType == SolutionType.Juices) { //Unit Operations in Food Engieering Eq. 18.17 pressureValue = pressureValue / 100; //note: pressure unit is mbar //deltaT = 0.04904 * Math.Pow(concentration, 0.029)*Math.Pow(pressureValue, 0.113)*Math.Exp(-0.03899*concentration + 6.52e-4*concentration*concentration); deltaT = 1.36 * Math.Pow(concentrationValue, 0.749) * Math.Pow(pressureValue, 0.106) * Math.Exp(3.39 * concentrationValue); } else if (solutionType == SolutionType.Unknown) { //Duhring rules tEvap = ThermalPropCalculator.CalculateWaterSaturationTemperature(pressureValue); CurveF[] duhringLines = dryingMaterial.DuhringLines; if (duhringLines != null) { double tEvapReal = ChartUtil.GetInterpolatedValue(duhringLines, concentrationValue, tEvap); deltaT = tEvapReal - tEvap; } /*double correctionCoeff = 1.0; * if (duhringLines.VarValue == Constants.NO_VALUE && Math.Abs(pressureValue-1.0132685e5) < 1.0e-3) { * double evapHeat = GetEvaporationHeat(tEvap); * correctionCoeff = 0.0162*tEvap*tEvap/evapHeat; //Chemical Engineering Eq. 7-15 at p.310 * deltaT *= correctionCoeff; * }*/ } return(deltaT); }