OpenModelica中带PumpMonitoringNPSH的泵模拟因吸入侧压损失败
MSL/Fluid中PumpMonitoringNPSH建模初始化失败问题
问题详情
- 使用MSL/Fluid的
PumpMonitoringNPSH模块对有效净正吸入压头(NPSH)有限的泵进行建模 - 添加吸入侧压力损失后模拟始终失败,调大吸入侧压力或管径均无法解决问题
- 注释监控模块并切换为
ConstantPropertyLiquidWater介质时,模拟可正常运行 - 运行环境:OpenModelica 1.20.0~dev-250-gb17e1a0
模拟报错信息
/tmp/OpenModelica_dh/OMEdit/Druckverlust.PumpenTeststand/PumpenTeststand -port=38349 -logFormat=xmltcp -override=startTime=0,stopTime=10,stepSize=0.02,tolerance=1e-06,solver=dassl,outputFormat=mat,variableFilter=.* -r=/tmp/OpenModelica_dh/OMEdit/Druckverlust.PumpenTeststand/PumpenTeststand_res.mat -w -lv=LOG_STATS -inputPath=/tmp/OpenModelica_dh/OMEdit/Druckverlust.PumpenTeststand -outputPath=/tmp/OpenModelica_dh/OMEdit/Druckverlust.PumpenTeststand IF97 medium function tsat called with too low pressure p = -161336 Pa <= 611.657 Pa (triple point pressure) Failed to solve the initialization problem with global homotopy with equidistant step size. Unable to solve initialization problem. simulation terminated by an assertion at initialization Simulation process failed. Exited with code 255.
分析与解决建议
- 核心原因:报错显示泵吸入侧出现远低于水三相点压力的负压,触发IF97介质模型的断言机制。
PumpMonitoringNPSH的初始化逻辑与吸入侧压力损失存在耦合冲突,导致初始计算阶段压力异常。 - 修复步骤:
- 固定初始吸入压力:在泵的吸入端口(
port_a)设置压力初始值并固定,例如p(start=101325, fixed=true),确保初始化时压力不低于三相点。 - 调整监控模块参数:给
PumpMonitoringNPSH的NPSH_required设置合理初始值(如1e4 Pa),避免初始化阶段触发NPSH保护逻辑导致压力计算紊乱。 - 分步调试介质模型:保留监控模块,先用
ConstantPropertyLiquidWater验证管路阻力逻辑正常,再切换回IF97介质,逐步调整参数保证压力在合理区间。 - 排查管路阻力参数:检查吸入侧管道的长度、粗糙度等参数是否合理,先简化管路(比如去掉部分阻力元件),确认基础模型正常后再逐步添加阻力。
- 固定初始吸入压力:在泵的吸入端口(
内容的提问来源于stack exchange,提问作者nift.d
相关产品推荐
相关产品推荐

