Python居然还能用于巨大的工程项目!比如三峡发电量估算系统!
私信菜鸟获取本项目源码!私信007即可哦!
根据三峡的调度报告[1],发电机组的泄洪量跟库前水位是一个二次曲线关系。如果我们计算对应发电机台数下的水库泄洪量与发电机总额定流量的比值,称之为流量系数;这个流量系数与库前水位是二次曲线关系。根据拟合曲线和实测库前水位,我们可以估算流量系数;根据流量系数,我们就可以估算实测出库流量下的开机数,公式如下所示: if GeneratorNum > 32,GeneratorNum = 32. 其中 GeneratorNum是水轮机开机数,Outflow是实测出库流量,FlowCoeff是上文提到的流量系数,RatedFlow是平均每台水轮机的额定流量, int() 是指取结果的整数位,例如,int(15.8) = 15。 注1:流量系数为实际流量与相应发电机总流量之间的比值。 注2:图中只展示两组水轮发电机台数下的对应关系,但是其他台数也有类似曲线。 Fig. 2 不同开机台数下库前水位与流量系数拟合关系图 3.2 上下游水位差的计算 上下游水位差的计算比较容易实现,库前水位减去库后水位即可(水位差有时候也简称水头)。水位差的计算结果将用来估算水轮发电机的实时功率。 3.3 水轮发电机的实时功率估算 当水轮发电机的水头为额定水头,流速为额定流速时,发电机的额定功率是700 MW。 实际生产中,水轮发电机的水头往往达不到额定水头,因此发电机的功率也要小于额定功率。我们根据发电机的限制出力曲线[1],通过实时水头来估算水轮发电机的实时功率。 Fig. 3 左岸VGS机组的出力(功率)限制曲线 3.4 时段内总发电量估算 根据水轮机开机数,实时功率和流量系数,我们可以计算某时间内的总发电量,公式如下所示: 其中 Wt是该时段内总发电量,GeneratorNum是水轮机开机数,Poweri 是第i组发电机组的实时功率,FlowCoeff是流量系数,TimeStamp是时间间隔,本文中是6小时。 注:这里假定6小时内总发电量的相对变化可以忽略不计。 4. 模型实现流程图简介 三峡发电量估算系统的主要思路如Fig. 4 所示。模型的输入项包括库前后水位和出库流量,计算过程包括了前文提到的三个参数和总发电量,输出的结构包括发电量、实时功率等。 Fig. 5 模型流程示意图 5. 模型结果验证和讨论 这套估算系统的运算区间为 2012年7月8日至2016年7月31日,计算了每隔六小时的发电量,所有发电机总实际功率、弃水量和发电机开机数。为了验证估算系统的性能,笔者计算了2012年第三季度至2016年第三季度的各季度发电量,比较了模型计算值与实际发电量,结果见Fig. 6. Fig. 6 可以看出估算系统的结果与实际发电量非常接近,平均误差-1.70%,最大误差-4.22%。 鉴于笔者没有更精确的数据来验证模型,暂且认为该估算系统能够有效地估算三峡水库的发电量。 注:2012年Q3从7月8日开始计算,所以估计值比实际值少了七天的发电量。 Fig. 6 三峡发电量估算系统与各季度实际发电量的对比图(Data source: 长江电力 via 雪球网) 根据发电量估算系统的计算结果,我们可以计算出每月发电量,见Fig. 7. 由图可见,三峡水库发电量的高峰在7月至9月,也是长江流域的汛期;到了枯水期,即11月至来年3月,每月的发电量较少。这个趋势说明估算系统的运算结果与实际的来水情况相符合。 Fig. 7 三峡水库每月估算发电量 虽然估计值与实测值较为接近,该系统仍有可以改进的地方。例如:
由于笔者的数据量不足,暂时无法深入验证和改进模型;如果有了足够的数据,笔者希望能够在估算系统中增加调控、预测和梯级调度等components,也可以利用State-of-art的方法,例如Deep Learning等,来进一步等完善估算系统,同时也能够指导三峡水库的生产过程。 7 总结(Take-home points)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |