大数跨境

聊聊ASPEN HYSYS的动态求解引擎

聊聊ASPEN HYSYS的动态求解引擎 国际项目创新平台-石化建设分会
2025-06-17
2

到目前为止关于化工流程模拟软件的求解引擎我已经写过不少篇文章,其中包括《聊聊化工流程模拟软件的数值求解器引擎》一文当中聊到的不同软件的底层稳态求解引擎,以及在《化工流程模拟软件里EO求解器的真正工业价值是什么?》讨论过EO求解器的存在意义。但对于OTS场景最重要的动态求解器引擎,我还没有探讨过,仅仅是在《Aspen Plus 和 Aspen HYSYS 之间为什么不能互转模型?》当中简单提及。那么这篇文章我就详细讨论一下Aspen HYSYS以及与它同源的UniSim和Petro-SIM背后的动态求解引擎的运作原理。

动态模拟广泛应用于油气处理、天然气脱水、LNG 液化等高气相比例流程的动态模拟与操作培训(OTS)场景。但事实上,动态模拟在流程工业中真正的战略价值,远不止于 OTS 培训它在控制系统的设计与调试阶段,尤其在 APC 和 RTO 的前期架构设定中,扮演着越来越不可替代的角色。但这一点常常被忽视。很多流程工程师仍停留在“控制系统交给自控组,建模系统只管OTS”这种割裂式思维中,却没有意识到动态模型是连接这两者的“认知桥梁”。未来的流程工业趋势正朝着过程强化(Process Intensification)和 EPC 工程模块化方向发展。换句话说,装置之间、操作之间未来将慢慢演变成不再是线性串联的塔—换—泵—反组合,而是集成化、压缩化的“超级单元”模块,例如 DWC、膜反应器、反应蒸馏塔、旋转床等。这些模块结构紧凑,变量之间高度耦合,控制自由度反而减少,对扰动的敏感性更高。随手发个Exxonmobil SABIC 前几年模块化工程运输图大家可以直观感受下:

而这种情形下没有动态模拟提供结构机制的前瞻性理解,单靠系统辨识推导控制矩阵,不仅容易遗漏关键通道,还会严重依赖现场调参试错,推高调试成本与时间风险。因此,动态模拟器必须从“运行模拟器”角色跃升为“控制系统设计平台”,它应与系统辨识形成互补协作,而非彼此替代的二元对立关系。只有在机理模型的支持下,系统辨识才能得到合理的结构约束,识别出的矩阵才有物理意义,也更容易推广到动态优化(RTO)层级。

在目前的商业流程模拟软件市场上,gPROMS和AVEVA Process Simulation都有各自不同的动态求解策略,而HYSYS动态求解器引擎之所以在激烈的竞争中依旧在上述工业应用场景中能够站稳脚跟,不是因为它具备通用的数学求解能力,而是因为它在“工业工程性可控”与“局部解耦精度”之间做出了一套极其聪明的权衡。但这一求解器的底层机制,多年来对外始终语焉不详,很多用户面对其流程图界面和动态模式下的时间步设置功能,便理所当然地认为它在内部构建了一个类似 gPROMS 或 Dymola 那样的全流程 DAE 联立结构,解的是高阶微分代数系统、含刚性项的 Jacobian、依赖高阶隐式积分器。这种理解表面合理,实际却完全错误。

正像我之前在《流程模拟与控制:从割裂走向融合的数字化转型之路》一文中所提到的,我最初接触动态模拟是在十六年前的帝国理工,当时深入学习了 gPROMS 的 DAE 求解体系,对其高度数学化、支持隐式积分器和 index reduction 的全联立模型架构印象深刻,一度认为这是流程模拟的终极形式。但随着我后来接触并深入研究 HYSYS 和 UniSim 的动态求解策略,尤其是在参与 Honeywell 的 UniSim 动态流程模型维护工作之后,我开始意识到:相比 gPROMS 这种以追求模型完备性为导向的“数学驱动式”求解架构,HYSYS 代表的是一种“工程驱动式”的数值哲学,其内部求解器设计充满了对工业流程动态特性的现实考量,最终我被这种看似粗犷实则精巧的解耦机制所深深吸引。

上面我说过,UniSim、Petro-SIM 与 HYSYS 同源,在底层结构上有高度重合,某些模块甚至是共用的 solver wrapper。在我调试UniSim 动态模型的过程中,几乎每一次深入到模块耦合、变量传递、事件推进的细节层,都会更加确认:HYSYS 的动态求解器从一开始就不是为了解 DAE 而设计的,它不是简化的联立求解器,而是工程性地绕开了 DAE 所带来的结构刚性、指数问题与收敛敏感性。其最本质的设计哲学,是通过对系统自由度的精确控制,将全流程变量分成两类:

  • 一类是代数变量,如压力、流量、密度、K 值、焓等,它们不随时间演化,只在每个时间步上即时更新,用于辅助状态解算;

  • 另一类是动态状态变量(也就是存在显性d/dt数学项的变量),如温度、组分、液位等,它们才具有物理蓄积意义,才对应明确的一阶ODE;

  • 两者在数值结构上彻底解耦,使得系统从根本上避免形成 DAE,也就无需 index reduction、Jacobian 联立、隐式高阶积分器这类复杂结构。


