1. 循环物流收敛排障总览

在 Aspen Plus 中,循环物流(tear stream)是流程收敛问题最主要的来源之一。理解它为什么会被"撕开"、失败时软件到底在报什么、以及如何系统性地缩小排查范围,是后续 44 个具体案例能够被有效使用的前提。本节先建立一张全局地图:循环物流的形成机制、收敛失败的典型症状分类、排障总体策略,以及 45 例任务的组织逻辑。

一、循环物流是怎么形成的

Aspen Plus 求解流程时采用序贯模块法(SM)为主、可切换为联立方程法(EO)。序贯模块法要求信息流单向传递:每个单元模块按顺序计算,前一个模块的出口作为后一个模块的入口。一旦流程中存在回路——例如反应器出口经闪蒸、精馏后,未反应物料返回反应器入口——就出现了"后算的结果要作为先算的输入"的矛盾。软件的处理方式是:在回路中选一条物流"撕开"(tear),给它一个初值,然后迭代计算,直到撕开物流的两次迭代值足够接近。

因此循环物流的本质是一个不动点迭代问题:设撕开物流向量为 x,整个流程构成映射 F,收敛即求 x = F(x)。收敛判据通常由收敛块(Convergence)中的容差控制,默认对物料流采用相对容差 1e-4 量级、对撕裂流的最大迭代次数默认 30 次(可在 Convergence → Advanced 中调整)。当迭代序列不收缩、振荡或发散时,就表现为收敛失败。

需要区分两类回路:物料回路(如未反应气循环、溶剂再生循环)和能量回路(如热集成中某股物流的温度依赖另一股物流的换热结果)。前者是绝大多数案例的对象,后者常表现为"温度-流量"耦合振荡,排障思路不同。

二、收敛失败的典型症状

软件给出的信息往往只有一句 "Block XXX not converged" 或 "Tear stream not converged",但症状可以细分为几类,每类指向不同的根因:

  • 撕裂流残差单调下降但速度极慢:通常是初值远离解、或回路增益接近 1,需要更好的初值或换撕裂位置。
  • 残差振荡不衰减:回路存在强正反馈(如高循环比、放热反应与换热耦合),需要阻尼或改用 Wegstein/Broyden 方法。
  • 残差发散、出现负流量或负组成:物性/热力学方法选错、模块设定物理上不可行,或撕裂流初值严重失真。
  • 某单元模块自身报错(如精馏不收敛、闪蒸无解):循环只是"背锅",真正问题在单元操作。
  • 收敛后结果不合理(如循环量远大于进料、组分累积到异常值):收敛到了错误的解或存在多解。
排障第一原则:先确认"是循环没收敛,还是循环里的某个模块没算对"。把 Convergence 块的迭代历史打开(Convergence → Convergence → 勾选显示迭代信息),观察残差随迭代次数的变化曲线,比只看最终报错有用得多。

三、排障总体策略

推荐按"由外到内、由静到动"的顺序推进:

  1. 断环验证:临时把循环物流改为普通进料(给定合理流量与组成),让流程开环跑通。若开环都算不通,问题不在循环。
  2. 检查热力学与物性:确认物性方法适用于本体系(如含极性组分用 NRTL/UNIQUAC,烃类用 Peng-Robinson),检查是否有缺失二元交互参数。
  3. 审视撕裂流选择:优先撕开流量小、组分简单、对下游影响弱的物流;避免撕开温度敏感或组成复杂的物流。
  4. 调整收敛方法与参数:在直接迭代(Direct)失效时切换 Wegstein,强耦合时用 Broyden;适当增大迭代次数、放宽容差做"粗收敛"再收紧。
  5. 提供合理初值:用设计规格估算循环量,或先做简化模型得到初值再代入。

下面这张图把上述机制与策略组织成一张任务地图,同时标出 45 例案例的归类维度,便于后续按图索骥。

① 形成机制:回路 → 撕裂 → 不动点迭代 反应器 R-101 闪蒸/分离 FL-201 精馏塔 T-301 产品 P-401 未反应物料循环(撕裂流 S-05) 迭代方程:x = F(x),x 为撕裂流向量;收敛判据:相对容差 1e-4,默认最大迭代 30 次 收敛方法:Direct(直接迭代)→ Wegstein(加速)→ Broyden(强耦合) ② 典型症状 → 根因指向 残差振荡不衰减 回路增益≈1 / 强正反馈 → 阻尼、Wegstein 残差发散 / 负流量 物性方法错 / 初值失真 → 查热力学、给初值 单元模块自身报错 精馏/闪蒸无解 → 先修模块,非循环问题 收敛但结果异常 多解 / 错误解 → 换初值、查物料平衡 ③ 排障总体策略(由外到内) 断环验证 开环能否跑通 查物性方法 二元交互参数 选撕裂流 小流量、弱耦合 调收敛方法 Wegstein/Broyden 给初值 估算循环量 ④ 45 例任务地图(按根因归类) A 撕裂流选择与初值(约10例) B 收敛方法与参数(约8例) C 热力学/物性(约7例) D 单元模块耦合(约9例) E 能量回路与热集成(约5例) F 多解与结果校验(约6例)

四、45 例任务地图的组织逻辑

后续案例并非按软件菜单罗列,而是按"根因族"分组,使读者在遇到具体报错时能快速定位到同类案例。分组如下(示例性归类,具体案例在后续章节展开):

组别根因族典型场景首要动作
A撕裂流选择与初值循环量估计偏差大、撕裂位置不当断环估算、换撕裂流
B收敛方法与参数振荡、收敛慢、迭代次数不足切 Wegstein/Broyden、调容差
C热力学与物性组分缺失、二元交互参数缺省核对物性方法、补参数
D单元模块耦合精馏塔与循环耦合、闪蒸无解先修模块再谈循环
E能量回路与热集成换热网络温度-流量耦合解耦、分层收敛
F多解与结果校验收敛到异常解、物料不平衡换初值、做平衡校核

以一个教学示例说明如何用这张地图起步:某流程为甲苯加氢制甲基环己烷,反应器出口经闪蒸后,气相(含未反应氢)循环回反应器入口。运行后 Convergence 块报撕裂流未收敛,迭代历史显示残差在 1e-2 附近上下摆动、不下降。按地图判断属于 B 组(振荡型),先检查回路增益:循环氢流量约为新鲜氢的 6 倍,正反馈强。处理方式是先把收敛方法从 Direct 改为 Wegstein,并将阻尼因子设为 0.5 左右做粗收敛;若仍振荡,再检查闪蒸温度设定是否使循环气组成随压力微小变化而剧烈波动(这会把问题引向 C 组物性)。上述参数为示例性设定,实际值需按体系调试确定。

常见误区:一看到"循环未收敛"就盲目增大最大迭代次数。若残差本身在振荡或发散,增加迭代次数只会延长失败时间,不会改变结果。应先看残差曲线的形状,再决定是调方法、换撕裂流还是修模块。

掌握这张总览图后,后续每个案例都可以被放进"机制—症状—策略—分组"的框架中理解:先判断它属于哪一组,再按该组的首要动作切入,最后用物料平衡与结果合理性做闭环验证。这样 45 个案例就不是 45 个孤立技巧,而是一套可复用的排障体系。