Java教程

WNTR学习笔记-2

本文主要是介绍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安装说明。
这篇关于WNTR学习笔记-2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!