We should not dump REGION/BOUND/REGION_NODES to v2 inp file

This commit is contained in:
DingZQ
2025-02-05 16:01:18 +08:00
parent 08a4d4d2bb
commit 8751347103
2 changed files with 19 additions and 1 deletions

View File

@@ -53,7 +53,13 @@ def dump_inp(project: str, inp: str, version: str = '3'):
file = open(path, mode='w',encoding="UTF-8") file = open(path, mode='w',encoding="UTF-8")
for name in section_name: # REGION, BOUND, REGION_NODES 在 epanet v2 中没有,是我们自己定制的
# v2 需要去掉我们自己定制的 section
sections = section_names_for_epanetv2
if version == '3':
sections = section_name
for name in sections:
if name == TITLE: if name == TITLE:
file.write(f'[{name}]\n') file.write(f'[{name}]\n')
else: else:

View File

@@ -76,3 +76,15 @@ section_name = [TITLE, JUNCTIONS, RESERVOIRS, TANKS, PIPES,
EMITTERS, QUALITY, SOURCES, REACTIONS, MIXING, EMITTERS, QUALITY, SOURCES, REACTIONS, MIXING,
TIMES, REPORT, OPTIONS, COORDINATES, VERTICES, TIMES, REPORT, OPTIONS, COORDINATES, VERTICES,
REGION, BOUND, REGION_NODES, LABELS, BACKDROP, END] REGION, BOUND, REGION_NODES, LABELS, BACKDROP, END]
# DingZQ, 2025-02-04
# 我们在从服务器调用run_project的时候
# 会将 database的project内容dump成 epanet v2 的inp文件然后调用 runepanet.exe 去计算结果
# 其中上面的 SECTION REGION, BOUND, REGION_NODES 在 epanet v2 中没有,是我们自己定制的
# 所以需要将这些 section 从 section_name 中移除
section_names_for_epanetv2 = [TITLE, JUNCTIONS, RESERVOIRS, TANKS, PIPES,
PUMPS, VALVES, TAGS, DEMANDS, STATUS,
PATTERNS, CURVES, CONTROLS, RULES, ENERGY,
EMITTERS, QUALITY, SOURCES, REACTIONS, MIXING,
TIMES, REPORT, OPTIONS, COORDINATES, VERTICES,
LABELS, BACKDROP, END]