private Model_CommonParameters _CommonParameters; //公共参数 public Assembly_ParametersAndProperties_V1() { _CementProperties = new Model_CementProperties(); //水泥属性 _ClinkerProperties = new Model_ClinkerProperties(); //熟料属性 _CoalProperties = new Model_CoalProperties(); //煤粉属性 _CogenerationProperties = new Model_CogenerationProperties(); //余热发电属性 _RecuperationProperties = new Model_RecuperationProperties(); //余热利用属性 _ClinkerProcessPowerProperties = new List <Model_MartieralsProperties>(1); //熟料工序用电属性 _ClinkerProcessCoalProperties = new List <Model_MartieralsProperties>(1); //熟料工序用煤属性 _CementProcessPowerProperties = new List <Model_MartieralsProperties>(1); //水泥磨工序用电属性 _CementProcessCoalProperties = new List <Model_MartieralsProperties>(0); //水泥磨工序用煤属性 _CommonParameters = new Model_CommonParameters(); //公共参数 }
/// <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="myCementProperties">水泥属性</param> /// <param name="myCoalProperties">煤粉属性</param> /// <param name="myCementProcessMartieralsProperties">各耗煤工序物料属性</param> /// <param name="myClinkerCoalConsumption">熟料综合煤耗</param> /// <param name="myCommonParameters">公共参数</param> /// <returns>可比水泥综合煤耗</returns> public Model_CaculateValue GetCementCoalConsumptionComparable(Model_CementProperties myCementProperties, Model_CoalProperties myCoalProperties, List <Model_MartieralsProperties> myCementProcessMartieralsProperties, decimal myClinkerCoalConsumptionComparable, Model_CommonParameters myCommonParameters) { Model_CaculateValue m_Model_CaculateValueComparable = new Model_CaculateValue(); List <Model_BaseCLCParameters> m_CementBaseCLCParameters = new List <Model_BaseCLCParameters>(1); if (myCementProcessMartieralsProperties != null) { for (int i = 0; i < myCementProcessMartieralsProperties.Count; i++) { //求工序干基煤耗 Model_BaseCLCParameters m_Model_BaseCLCParameters = new Model_BaseCLCParameters(); m_Model_BaseCLCParameters.ProcessName = myCementProcessMartieralsProperties[i].ProcessName; //获取工序名称 m_Model_BaseCLCParameters.MarterialsName = myCementProcessMartieralsProperties[i].MarterialsName; //获取物料名称 if (myCementProcessMartieralsProperties[i].MarterialsOutput != 0 && myCementProcessMartieralsProperties[i].MarterialsWaterContent < 1 && myCementProcessMartieralsProperties[i].MarterialsWaterContent >= 0) { m_Model_BaseCLCParameters.ProcessCoalConsumption = (myCementProcessMartieralsProperties[i].CoalQuantity * (1 - myCoalProperties.CoalWaterContent)) / (myCementProcessMartieralsProperties[i].MarterialsOutput * (1 - myCementProcessMartieralsProperties[i].MarterialsWaterContent)) / 1000; } else { m_Model_BaseCLCParameters.ProcessCoalConsumption = 0; } m_Model_BaseCLCParameters.ProcessMaterialsUsedQuantity = myCementProcessMartieralsProperties[i].MarterialsInput * (1 - myCementProcessMartieralsProperties[i].MarterialsWaterContent); m_Model_BaseCLCParameters.CoalLowCalorificValue = myCoalProperties.CoalLowCalorificValue; m_Model_BaseCLCParameters.CoalWaterContent = myCementProcessMartieralsProperties[i].MarterialsWaterContent; m_CementBaseCLCParameters.Add(m_Model_BaseCLCParameters); } } if (myCementProperties != null) { Model_BaseCLCParameters m_Model_CementCLCParameters = new Model_BaseCLCParameters(); //增加熟料综合煤耗 m_Model_CementCLCParameters.ProcessName = "可比熟料综合煤耗"; //获取工序名称 m_Model_CementCLCParameters.MarterialsName = "熟料"; //获取物料名称 m_Model_CementCLCParameters.ProcessCoalConsumption = myClinkerCoalConsumptionComparable / 1000; m_Model_CementCLCParameters.ProcessMaterialsUsedQuantity = myCementProperties.ClinkerInput; m_Model_CementCLCParameters.CoalLowCalorificValue = myCommonParameters.StandardCalorificValue; m_Model_CementCLCParameters.CoalWaterContent = 0; m_CementBaseCLCParameters.Add(m_Model_CementCLCParameters); m_Model_CaculateValueComparable = m_Base_CoalConsumption.GetCementCoalConsumptionComparable(m_CementBaseCLCParameters, myCommonParameters, myCementProperties); } m_Model_CaculateValueComparable.CaculateName = "可比水泥综合煤耗"; return(m_Model_CaculateValueComparable); }
/////////////////////////////////////////水泥磨//////////////////////////////////////////// /// <summary> /// 计算水泥综合电耗 /// </summary> /// <param name="myCementProperties">水泥属性</param> /// <param name="myCementProcessMartieralsProperties">各耗电工序物料属性</param> /// <param name="myClinkerPowerConsumption">熟料综合电耗</param> /// <param name="myClinkerInput">熟料消耗量</param> /// <returns>水泥综合电耗</returns> public Model_CaculateValue GetCementPowerConsumption(Model_CementProperties myCementProperties, List <Model_MartieralsProperties> myCementProcessMartieralsProperties, decimal myClinkerPowerConsumption) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); List <Model_BaseELCParameters> m_CementBaseELCParameters = new List <Model_BaseELCParameters>(1); if (myCementProcessMartieralsProperties != null) { for (int i = 0; i < myCementProcessMartieralsProperties.Count; i++) { Model_BaseELCParameters m_Model_BaseELCParameters = new Model_BaseELCParameters(); //求工序干基电耗 m_Model_BaseELCParameters.ProcessName = myCementProcessMartieralsProperties[i].ProcessName; //获取工序名称 m_Model_BaseELCParameters.MarterialsName = myCementProcessMartieralsProperties[i].MarterialsName; //获取物料名称 if (myCementProcessMartieralsProperties[i].MarterialsOutput != 0 && myCementProcessMartieralsProperties[i].MarterialsWaterContent < 1 && myCementProcessMartieralsProperties[i].MarterialsWaterContent >= 0) { m_Model_BaseELCParameters.ProcessElectricityConsumption = myCementProcessMartieralsProperties[i].ElectricityQuantity / (myCementProcessMartieralsProperties[i].MarterialsOutput * (1 - myCementProcessMartieralsProperties[i].MarterialsWaterContent)); } else { m_Model_BaseELCParameters.ProcessElectricityConsumption = 0; } m_Model_BaseELCParameters.ProcessMaterialsUsedQuantity = myCementProcessMartieralsProperties[i].MarterialsInput * (1 - myCementProcessMartieralsProperties[i].MarterialsWaterContent); m_CementBaseELCParameters.Add(m_Model_BaseELCParameters); } } if (myCementProperties != null) { Model_BaseELCParameters m_Model_ClinkerELCParameters = new Model_BaseELCParameters(); //增加熟料综合电耗 m_Model_ClinkerELCParameters.ProcessName = "熟料综合"; //获取工序名称 m_Model_ClinkerELCParameters.MarterialsName = "熟料"; //获取物料名称 m_Model_ClinkerELCParameters.ProcessElectricityConsumption = myClinkerPowerConsumption; m_Model_ClinkerELCParameters.ProcessMaterialsUsedQuantity = myCementProperties.ClinkerInput; m_CementBaseELCParameters.Add(m_Model_ClinkerELCParameters); m_Model_CaculateValue = m_Base_PowConsumption.GetPowerConsumption(m_CementBaseELCParameters, myCementProperties.MarterialsOutput, "水泥"); } m_Model_CaculateValue.CaculateName = "水泥综合电耗"; return(m_Model_CaculateValue); }
/// <summary> /// 计算水泥可比电耗 /// </summary> /// <param name="myCementELCParameters">水泥电耗参数</param> /// <param name="myCommonParameters">公共参数</param> /// <param name="myCementProperties">水泥属性</param> /// <returns>水泥可比电耗</returns> public Model_CaculateValue GetCementPowerConsumptionComparable(List <Model_BaseELCParameters> myCementELCParameters, Model_CommonParameters myCommonParameters, Model_CementProperties myCementProperties) { Model_CaculateValue m_Model_CaculateValue = new Model_CaculateValue(); decimal m_CementPowerConsumptionComparable = 0; decimal m_CementPowerConsumption = GetPowerConsumption(myCementELCParameters, myCementProperties.MarterialsOutput, "水泥").CaculateValue; decimal m_CompressiveStrengthCorrectionFactor = (decimal)Math.Pow((double)(myCommonParameters.Cement_CompressiveStrength / myCementProperties.CompressiveStrength), 1 / 4); //强度修正系数 decimal m_AltitudeCorrectionFactor = 1; m_Model_CaculateValue.CaculateFormula = "水泥综合电耗"; Model_CaculateFactor m_Model_CaculateFactor = new Model_CaculateFactor(); m_Model_CaculateFactor.FactorName = "水泥综合电耗"; m_Model_CaculateFactor.FactorValue = m_CementPowerConsumption; m_Model_CaculateValue.CaculateFactor.Add(m_Model_CaculateFactor); if (myCementProperties.Altitude > myCommonParameters.Altitude) { m_AltitudeCorrectionFactor = (decimal)Math.Sqrt((double)(myCementProperties.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); } //水泥强度修正系数 m_Model_CaculateValue.CaculateFormula = "pow(水泥强度修正系数,1/4)" + " * " + m_Model_CaculateValue.CaculateFormula; Model_CaculateFactor m_CompressiveStrength_CaculateFactor = new Model_CaculateFactor(); m_CompressiveStrength_CaculateFactor.FactorName = "水泥强度修正系数"; m_CompressiveStrength_CaculateFactor.FactorValue = m_CompressiveStrengthCorrectionFactor; m_Model_CaculateValue.CaculateFactor.Add(m_CompressiveStrength_CaculateFactor); m_CementPowerConsumptionComparable = m_CementPowerConsumption * m_CompressiveStrengthCorrectionFactor * m_AltitudeCorrectionFactor; m_Model_CaculateValue.CaculateValue = m_CementPowerConsumptionComparable; 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); }