换句话说,HYSYS 的整个仿真内核就是一台自由度可控的模块式动态模拟机,它在工程上通过设计避免了 DAE 所代表的一整类数值问题。正因如此,它才能在大型流程、多回流路径、高非线性热力学条件下,仍能保持稳定仿真,并广泛部署于工业级控制系统与 OTS 平台中。

HYSYS 的动态求解架构建立在 Sequential Modular(SM)模式之上。这意味着在每一个时间步内,流程图中的每个单元操作模块都会按照流程拓扑顺序依次被激活,各模块之间通过物流变量(如流量、温度、组分、压力)传递状态信息。这种求解方式避免了全流程变量联立带来的刚性问题,也避免了 Jacobian 矩阵求解带来的维数爆炸,每个模块只需关注自己的局部ODE方程组或全局代数方程组即可。

每一个时间步的求解,从控制器逻辑开始。HYSYS 会首先调用控制器模块,读取上一时间步的被控变量(如塔顶温度、罐液位、出口流量等),计算新的操纵变量(MV),如阀门开度、泵速、冷剂设定温度等。这些操纵变量在本时间步即时生效,传递给下游的阀门、泵、热交换器等单元操作模块,成为本轮 Pressure-Flow Solver 的边界条件。随后,P/F Solver 基于最新的操纵变量状态,计算出所有流股的瞬时流量、方向、压差与节点压力,建立起物流网络的动态平衡。这一时序反映出 HYSYS 动态求解器中“先控制、后物流、再物性与状态”的清晰流程驱动链条。

接下来进入 Pressure-Flow Solver 的求解阶段。这一求解器是 HYSYS 动态模拟的“神经中枢”,它在每一个时间步上都必须执行,负责解出整条流程中所有流股的瞬时流量、流向、节点压力和平衡压差。它所依据的是 Darcy-Weisbach 或阀门 Cv 式样的准稳态流体力学模型,即默认在每个时间步内系统达到流体力学平衡,忽略微观惯性项。这也是所谓的 quasi-steady-state approximation(准稳态假设)。其本质是一个描述全流程压力/流量网络行为的代数方程组,不含任何时间导数,因此可以在每个时间步内被当作独立求解问题处理。

HYSYS 对不同类型模块所采用的时间推进频率也做了严格而灵活的划分:

  • Pressure/Flow 网络每一个最小时间步必定全局执行一次,用于保障物流计算的实时性;

  • 液位模块(如储罐、塔板)中的 holdup ODE 通常也是按最小时间步执行一次,用以捕捉液位波动但不过度频繁调用物料积累;

  • 控制器逻辑模块默认每2步全局执行一次,频率略低于压力/流量网络模块以及液位模块,但动态模拟首次迭代步却是从此模块的计算开始的。

  • 模块内部能量守恒(如温度 ODE)默认每 5 步更新一次,频率略低于液位更新,反映出热惯性较大的物理本质;

  • 热力学 Flash 主导的组分平衡更新默认每 10 步执行一次,是更新频率最低的模块,用于刷新密度、K 值、焓等关键物性。


这种错位时间步的策略设计,既避免了全联立系统中统一时间步所引发的 stiffness,也确保每类方程根据其物理演化速度按需更新,从而在保证精度的同时大幅降低数值负担。值得强调的是,HYSYS 动态求解器对系统自由度的严格控制也正体现在对“辅助变量”的处理方式中。以密度为例,这个变量的特殊之处在于它是贯穿于Pressure/Flow网络、液位模块、能量守恒模块和闪蒸计算模块的重要变量。它虽然在物流解算与能量换算中频繁使用,却绝不是一个“动态变量”,因为它没有物理蓄积意义,也不对应任何一阶时间导数。在 HYSYS 中,密度完全由 Flash 模块根据当前时间步的 P、T、z 返回,并在 每轮闪蒸计算更新之后被当作常数来在其他模块中使用。换句话说,在所有 ODE 模块中,密度始终被视作已知参数——它不会出现在 ODE 左边的导数项中,也不会被ODE和代数方程(AE) 同时联立成DAE来求解。这正是为什么在解温度、组分、液位的动态微分方程时,每个模块在各自的每个迭代步内的自由度始终为零:每一个状态变量都有且仅有一个导数项,每一个导数项对应一个独立方程,无需增设代数变量以补偿耦合缺口。

