PIPESIM Python Toolkit 系列(14):管网模拟——边界条件设置与批量运行

云智设计
云智设计
云智设计
编辑
158
文章
0
粉丝
PIPESIM评论31阅读模式

管网模拟(Network Simulation)是 PIPESIM 最核心的功能。PTK 通过 tasks.networksimulation 模块提供完整的模拟流程控制——从边界条件设置到结果提取,全部可编程化。

PIPESIM Python Toolkit 系列(14):管网模拟——边界条件设置与批量运行

获取当前边界条件

conditions = model.tasks.networksimulation.get_conditions()
# 获取特定 Study 的条件
late_life = model.tasks.networksimulation.get_conditions(
    study="Late Field Life")

设置边界条件

from sixgill.definitions import Parameters, Constants
boundaries = {
    "Well:VertComp": {
        Parameters.Boundary.PRESSURE: float('nan'),
        Parameters.Boundary.TEMPERATURE: 150,
        Parameters.Boundary.FLOWRATETYPE:
            Constants.FlowRateType.LIQUIDFLOWRATE,
        Parameters.Boundary.LIQUIDFLOWRATE: 200
    }
}
model.tasks.networksimulation.set_conditions(boundaries=boundaries)

运行模拟

关键性能提示:务必明确指定所需的系统变量和剖面变量!不指定时 PTK 会返回全部变量,严重影响性能。文章源自云智设计-https://www.cidrg.com/cid-college/tutorial/pipesim/26878.html

from sixgill.definitions import SystemVariables, ProfileVariables
system_vars = [
    SystemVariables.PRESSURE,
    SystemVariables.TEMPERATURE,
    SystemVariables.VOLUME_FLOWRATE_LIQUID_STOCKTANK,
    SystemVariables.BOTTOM_HOLE_PRESSURE,
]
profile_vars = [
    ProfileVariables.TEMPERATURE,
    ProfileVariables.ELEVATION,
    ProfileVariables.TOTAL_DISTANCE,
]
results = model.tasks.networksimulation.run(
    system_variables=system_vars,
    profile_variables=profile_vars)

带自定义条件的模拟

results = model.tasks.networksimulation.run(
    boundaries=boundaries,
    system_variables=system_vars,
    profile_variables=profile_vars)

这种"一次性传参"模式特别适合批量工况的排队模拟。文章源自云智设计-https://www.cidrg.com/cid-college/tutorial/pipesim/26878.html 文章源自云智设计-https://www.cidrg.com/cid-college/tutorial/pipesim/26878.html

云智设计应力分析服务

客服微信
扫一扫
weinxin
EngGPT
微信号已复制
云智微信公众号
扫一扫
weinxin
cidrg_com
公众号已复制
 
云智设计
  • 本文由 云智设计 发表于2026年6月17日 09:00:00
  • 本站原创文章转载请注明文章出处及链接,谢谢合作!
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证