WNTR学习笔记-2

示例

WNTR附带了一个简单的入门示例,如下所示,它使用EPANET示例网络3(Net3)INP文件。此示例演示如何:

  • 导入WNTR
  • 生成水网络模型
  • 模拟水力学
  • 在网络上绘制模拟结果
import wntr
from matplotlib import pyplot as plt # 建立管网模型 inp_file = Net3.inp' #GitHub上下载 wn = wntr.network.WaterNetworkModel(inp_file) #读入文件
# 画节点图,看不出来水泵啥的 wntr.graphics.plot_network(wn, title=wn.name) plt.show() # 水力模拟 sim = wntr.sim.EpanetSimulator(wn) results = sim.run_sim() # 在节点图上画出结果 pressure_at_5hr = results.node['pressure'].loc[5*3600, :] wntr.graphics.plot_network(wn, node_attribute=pressure_at_5hr, node_size=30, title='Pressure at 5 hours')

wntr的示例文件假定使用者对EPANET有使用经验,我表示EPANET有GUI,省心多了。

几个EPANET INP文件和示例文件也包含在示例文件夹中的WNTR存储库中。示例网络范围从简单的9节点网络到3000节点网络。额外的网络模型可以从肯塔基大学水分配系统研究数据库下载。

其他示例

其他示例 WNTR附带了说明高级用例的其他示例,包括:

  • 管道泄漏,随机模拟示例:此示例运行管道泄漏场景的多个液压模拟,其中位置和持续时间是根据概率分布绘制的。
  • 管道临界性示例:此示例运行多个液压模拟,以计算单个管道闭合对水压的影响。
  • 消防流示例:此示例在有消防流需求和无消防流需求的情况下运行水力模拟。
  • 传感器放置示例:此示例使用带有Chama的WNTR(https://chama.readthedocs.io)优化传感器的布置,使检测时间最小化。请注意,Chama需要Pyomo和MIP解算器,有关更多详细信息,请参阅Chama安装说明。
上一篇:Codeforces Round #685 Div. 2 C 题解


下一篇:整体二分