如果像 DAE 系统那样允许变量之间以代数形式交叉耦合,就会打破这一自由度封闭性,从而引入解算刚性、Jacobian 奇异或结构不适定等问题。而 HYSYS 所构建的模块式求解器结构,正是通过“变量分类”和“解耦冻结”这两种机制,将系统始终维持在 ODE /AE之间完全分离、互不干扰的数学结构上。而闪蒸计算模块延迟执行的背后逻辑在于:只要扰动不剧烈,系统状态在几个时间步内的焓、密度、K 值不会发生实质性跳变,因此可以将上一轮闪蒸计算的输出视为常数来使用。这一做法大大降低了对闪蒸计算求解算法的调用频率,提升了模拟速度,避免了热力学震荡带来的 Jacobian 奇异与 stiffness 问题。

值得注意的是,在上述模块 ODE 的时间推进中,HYSYS 默认采用的是 Fully Implicit Euler(全隐式欧拉法)作为基础积分器。这一选择并非偶然,而是出于对工业系统稳定性与鲁棒性的优先考量。尽管显式积分器在一些小系统中可以带来更快的数值推进,但对于多级串联、具有 recycle 环路、耦合时间尺度差异较大的流程系统,显式方法一旦时间步取大就容易发散,而隐式欧拉法即使在较大时间步下也能保持数值稳定,尤其适用于液位、温度、组分等变量较慢、但又要求全局一致性的动态演化。相比 gPROMS 等平台中广泛使用的 Gear BDF 系列多步法,HYSYS 的 Fully Implicit Euler 看似低阶,实则更契合流程模块式解算的架构,也便于维护自由度结构的闭环性。每个模块的状态变量推进只需解一组小规模代数方程,无需在全流程层面构建大规模 Jacobian 或执行 Newton-Raphson 联立迭代,这种不同模块按不同时间步长频率独立更新机制也大大降低了 DAE 联立求解的代价。

从整体结构上看,HYSYS 的动态求解器像是一台流程结构驱动的解耦积分机。控制器作为启动器,驱动物流网络解算,物流决定模块入口条件,模块再依序解算状态变量,热力学属性则周期性刷新,全系统依赖流程拓扑顺序推进。所有模块在数学结构上互不耦合联立,变量之间传参清晰,彼此之间构成一种“热力学上弱耦合、逻辑上强连接”的工程数值体系。你可以说,它在热力学精度和求解稳定性之间做了务实而成熟的折中。正是因为不去追求全联立、多刚性指数、自动 Jacobian 的高阶数学“优雅性”,它才得以在全球海量天然气、LNG、脱硫、乙烷回收等工业流程中稳定运行十年以上,哪怕是部署在千兆瓦级现场控制系统上的 OTS,也几乎很少因为“求解器不稳”而终止仿真。换句话说,HYSYS 动态求解器并不羞于自己“不联立”的设计,反而把这一思路做到了极致工程化。这种解耦结构,不是“DAE 求解器的弱化版”,而是另一条工业流程动态模拟的正统路径。你可以说它牺牲了一部分热力学耦合精度,但换来了工程运行中的鲁棒性、速度与透明度。正是这种策略,让 HYSYS 能够在全球海量 OTS 系统中被放心部署,而不像某些全联立 DAE 系统那样频繁出现 stiffness 报错或 Jacobian 奇异。理解了它的解耦逻辑,也就不会再误以为它是“DAE 求解器的简化版”,它从一开始走的就是另一条工业路径。




📌 关于作者
洪博士,霍尼韦尔首席化学工程师,长期专注于能源化工领域的数字化研发设计运维工作,深度参与全球多项工业4.0级别项目。SCI期刊审稿人,企业数字孪生与控制系统改造顾问,知乎热榜作者。
知乎主页 👉 https://www.zhihu.com/people/boris-51

📬 关注更多原创内容
本公众号将同步发布我在知乎的全部原创系列文章,并逐步推出专属栏目,包括案例拆解、数字孪生实战、流程模拟控制逻辑与建模哲学等内容。欢迎设为“星标”,不错过更新。如有问题,欢迎留言讨论,交流不限于文章话题。



【声明】内容源于网络
0
0
国际项目创新平台-石化建设分会
中国国际项目管理协同创新平台发起单位由重点企业、大学和科研单位、金融单位等组成,帮助 “一带一路”沿线国家的工业、基础设施等建设。石化建设分会,是2007年在民政部注册的非盈利社团机构。
内容 0
粉丝 0
国际项目创新平台-石化建设分会 中国国际项目管理协同创新平台发起单位由重点企业、大学和科研单位、金融单位等组成,帮助 “一带一路”沿线国家的工业、基础设施等建设。石化建设分会,是2007年在民政部注册的非盈利社团机构。
总阅读0
粉丝0
内容0