/// <summary> /// 计算熟料综合煤耗 /// </summary> /// <param name="myClinkerProperties">熟料属性</param> /// <param name="myCoalProperties">煤粉属性</param> /// <param name="myClinkerProcessMartieralsProperties">各耗煤工序物料属性</param> /// <returns>熟料综合煤耗</returns> public Model_CaculateValue GetClinkerCoalConsumption(Model_ClinkerProperties myClinkerProperties, Model_CoalProperties myCoalProperties, List <Model_MartieralsProperties> myClinkerProcessMartieralsProperties, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); List <Model_BaseCLCParameters> m_ClinkerBaseCLCParameters = new List <Model_BaseCLCParameters>(1); if (myClinkerProcessMartieralsProperties != null) { for (int i = 0; i < myClinkerProcessMartieralsProperties.Count; i++) { //求工序干基煤耗 Model_BaseCLCParameters m_Model_BaseCLCParameters = new Model_BaseCLCParameters(); m_Model_BaseCLCParameters.ProcessName = myClinkerProcessMartieralsProperties[i].ProcessName; //获取工序名称 m_Model_BaseCLCParameters.MarterialsName = myClinkerProcessMartieralsProperties[i].MarterialsName; //获取物料名称 if (myClinkerProcessMartieralsProperties[i].MarterialsOutput != 0 && myClinkerProcessMartieralsProperties[i].MarterialsWaterContent < 1 && myClinkerProcessMartieralsProperties[i].MarterialsWaterContent >= 0) { m_Model_BaseCLCParameters.ProcessCoalConsumption = (myClinkerProcessMartieralsProperties[i].CoalQuantity * (1 - myCoalProperties.CoalWaterContent)) / (myClinkerProcessMartieralsProperties[i].MarterialsOutput * (1 - myClinkerProcessMartieralsProperties[i].MarterialsWaterContent)); } else { m_Model_BaseCLCParameters.ProcessCoalConsumption = 0; } m_Model_BaseCLCParameters.ProcessMaterialsUsedQuantity = myClinkerProcessMartieralsProperties[i].MarterialsInput * (1 - myClinkerProcessMartieralsProperties[i].MarterialsWaterContent); m_Model_BaseCLCParameters.CoalWaterContent = myClinkerProcessMartieralsProperties[i].MarterialsWaterContent; m_Model_BaseCLCParameters.CoalLowCalorificValue = myCoalProperties.CoalLowCalorificValue; m_ClinkerBaseCLCParameters.Add(m_Model_BaseCLCParameters); } m_Model_CaculateValue = m_Base_CoalConsumption.GetCoalConsumption(m_ClinkerBaseCLCParameters, myClinkerProperties.MarterialsOutput, myCommonParameters.StandardCalorificValue, "熟料"); } m_Model_CaculateValue.CaculateName = "熟料综合煤耗"; return(m_Model_CaculateValue); }
/// <summary> /// 计算可比综合能耗 /// </summary> /// <param name="myPowConsumptionComparable">可比综合电耗</param> /// <param name="myCoalConsumptionComparable">可比综合煤耗</param> /// <param name="myCommonParameters">公共参数</param> /// <returns>可比综合能耗</returns> public Model_CaculateValue GetEnergyConsumptionComparable(decimal myPowConsumptionComparable, decimal myCoalConsumptionComparable, Model_CommonParameters myCommonParameters, string myStaticsMarterialsName) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); decimal m_EnergyConsumptionComparable = 0; if (myCommonParameters != null) { m_EnergyConsumptionComparable = myCoalConsumptionComparable + myPowConsumptionComparable * myCommonParameters.ElectricityToCoalFactor; } ///////////////////////可比综合煤耗///////////////////// Model_CaculateFactor m_CoalConsumptionComparable_CaculateFactor = new Model_CaculateFactor(); m_CoalConsumptionComparable_CaculateFactor.FactorName = myStaticsMarterialsName + "可比综合煤耗"; m_CoalConsumptionComparable_CaculateFactor.FactorValue = myCoalConsumptionComparable; m_Model_CaculateValue.CaculateFactor.Add(m_CoalConsumptionComparable_CaculateFactor); /////////////////////可比综合电耗/////////////////////// Model_CaculateFactor m_PowConsumptionComparable_CaculateFactor = new Model_CaculateFactor(); m_PowConsumptionComparable_CaculateFactor.FactorName = myStaticsMarterialsName + "可比综合电耗"; m_PowConsumptionComparable_CaculateFactor.FactorValue = myPowConsumptionComparable; m_Model_CaculateValue.CaculateFactor.Add(m_PowConsumptionComparable_CaculateFactor); ///////////////////////用电折合用煤系数///////////////////// Model_CaculateFactor m_ElectricityToCoalFactor_CaculateFactor = new Model_CaculateFactor(); m_ElectricityToCoalFactor_CaculateFactor.FactorName = "用电折合用煤系数"; m_ElectricityToCoalFactor_CaculateFactor.FactorValue = myCommonParameters.ElectricityToCoalFactor; m_Model_CaculateValue.CaculateFactor.Add(m_ElectricityToCoalFactor_CaculateFactor); m_Model_CaculateValue.CaculateFormula = myStaticsMarterialsName + "可比综合煤耗 + " + myStaticsMarterialsName + "可比综合电耗 * 用电折合用煤系数"; m_Model_CaculateValue.CaculateValue = m_EnergyConsumptionComparable; return(m_Model_CaculateValue); }
///////////////////////////////////////////////////熟料////////////////////////////////////////////// /// <summary> /// 计算熟料综合电耗 /// </summary> /// <param name="myClinkerProperties">熟料属性</param> /// <param name="myClinkerProcessMartieralsProperties">各工序物料属性</param> /// <returns>熟料电耗</returns> public Model_CaculateValue GetClinkerPowerConsumption(Model_ClinkerProperties myClinkerProperties, List <Model_MartieralsProperties> myClinkerProcessMartieralsProperties) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); List <Model_BaseELCParameters> m_ClinkerBaseELCParameters = new List <Model_BaseELCParameters>(1); if (myClinkerProperties != null && myClinkerProcessMartieralsProperties != null) { for (int i = 0; i < myClinkerProcessMartieralsProperties.Count; i++) { Model_BaseELCParameters m_Model_BaseELCParameters = new Model_BaseELCParameters(); //求工序干基电耗 m_Model_BaseELCParameters.ProcessName = myClinkerProcessMartieralsProperties[i].ProcessName; //获取工序名称 m_Model_BaseELCParameters.MarterialsName = myClinkerProcessMartieralsProperties[i].MarterialsName; //获取物料名称 if (myClinkerProcessMartieralsProperties[i].MarterialsOutput != 0 && myClinkerProcessMartieralsProperties[i].MarterialsWaterContent < 1 && myClinkerProcessMartieralsProperties[i].MarterialsWaterContent >= 0) { m_Model_BaseELCParameters.ProcessElectricityConsumption = myClinkerProcessMartieralsProperties[i].ElectricityQuantity / (myClinkerProcessMartieralsProperties[i].MarterialsOutput * (1 - myClinkerProcessMartieralsProperties[i].MarterialsWaterContent)); } else { m_Model_BaseELCParameters.ProcessElectricityConsumption = 0; } m_Model_BaseELCParameters.ProcessMaterialsUsedQuantity = myClinkerProcessMartieralsProperties[i].MarterialsInput * (1 - myClinkerProcessMartieralsProperties[i].MarterialsWaterContent); m_ClinkerBaseELCParameters.Add(m_Model_BaseELCParameters); } m_Model_CaculateValue = m_Base_PowConsumption.GetPowerConsumption(m_ClinkerBaseELCParameters, myClinkerProperties.MarterialsOutput, "熟料"); } m_Model_CaculateValue.CaculateName = "熟料综合电耗"; return(m_Model_CaculateValue); }
/// <summary> /// 计算余热利用折算煤耗 /// </summary> /// <param name="myImportHeat">余热利用进口总热量</param> /// <param name="myExportHeat">余热利用出口总热量</param> /// <param name="myLossHeat">余热利用散失量</param> /// <param name="myClinkerOutput">熟料产量</param> /// <param name="myCommonParameters">公共参数</param> /// <returns>余热利用折算煤耗</returns> public Model_CaculateValue GetRecuperationCoalConsumption(decimal myImportHeat, decimal myExportHeat, decimal myLossHeat, decimal myClinkerOutput, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); m_Model_CaculateValue = m_Base_CoalConsumption.GetRecuperationCoalConsumption(myImportHeat, myExportHeat, myLossHeat, myClinkerOutput, myCommonParameters); m_Model_CaculateValue.CaculateName = "余热利用折算煤耗"; return(m_Model_CaculateValue); }
/// <summary> /// 计算余热发电折算煤耗 /// </summary> /// <param name="myGrossGeneration">余热发电总发电量</param> /// <param name="myOwnDemand">余热发电自用电量</param> /// <param name="myClinkerOutput">熟料产量</param> /// <param name="myCommonParameters">公共参数</param> /// public Model_CaculateValue GetCogenerationCoalConsumption(decimal myGrossGeneration, decimal myOwnDemand, decimal myClinkerOutput, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); m_Model_CaculateValue = m_Base_CoalConsumption.GetCogenerationCoalConsumption(myGrossGeneration, myOwnDemand, myClinkerOutput, myCommonParameters); m_Model_CaculateValue.CaculateName = "余热发电折算煤耗"; return(m_Model_CaculateValue); }
/// <summary> /// 计算可比水泥综合能耗 /// </summary> /// <param name="myCementPowerConsumptionComparable">水泥可比综合电耗</param> /// <param name="myCementCoalConsumptionComparable">水泥可比综合煤耗</param> /// <param name="myCommonParameters">公共参数</param> /// <returns>可比水泥综合能耗</returns> public Model_CaculateValue GetCementEnergyConsumptionComparable(decimal myCementPowerConsumptionComparable, decimal myCementCoalConsumptionComparable, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValueComparable = new Model_CaculateValue(); m_Model_CaculateValueComparable = m_Base_EnergyConsumption.GetEnergyConsumptionComparable(myCementPowerConsumptionComparable, myCementCoalConsumptionComparable, myCommonParameters, "水泥"); m_Model_CaculateValueComparable.CaculateName = "可比水泥综合能耗"; return(m_Model_CaculateValueComparable); }
/// <summary> /// 计算熟料综合能耗 /// </summary> /// <param name="myClinkerPowerConsumption">熟料综合电耗</param> /// <param name="myClinkerCoalConsumption">熟料综合煤耗</param> /// <param name="myCommonParameters">公共参数</param> /// <returns>熟料综合能耗</returns> public Model_CaculateValue GetClinkerEnergyConsumption(decimal myClinkerPowerConsumption, decimal myClinkerCoalConsumption, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); m_Model_CaculateValue = m_Base_EnergyConsumption.GetEnergyConsumption(myClinkerPowerConsumption, myClinkerCoalConsumption, myCommonParameters, "熟料"); m_Model_CaculateValue.CaculateName = "熟料综合能耗"; return(m_Model_CaculateValue); }
/// <summary> /// 计算水泥可比煤耗 /// </summary> /// <param name="myCementCLCParameters">水泥煤耗参数</param> /// <param name="myCommonParameters">公共参数</param> /// <param name="myCementProperties">熟料属性</param> /// <returns>可比水泥煤耗</returns> public Model_CaculateValue GetCementCoalConsumptionComparable(List <Model_BaseCLCParameters> myCementCLCParameters, Model_CommonParameters myCommonParameters, Model_CementProperties myCementProperties) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); m_Model_CaculateValue = GetCoalConsumption(myCementCLCParameters, myCementProperties.MarterialsOutput, myCommonParameters.StandardCalorificValue, "水泥"); return(m_Model_CaculateValue); }
/// <summary> /// 计算可比水泥综合电耗 /// </summary> /// <param name="myCementProperties">水泥属性</param> /// <param name="myCementProcessMartieralsProperties">各耗电工序物料属性</param> /// <param name="myCommonParameters">公共参数</param> /// <param name="myClinkerPowerConsumption">熟料综合电耗</param> /// <param name="myClinkerInput">熟料消耗量</param> /// <returns>可比水泥综合电耗</returns> public Model_CaculateValue GetCementPowerConsumptionComparable(Model_CementProperties myCementProperties, List <Model_MartieralsProperties> myCementProcessMartieralsProperties, Model_CommonParameters myCommonParameters, decimal myClinkerPowerConsumption) { Model_CaculateValue m_Model_CaculateValueComparable = new Model_CaculateValue(); List <Model_BaseELCParameters> m_CementELCParameters = new List <Model_BaseELCParameters>(); Model_BaseELCParameters m_Model_BaseELCParameters = new Model_BaseELCParameters(); m_Model_BaseELCParameters.ProcessName = "水泥综合电耗"; //获取工序名称 m_Model_BaseELCParameters.MarterialsName = "水泥"; //获取物料名称 m_Model_BaseELCParameters.ProcessElectricityConsumption = GetCementPowerConsumption(myCementProperties, myCementProcessMartieralsProperties, myClinkerPowerConsumption).CaculateValue; m_Model_BaseELCParameters.ProcessMaterialsUsedQuantity = myCementProperties.MarterialsOutput; m_CementELCParameters.Add(m_Model_BaseELCParameters); m_Model_CaculateValueComparable = m_Base_PowConsumption.GetCementPowerConsumptionComparable(m_CementELCParameters, myCommonParameters, myCementProperties); m_Model_CaculateValueComparable.CaculateName = "可比水泥综合电耗"; return(m_Model_CaculateValueComparable); }
/// <summary> /// 计算熟料可比煤耗 /// </summary> /// <param name="myClinkerCLCParameters">熟料煤耗参数</param> /// <param name="myDeductionCLCParameters">熟料应扣除煤耗</param> /// <param name="myCommonParameters">公共参数</param> /// <param name="myClinkerProperties">熟料属性</param> /// <returns>熟料可比煤耗</returns> public Model_CaculateValue GetClinkerCoalConsumptionComparable(List <Model_BaseCLCParameters> myClinkerCLCParameters, List <Model_BaseCLCParameters> myDeductionCLCParameters, Model_CommonParameters myCommonParameters, Model_ClinkerProperties myClinkerProperties) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); decimal m_ClinkerCoalConsumptionComparable = 0; decimal m_ClinkerCoalConsumption = GetCoalConsumption(myClinkerCLCParameters, myClinkerProperties.MarterialsOutput, myCommonParameters.StandardCalorificValue, "熟料").CaculateValue; decimal m_DeductionClinkerCoalConsumption = GetCoalConsumption(myDeductionCLCParameters, myClinkerProperties.MarterialsOutput, myCommonParameters.StandardCalorificValue, "熟料").CaculateValue; decimal m_CompressiveStrengthCorrectionFactor = (decimal)Math.Pow((double)(myCommonParameters.Clinker_CompressiveStrength / myClinkerProperties.CompressiveStrength), 1 / 4); //强度修正系数 decimal m_AltitudeCorrectionFactor = 1; if (myClinkerProperties.Altitude > myCommonParameters.Altitude) { m_AltitudeCorrectionFactor = (decimal)Math.Sqrt((double)(myClinkerProperties.AtmosphericPressure / myCommonParameters.AtmosphericPressure)); //海拔修正系数 } m_ClinkerCoalConsumptionComparable = (m_ClinkerCoalConsumption - m_DeductionClinkerCoalConsumption) * m_CompressiveStrengthCorrectionFactor * m_AltitudeCorrectionFactor; ///////////////////////////熟料综合煤耗///////////////////////// Model_CaculateFactor m_ClinkerCoalConsumption_CaculateFactor = new Model_CaculateFactor(); m_ClinkerCoalConsumption_CaculateFactor.FactorName = "熟料综合煤耗"; m_ClinkerCoalConsumption_CaculateFactor.FactorValue = m_ClinkerCoalConsumption; m_Model_CaculateValue.CaculateFactor.Add(m_ClinkerCoalConsumption_CaculateFactor); ///////////////////////////抵扣熟料煤耗//////////////////////// Model_CaculateFactor m_DeductionClinkerCoalConsumption_CaculateFactor = new Model_CaculateFactor(); m_DeductionClinkerCoalConsumption_CaculateFactor.FactorName = "抵扣熟料煤耗(余热发电等)"; m_DeductionClinkerCoalConsumption_CaculateFactor.FactorValue = m_DeductionClinkerCoalConsumption; m_Model_CaculateValue.CaculateFactor.Add(m_DeductionClinkerCoalConsumption_CaculateFactor); ///////////////////////////水泥强度修正系数//////////////////////// Model_CaculateFactor m_CompressiveStrengthCorrectionFactor_CaculateFactor = new Model_CaculateFactor(); m_CompressiveStrengthCorrectionFactor_CaculateFactor.FactorName = "水泥强度修正系数"; m_CompressiveStrengthCorrectionFactor_CaculateFactor.FactorValue = m_CompressiveStrengthCorrectionFactor; m_Model_CaculateValue.CaculateFactor.Add(m_CompressiveStrengthCorrectionFactor_CaculateFactor); ///////////////////////////海拔高度修正系数//////////////////////// Model_CaculateFactor m_AltitudeCorrectionFactor_CaculateFactor = new Model_CaculateFactor(); m_AltitudeCorrectionFactor_CaculateFactor.FactorName = "海拔高度修正系数"; m_AltitudeCorrectionFactor_CaculateFactor.FactorValue = m_AltitudeCorrectionFactor; m_Model_CaculateValue.CaculateFactor.Add(m_AltitudeCorrectionFactor_CaculateFactor); m_Model_CaculateValue.CaculateFormula = "(熟料综合煤耗 - 抵扣熟料煤耗(余热发电等)) * 熟料强度修正系数 * 海拔高度修正系数"; m_Model_CaculateValue.CaculateValue = m_ClinkerCoalConsumptionComparable; return(m_Model_CaculateValue); }
/// <summary> /// 计算余热利用折算煤耗 /// </summary> /// <param name="myImportHeat">余热利用进口总热量</param> /// <param name="myExportHeat">余热利用出口总热量</param> /// <param name="myLossHeat">余热利用散失量</param> /// <param name="myClinkerOutput">熟料产量</param> /// <param name="myCommonParameters">公共参数</param> /// <returns>余热利用折算煤耗</returns> public Model_CaculateValue GetRecuperationCoalConsumption(decimal myImportHeat, decimal myExportHeat, decimal myLossHeat, decimal myClinkerOutput, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); decimal m_RecuperationCoalConsumption = 0; m_RecuperationCoalConsumption = (myImportHeat - myExportHeat - myLossHeat) / (myClinkerOutput * myCommonParameters.StandardCalorificValue); ///////////////////////////进口总热量//////////////////////// Model_CaculateFactor m_ImportHeat_CaculateFactor = new Model_CaculateFactor(); m_ImportHeat_CaculateFactor.FactorName = "进口总热量"; m_ImportHeat_CaculateFactor.FactorValue = myImportHeat; m_Model_CaculateValue.CaculateFactor.Add(m_ImportHeat_CaculateFactor); ///////////////////////////出口总热量//////////////////////// Model_CaculateFactor m_ExportHeat_CaculateFactor = new Model_CaculateFactor(); m_ExportHeat_CaculateFactor.FactorName = "出口总热量"; m_ExportHeat_CaculateFactor.FactorValue = myExportHeat; m_Model_CaculateValue.CaculateFactor.Add(m_ExportHeat_CaculateFactor); ///////////////////////////散热损失热量//////////////////////// Model_CaculateFactor m_LossHeat_CaculateFactor = new Model_CaculateFactor(); m_LossHeat_CaculateFactor.FactorName = "散热损失热量"; m_LossHeat_CaculateFactor.FactorValue = myLossHeat; m_Model_CaculateValue.CaculateFactor.Add(m_LossHeat_CaculateFactor); ///////////////////////////标准煤发热量//////////////////////// Model_CaculateFactor m_StandardCalorificValue_CaculateFactor = new Model_CaculateFactor(); m_StandardCalorificValue_CaculateFactor.FactorName = "标准煤发热量"; m_StandardCalorificValue_CaculateFactor.FactorValue = myCommonParameters.StandardCalorificValue; m_Model_CaculateValue.CaculateFactor.Add(m_StandardCalorificValue_CaculateFactor); ///////////////////////////熟料产量//////////////////////// Model_CaculateFactor m_ClinkerOutput_CaculateFactor = new Model_CaculateFactor(); m_ClinkerOutput_CaculateFactor.FactorName = "熟料产量"; m_ClinkerOutput_CaculateFactor.FactorValue = myClinkerOutput; m_Model_CaculateValue.CaculateFactor.Add(m_ClinkerOutput_CaculateFactor); m_Model_CaculateValue.CaculateFormula = "(进口总热量 - (出口总热量 + 散热损失热量)) / (熟料产量 * 标准煤发热量)"; m_Model_CaculateValue.CaculateValue = m_RecuperationCoalConsumption; return(m_Model_CaculateValue); }
/// <summary> /// 计算可比熟料综合煤耗 /// </summary> /// <param name="myClinkerProperties">熟料属性</param> /// <param name="myCoalProperties">煤粉属性</param> /// <param name="myClinkerProcessMartieralsProperties">各耗煤工序物料属性</param> /// <param name="myCommonParameters">公共参数</param> /// <param name="myCogenerationProperties">余热发电属性</param> /// <param name="myRecuperationProperties">余热利用属性</param> /// <returns>可比熟料综合煤耗</returns> public Model_CaculateValue GetClinkerCoalConsumptionComparable(Model_ClinkerProperties myClinkerProperties, Model_CoalProperties myCoalProperties, List <Model_MartieralsProperties> myClinkerProcessMartieralsProperties, Model_CommonParameters myCommonParameters, Model_CogenerationProperties myCogenerationProperties, Model_RecuperationProperties myRecuperationProperties) { Model_CaculateValue m_Model_CaculateValueComparable = new Model_CaculateValue(); List <Model_BaseCLCParameters> m_ClinkerCLCParameters = new List <Model_BaseCLCParameters>(); List <Model_BaseCLCParameters> m_DeductionCLCParameters = new List <Model_BaseCLCParameters>(); //应扣项 //计算熟料煤耗 Model_BaseCLCParameters m_Model_BaseCLCParameters = new Model_BaseCLCParameters(); m_Model_BaseCLCParameters.ProcessName = "熟料综合煤耗"; //获取工序名称 m_Model_BaseCLCParameters.MarterialsName = "熟料"; //获取物料名称 m_Model_BaseCLCParameters.ProcessCoalConsumption = GetClinkerCoalConsumption(myClinkerProperties, myCoalProperties, myClinkerProcessMartieralsProperties, myCommonParameters).CaculateValue / 1000; m_Model_BaseCLCParameters.ProcessMaterialsUsedQuantity = myClinkerProperties.MarterialsOutput; m_Model_BaseCLCParameters.CoalWaterContent = myCoalProperties.CoalWaterContent; m_Model_BaseCLCParameters.CoalLowCalorificValue = myCoalProperties.CoalLowCalorificValue; m_ClinkerCLCParameters.Add(m_Model_BaseCLCParameters); //计算余热发电折算煤耗 Model_BaseCLCParameters m_Model_BaseCLCParameters_Cogeneration = new Model_BaseCLCParameters(); m_Model_BaseCLCParameters_Cogeneration.ProcessName = "余热发电折算煤耗"; //获取工序名称 m_Model_BaseCLCParameters_Cogeneration.MarterialsName = "熟料"; //获取物料名称 m_Model_BaseCLCParameters_Cogeneration.ProcessCoalConsumption = m_Base_CoalConsumption.GetCogenerationCoalConsumption(myCogenerationProperties.GrossGeneration, myCogenerationProperties.OwnDemand, myClinkerProperties.MarterialsOutput, myCommonParameters).CaculateValue / 1000; m_Model_BaseCLCParameters_Cogeneration.ProcessMaterialsUsedQuantity = myClinkerProperties.MarterialsOutput; m_Model_BaseCLCParameters_Cogeneration.CoalWaterContent = 0; m_Model_BaseCLCParameters_Cogeneration.CoalLowCalorificValue = myCoalProperties.CoalLowCalorificValue; m_DeductionCLCParameters.Add(m_Model_BaseCLCParameters_Cogeneration); //计算余热利用折算煤耗 Model_BaseCLCParameters m_Model_BaseCLCParameters_Recuperation = new Model_BaseCLCParameters(); m_Model_BaseCLCParameters_Cogeneration.ProcessName = "计算余热利用折算煤耗"; //获取工序名称 m_Model_BaseCLCParameters_Cogeneration.MarterialsName = "熟料"; //获取物料名称 m_Model_BaseCLCParameters_Recuperation.ProcessCoalConsumption = m_Base_CoalConsumption.GetRecuperationCoalConsumption(myRecuperationProperties.ImportHeat, myRecuperationProperties.ExportHeat, myRecuperationProperties.LossHeat, myClinkerProperties.MarterialsOutput, myCommonParameters).CaculateValue / 1000; m_Model_BaseCLCParameters_Recuperation.ProcessMaterialsUsedQuantity = myClinkerProperties.MarterialsOutput; m_Model_BaseCLCParameters_Recuperation.CoalWaterContent = 0; m_Model_BaseCLCParameters_Recuperation.CoalLowCalorificValue = myCoalProperties.CoalLowCalorificValue; m_DeductionCLCParameters.Add(m_Model_BaseCLCParameters_Recuperation); m_Model_CaculateValueComparable = m_Base_CoalConsumption.GetClinkerCoalConsumptionComparable(m_ClinkerCLCParameters, m_DeductionCLCParameters, myCommonParameters, myClinkerProperties); m_Model_CaculateValueComparable.CaculateName = "可比熟料综合煤耗"; return(m_Model_CaculateValueComparable); }
/// <summary> /// 计算熟料可比电耗 /// </summary> /// <param name="myClinkerELCParameters">熟料电耗参数</param> /// <param name="myCommonParameters">公共参数</param> /// <param name="myClinkerProperties">熟料属性</param> /// <returns>熟料可比电耗</returns> public Model_CaculateValue GetClinkerPowerConsumptionComparable(List <Model_BaseELCParameters> myClinkerELCParameters, Model_CommonParameters myCommonParameters, Model_ClinkerProperties myClinkerProperties) { decimal m_ClinkerPowerConsumptionComparable = 0; decimal m_ClinkerPowerConsumption = GetPowerConsumption(myClinkerELCParameters, myClinkerProperties.MarterialsOutput, "熟料").CaculateValue; decimal m_CompressiveStrengthCorrectionFactor = (decimal)Math.Pow((double)(myCommonParameters.Clinker_CompressiveStrength / myClinkerProperties.CompressiveStrength), 1 / 4); //强度修正系数 decimal m_AltitudeCorrectionFactor = 1; Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); m_Model_CaculateValue.CaculateFormula = "熟料综合电耗"; Model_CaculateFactor m_Model_CaculateFactor = new Model_CaculateFactor(); m_Model_CaculateFactor.FactorName = "熟料综合电耗"; m_Model_CaculateFactor.FactorValue = m_ClinkerPowerConsumption; m_Model_CaculateValue.CaculateFactor.Add(m_Model_CaculateFactor); if (myClinkerProperties.Altitude > myCommonParameters.Altitude) { m_AltitudeCorrectionFactor = (decimal)Math.Sqrt((double)(myClinkerProperties.AtmosphericPressure / myCommonParameters.AtmosphericPressure)); //海拔修正系数 m_Model_CaculateValue.CaculateFormula = "Sqrt(海拔修正系数)" + " * " + m_Model_CaculateValue.CaculateFormula; Model_CaculateFactor m_Altitude_CaculateFactor = new Model_CaculateFactor(); m_Altitude_CaculateFactor.FactorName = "海拔修正系数"; m_Altitude_CaculateFactor.FactorValue = m_AltitudeCorrectionFactor; m_Model_CaculateValue.CaculateFactor.Add(m_Altitude_CaculateFactor); } //28天强度修正系数 m_Model_CaculateValue.CaculateFormula = "pow(28天强度修正系数,1/4)" + " * " + m_Model_CaculateValue.CaculateFormula; Model_CaculateFactor m_CompressiveStrength_CaculateFactor = new Model_CaculateFactor(); m_CompressiveStrength_CaculateFactor.FactorName = "28天强度修正系数"; m_CompressiveStrength_CaculateFactor.FactorValue = m_CompressiveStrengthCorrectionFactor; m_Model_CaculateValue.CaculateFactor.Add(m_CompressiveStrength_CaculateFactor); m_ClinkerPowerConsumptionComparable = m_ClinkerPowerConsumption * m_CompressiveStrengthCorrectionFactor * m_AltitudeCorrectionFactor; m_Model_CaculateValue.CaculateValue = m_ClinkerPowerConsumptionComparable; return(m_Model_CaculateValue); }
/// <summary> /// 计算余热发电折算煤耗 /// </summary> /// <param name="myGrossGeneration">余热发电总发电量</param> /// <param name="myOwnDemand">余热发电自用电量</param> /// <param name="myClinkerOutput">熟料产量</param> /// <param name="myCommonParameters">公共参数</param> /// <returns>余热发电折算煤耗</returns> public Model_CaculateValue GetCogenerationCoalConsumption(decimal myGrossGeneration, decimal myOwnDemand, decimal myClinkerOutput, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); decimal m_CogenerationCoalConsumption = 0; m_CogenerationCoalConsumption = myCommonParameters.ElectricityToCoalFactor * (myGrossGeneration - myOwnDemand) / myClinkerOutput; ///////////////////////////用电折合用煤系数//////////////////////// Model_CaculateFactor m_ElectricityToCoalFactor_CaculateFactor = new Model_CaculateFactor(); m_ElectricityToCoalFactor_CaculateFactor.FactorName = "用电折合用煤系数"; m_ElectricityToCoalFactor_CaculateFactor.FactorValue = myCommonParameters.ElectricityToCoalFactor; m_Model_CaculateValue.CaculateFactor.Add(m_ElectricityToCoalFactor_CaculateFactor); ///////////////////////////总发电量//////////////////////// Model_CaculateFactor m_GrossGeneration_CaculateFactor = new Model_CaculateFactor(); m_GrossGeneration_CaculateFactor.FactorName = "总发电量"; m_GrossGeneration_CaculateFactor.FactorValue = myGrossGeneration; m_Model_CaculateValue.CaculateFactor.Add(m_GrossGeneration_CaculateFactor); ///////////////////////////自用电量//////////////////////// Model_CaculateFactor m_OwnDemand_CaculateFactor = new Model_CaculateFactor(); m_OwnDemand_CaculateFactor.FactorName = "自用电量"; m_OwnDemand_CaculateFactor.FactorValue = myOwnDemand; m_Model_CaculateValue.CaculateFactor.Add(m_OwnDemand_CaculateFactor); ///////////////////////////熟料产量//////////////////////// Model_CaculateFactor m_ClinkerOutput_CaculateFactor = new Model_CaculateFactor(); m_ClinkerOutput_CaculateFactor.FactorName = "熟料产量"; m_ClinkerOutput_CaculateFactor.FactorValue = myClinkerOutput; m_Model_CaculateValue.CaculateFactor.Add(m_ClinkerOutput_CaculateFactor); m_Model_CaculateValue.CaculateFormula = "用电折合用煤系数 * (总发电量 - 自用电量) / 熟料产量"; m_Model_CaculateValue.CaculateValue = m_CogenerationCoalConsumption; return(m_Model_CaculateValue); }
/// <summary> /// 计算电耗 /// </summary> /// <param name="myELCParameters">电耗参数</param> /// <param name="myMarterialsOutput">需要计算综合电耗的物料产量</param> /// <returns>电耗</returns> public Model_CaculateValue GetPowerConsumption(List <Model_BaseELCParameters> myELCParameters, decimal myMarterialsOutput, string myStaticsMarterialsName) { decimal m_PowerConsumption = 0; decimal m_UsedElectricity = 0; Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); if (myELCParameters != null) { for (int i = 0; i < myELCParameters.Count; i++) { m_UsedElectricity = m_UsedElectricity + myELCParameters[i].ProcessElectricityConsumption * myELCParameters[i].ProcessMaterialsUsedQuantity; if (i == 0) { if (myELCParameters[i].ProcessMaterialsUsedQuantity == 1) { m_Model_CaculateValue.CaculateFormula = myELCParameters[i].ProcessName + "耗电量"; } else { m_Model_CaculateValue.CaculateFormula = myELCParameters[i].ProcessName + "电耗 * " + myELCParameters[i].MarterialsName + "消耗"; } } else { if (myELCParameters[i].ProcessMaterialsUsedQuantity == 1) { m_Model_CaculateValue.CaculateFormula = m_Model_CaculateValue.CaculateFormula + " + " + myELCParameters[i].ProcessName + "耗电量"; } else { m_Model_CaculateValue.CaculateFormula = m_Model_CaculateValue.CaculateFormula + " + " + myELCParameters[i].ProcessName + "电耗 * " + myELCParameters[i].MarterialsName + "消耗"; } } Model_CaculateFactor m_Model_CaculateFactor = new Model_CaculateFactor(); if (myELCParameters[i].ProcessMaterialsUsedQuantity == 1) { m_Model_CaculateFactor.FactorName = myELCParameters[i].ProcessName + "耗电量"; } else { m_Model_CaculateFactor.FactorName = myELCParameters[i].ProcessName + "电耗"; } m_Model_CaculateFactor.FactorValue = myELCParameters[i].ProcessElectricityConsumption; m_Model_CaculateValue.CaculateFactor.Add(m_Model_CaculateFactor); if (myELCParameters[i].MarterialsName != myStaticsMarterialsName && myELCParameters[i].ProcessMaterialsUsedQuantity != 1) { Model_CaculateFactor m_Model_CaculateFactorX = new Model_CaculateFactor(); m_Model_CaculateFactorX.FactorName = myELCParameters[i].MarterialsName + "消耗"; m_Model_CaculateFactorX.FactorValue = myELCParameters[i].ProcessMaterialsUsedQuantity; m_Model_CaculateValue.CaculateFactor.Add(m_Model_CaculateFactorX); } } if (myMarterialsOutput != 0) { m_PowerConsumption = m_UsedElectricity / myMarterialsOutput; } m_Model_CaculateValue.CaculateValue = m_PowerConsumption; m_Model_CaculateValue.CaculateFormula = string.Format("({0})", m_Model_CaculateValue.CaculateFormula); m_Model_CaculateValue.CaculateFormula = m_Model_CaculateValue.CaculateFormula + " / " + myStaticsMarterialsName + "产量"; Model_CaculateFactor m_Denominator_CaculateFactor = new Model_CaculateFactor(); m_Denominator_CaculateFactor.FactorName = myStaticsMarterialsName + "产量"; m_Denominator_CaculateFactor.FactorValue = myMarterialsOutput; m_Model_CaculateValue.CaculateFactor.Add(m_Denominator_CaculateFactor); } return(m_Model_CaculateValue); }
/// <summary> /// 计算煤耗 /// </summary> /// <param name="myCLCParameters">煤耗参数</param> /// <param name="myMarterialsOutput">物料产量</param> /// <returns>煤耗</returns> public Model_CaculateValue GetCoalConsumption(List <Model_BaseCLCParameters> myCLCParameters, decimal myMarterialsOutput, decimal myStandardCalorificValue, string myStaticsMarterialsName) { decimal m_CoalConsumption = 0; decimal m_UsedCoal = 0; Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); if (myCLCParameters != null) { for (int i = 0; i < myCLCParameters.Count; i++) { m_UsedCoal = m_UsedCoal + myCLCParameters[i].ProcessCoalConsumption * myCLCParameters[i].ProcessMaterialsUsedQuantity * myCLCParameters[i].CoalLowCalorificValue; if (i == 0) { if (myCLCParameters[i].ProcessMaterialsUsedQuantity == 1) { m_Model_CaculateValue.CaculateFormula = myCLCParameters[i].ProcessName + "耗煤量 * " + myCLCParameters[i].MarterialsName + "低位发热量"; } else { m_Model_CaculateValue.CaculateFormula = myCLCParameters[i].ProcessName + "煤耗 * " + myCLCParameters[i].MarterialsName + "消耗 * " + myCLCParameters[i].MarterialsName + "低位发热量"; } } else { if (myCLCParameters[i].ProcessMaterialsUsedQuantity == 1) { m_Model_CaculateValue.CaculateFormula = m_Model_CaculateValue.CaculateFormula + " + " + myCLCParameters[i].ProcessName + "耗煤量 * " + myCLCParameters[i].MarterialsName + "低位发热量"; } else { m_Model_CaculateValue.CaculateFormula = m_Model_CaculateValue.CaculateFormula + " + " + myCLCParameters[i].ProcessName + "煤耗 * " + myCLCParameters[i].MarterialsName + "消耗 * " + myCLCParameters[i].MarterialsName + "低位发热量"; } } Model_CaculateFactor m_Model_CaculateFactor = new Model_CaculateFactor(); if (myCLCParameters[i].ProcessMaterialsUsedQuantity == 1) { m_Model_CaculateFactor.FactorName = myCLCParameters[i].ProcessName + "耗煤量"; } else { m_Model_CaculateFactor.FactorName = myCLCParameters[i].ProcessName + "煤耗"; } m_Model_CaculateFactor.FactorValue = myCLCParameters[i].ProcessCoalConsumption * 1000; m_Model_CaculateValue.CaculateFactor.Add(m_Model_CaculateFactor); if (myCLCParameters[i].MarterialsName != myStaticsMarterialsName && myCLCParameters[i].ProcessMaterialsUsedQuantity != 1) { Model_CaculateFactor m_Model_CaculateFactorX = new Model_CaculateFactor(); m_Model_CaculateFactorX.FactorName = myCLCParameters[i].MarterialsName + "消耗"; m_Model_CaculateFactorX.FactorValue = myCLCParameters[i].ProcessMaterialsUsedQuantity; m_Model_CaculateValue.CaculateFactor.Add(m_Model_CaculateFactorX); } ////////////////////煤粉低位发热量因数 Model_CaculateFactor m_CoalLowCalorific_CaculateFactor = new Model_CaculateFactor(); m_CoalLowCalorific_CaculateFactor.FactorName = myCLCParameters[i].ProcessName + "低位发热量"; m_CoalLowCalorific_CaculateFactor.FactorValue = myCLCParameters[i].CoalLowCalorificValue; m_Model_CaculateValue.CaculateFactor.Add(m_CoalLowCalorific_CaculateFactor); } if (myMarterialsOutput != 0) { m_CoalConsumption = (m_UsedCoal * 1000) / (myMarterialsOutput * myStandardCalorificValue); //煤耗煤为kg } m_Model_CaculateValue.CaculateValue = m_CoalConsumption; m_Model_CaculateValue.CaculateFormula = string.Format("({0})", m_Model_CaculateValue.CaculateFormula); m_Model_CaculateValue.CaculateFormula = m_Model_CaculateValue.CaculateFormula + " / (" + myStaticsMarterialsName + "产量 * 标准煤发热量)"; Model_CaculateFactor m_Denominator_CaculateFactor = new Model_CaculateFactor(); m_Denominator_CaculateFactor.FactorName = myStaticsMarterialsName + "产量"; m_Denominator_CaculateFactor.FactorValue = myMarterialsOutput; m_Model_CaculateValue.CaculateFactor.Add(m_Denominator_CaculateFactor); } return(m_Model_CaculateValue); }