4. 循环回路中组分缺失与零流量问题

循环回路的收敛困难,很多时候并不是撕裂流股初值给得不好,而是回路里出现了“不该为零的组分变成了零”或“某条流股流量被压到极小值”。这类问题在 Aspen Plus 中往往表现为:收敛残差在某个量级反复震荡、撕裂流股更新后组分摩尔分数突然跳变、或者求解器报出“组分未在回路中出现”一类的警告。要排掉这类故障,需要把“组分初始化—零流量/极小流量—回收率设定”三件事串起来看,而不是孤立地调收敛参数。

一、组分缺失的根源:初始化把回路“掐断”了

循环回路在数学上是一个需要联立求解的方程组,但 Aspen Plus 的序贯模块法在每一轮迭代中,是把撕裂流股当作已知输入去逐模块计算的。如果撕裂流股的初值中某个组分摩尔分数为 0,而该组分实际上会由反应器或分离模块生成并返回,那么在第一轮计算里,下游模块接收到的该组分进料就是 0。对于精馏塔、吸收塔这类模块,进料中某组分浓度为 0 会直接影响其内部质量平衡和相平衡计算,轻则收敛变慢,重则模块直接报错或把该组分“锁死”在 0。

更隐蔽的一种情况是:组分确实存在于全局组分列表中,但由于撕裂流股初值只给了总流量和少数几个组分,其余组分默认按 0 处理。此时回路并非真的没有该组分,而是“初始时刻没有”。迭代若干轮后,该组分可能缓慢爬升,也可能因为数值下溢一直停留在 1e-12 量级,表现为“组分缺失”。

判断技巧:在 Convergence 的迭代历史中观察撕裂流股各组分摩尔流率。若某组分从第一轮起就恒为 0,而它在反应器出口或分离模块的某股产品中明显存在,基本可判定为初始化缺失,而非物性方法问题。

二、零流量与极小流量引发的数值问题

零流量比组分缺失更直接。当回路中某条流股的总摩尔流量被算成 0 时,其下游模块的进料为空,塔器的回流比、再沸比失去意义,泵和压缩机的功率计算也会出现除零。Aspen Plus 对严格为零的流股通常会给出警告并跳过部分计算,但对“极小流量”却不一定拦截——例如 1e-8 kmol/hr 的流量在数值上非零,却会让摩尔分数的分母极小,导致组分分数在 0 和 1 之间剧烈跳动,撕裂流股的更新量被放大,残差曲线呈现锯齿状。

极小流量常见的来源有三类:一是回路中设置了很小的排放(Purge)或采样流股,初值给得过小;二是反应器转化率极高,循环物料中未反应组分被压到极低;三是分离模块的回收率设定不当,把本该返回回路的组分几乎全部采出,回路内残留量趋近于零。第三类最容易被忽视,因为它表面上“收敛了”,实际上回路已经名存实亡。

三、回收率设定检查:让回路“有东西可循环”

回收率(Recovery)是分离模块把某组分分配到产品中的比例。在循环回路里,回收率直接决定了回路内该组分的持留量。以“反应器—闪蒸—循环”流程为例:若闪蒸罐设定轻组分回收率 0.999 进入气相产品,而该轻组分正是需要返回反应器的循环组分,那么液相返回流股中该组分只剩千分之一,回路内浓度被压到极低,下一轮反应器进料中该组分几乎为零,表现为“组分缺失”的假象。

检查时应逐条核对:回路内每个分离模块对每个关键组分的回收率方向是否正确、数值是否与工艺意图一致、是否存在多个模块的回收率叠加后把某组分“挤干”。一个实用的做法是把回路内所有分离模块的关键组分回收率列成一张表,沿回路方向累乘,看某组分回到撕裂点的比例是否低到不合理(例如低于 1e-4)。

循环回路组分持留与零流量诊断示意 反应器 R-101 转化率 0.98 闪蒸罐 V-101 轻组分回收率 0.999 气相产品 轻组分被采出 循环流股 S-12 轻组分残留 ≈ 1e-3 反应产物 99.9% 轻组分 0.1% 轻组分 撕裂流股:轻组分被压至极小 → 下一轮反应器进料缺失 诊断点:撕裂流股组分 摩尔分数恒为 0 或 1e-12

四、可执行的排查与修正顺序

面对疑似组分缺失或零流量的回路,建议按“先看数据、再改初值、后调设定”的顺序处理,避免一上来就改收敛算法掩盖问题。

  1. 定位撕裂流股并读取迭代历史。在 Convergence → Convergence 的迭代记录中,找到撕裂流股每一轮的组分摩尔流率,确认是“从第一轮就为 0”还是“迭代中逐渐衰减到 0”。前者是初始化问题,后者多为回收率或排放设定问题。
  2. 补全撕裂流股初值。不要只给总流量。按回路稳态的粗略物料衡算,为每个关键组分给出非零摩尔分数,且各组分之和归一。例如总流量 100 kmol/hr,轻组分初值给 5 kmol/hr 而非 0,哪怕真实值只有 0.5,也比 0 更利于模块启动。
  3. 检查回收率累乘。沿回路方向把各分离模块对关键组分的回收率相乘,若结果低于 1e-4,说明回路持留量过小,应调整回收率或增设返回路径,而不是靠调收敛容差硬压。
  4. 处理极小流量。对确实存在的极小排放流股,可将其流量下限设为合理值(如 0.01 kmol/hr),或在收敛前用 Design Spec 将其固定,避免分母趋零引起的分数震荡。
  5. 复核后再收敛。完成上述修正后,再回到收敛设置,必要时把撕裂流股的更新阻尼调小,观察残差是否单调下降。
不要用“把收敛容差放宽到 1e-3”来掩盖组分缺失。容差放宽后残差看似达标,但回路内某组分实际为零,物料衡算并不闭合,后续做灵敏度分析或换热网络设计时会集中暴露。

最后给出一份可直接对照的检查清单,用于每轮排障时逐项打勾:撕裂流股各组分初值是否全部非零且归一;回路内每个分离模块的关键组分回收率方向是否与工艺意图一致;回收率沿回路累乘是否低于 1e-4;是否存在流量小于 0.01 kmol/hr 的循环或排放流股;迭代历史中是否有组分摩尔分数长期停留在 1e-12 量级。五项全部通过,再判断是否为收敛算法本身的问题,才能避免把组分缺失误诊为数值不收敛。