/// <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="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);
        }
 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="myClinkerProperties">熟料属性</param>
        /// <param name="myClinkerProcessMartieralsProperties">各耗电工序物料属性</param>
        /// <param name="myCommonParameters">公共参数</param>
        /// <returns>可比熟料综合电耗</returns>
        public Model_CaculateValue GetClinkerPowerConsumptionComparable(Model_ClinkerProperties myClinkerProperties, List <Model_MartieralsProperties> myClinkerProcessMartieralsProperties, Model_CommonParameters myCommonParameters)
        {
            Model_CaculateValue            m_Model_CaculateValueComparable = new Model_CaculateValue();
            List <Model_BaseELCParameters> m_ClinkerELCParameters          = new List <Model_BaseELCParameters>();
            //计算熟料电耗
            Model_BaseELCParameters m_Model_BaseELCParameters = new Model_BaseELCParameters();

            m_Model_BaseELCParameters.ProcessName    = "熟料综合电耗"; //获取工序名称
            m_Model_BaseELCParameters.MarterialsName = "熟料";     //获取物料名称

            m_Model_BaseELCParameters.ProcessElectricityConsumption = GetClinkerPowerConsumption(myClinkerProperties, myClinkerProcessMartieralsProperties).CaculateValue;
            m_Model_BaseELCParameters.ProcessMaterialsUsedQuantity  = myClinkerProperties.MarterialsOutput;
            m_ClinkerELCParameters.Add(m_Model_BaseELCParameters);
            m_Model_CaculateValueComparable = m_Base_PowConsumption.GetClinkerPowerConsumptionComparable(m_ClinkerELCParameters, myCommonParameters, myClinkerProperties);
            m_Model_CaculateValueComparable.CaculateName = "可比熟料综合电耗";
            return(m_Model_CaculateValueComparable);
        }
        /// <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);
        }
Пример #7
0
        /// <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);
        }