4. 设计规定创建与配置

设计规定(Design Spec)是 Aspen Plus 中把“我希望装置达到什么指标”翻译成“求解器应该自动调节哪个变量”的闭环控制机制。它的本质是一个带反馈的迭代回路:求解器先按当前输入完成一次流程计算,然后读取被控变量(Sampled Variable)的实际值,与目标值比较得到偏差,再根据偏差去修改调整变量(Manipulated Variable),重新计算,直到偏差落入容限或迭代次数耗尽。理解这一点,后面的每一个配置项才有明确归属——被控变量决定“看什么”,目标值与容限决定“算不算达标”,调整变量决定“动什么”,迭代参数决定“怎么动、动多久”。

新建 Design Spec 的入口在导航面板的 Convergence 分支下:右键 Convergence → New 会生成一个收敛模块(默认 CONV-1),再在其下新建 Design Spec。更常用的做法是直接使用 Flowsheet 菜单中的 Design Spec 工具,或在 Convergence → Convergence Options 中确认已启用设计规定求解。新建后会出现一个多标签页的配置窗口,核心是三个页面:Define(定义被控变量与目标)、Spec(选择调整变量并设定目标值与容限)、Vary(设置调整变量的上下限与步长)。部分版本把 Vary 合并进 Spec 页,逻辑一致。

第一步是定义被控变量。在 Define 页新建一个变量,命名建议带语义,例如 SPEC_DIST 或 TARGET_PURITY,避免使用 V1、V2 这类无意义名称,因为后续在收敛监视和报告中都要靠它识别。变量表达式可以直接引用流程变量,例如塔顶产品中某组分的摩尔分数 MOLEFRAC("DIST","BENZENE"),或流股的回收率、换热器的热负荷、反应器的转化率。表达式支持四则运算,因此可以构造复合指标,例如用 (MOLEFRAC("DIST","A")-0.995)*100 把偏差放大到百分数量级,便于观察收敛过程。定义完成后务必点击确认,让 Aspen Plus 解析表达式并显示当前计算值,若显示为 0 或报错,说明变量路径写错或该变量在当前收敛状态下不可用。

第二步在 Spec 页把被控变量与目标值绑定。目标值应填写工艺上真正要求的数值,例如塔顶苯摩尔分数 0.995。误差容限(Tolerance)是判断“达标”的阈值,默认值通常为 1E-4,对于摩尔分数这类 0~1 量级的变量是合理的;但如果被控变量是热负荷(量级 1E6 W)或流量(量级 1E3 kmol/hr),沿用 1E-4 会导致求解器永远无法满足,必须按变量量级放大,例如热负荷取 1.0 W、流量取 0.01 kmol/hr。容限过松会让结果偏离工艺要求,过紧则造成迭代震荡或不收敛,经验做法是先取工艺允许偏差的 1/10 作为容限。

第三步选择调整变量。这是设计规定成败的关键:调整变量必须对被控变量有显著且单调的灵敏度,同时具备物理可操作性。精馏塔分离指标通常选回流比或采出量;反应器出口浓度可选进料量、反应温度或催化剂装填量对应的参数;换热网络中的出口温度可选冷却水流量或旁路开度。选择前建议先用灵敏度分析扫一遍候选变量,确认其变化能带动被控变量同向移动,否则设计规定会在两个方向之间来回摆动。在 Vary 页要给出调整变量的上下限,例如回流比 0.5~10,下限防止出现负值或零回流,上限防止求解器跑到不物理的区域;步长(Step Size)用于数值求导,一般取变量量级的 1%~5%,过大导致导数失真,过小则易受计算噪声干扰。

第四步设置迭代参数。在 Design Spec 的 Iteration 或 Convergence 选项中,最大迭代次数(Maximum Iterations)默认 30,对于单变量设计规定通常足够;若被控变量对调整变量响应很弱,可放宽到 50~100,但要同时观察是否出现周期性震荡。收敛方法上,Aspen Plus 对设计规定默认采用 Secant 或 Broyden 类拟牛顿法,单变量问题用 Secant 更稳健。此外要确认收敛模块的撕裂流与计算顺序:设计规定是在流程收敛之后叠加的外层循环,若内层流程本身不收敛,外层调节毫无意义,因此应先把流程收敛稳定,再启用设计规定。

Design Spec 闭环:被控变量 → 偏差 → 调整变量 → 重算 流程计算 按当前输入求解 得到收敛状态 采样被控变量 MOLEFRAC("DIST","BENZENE") 当前值 = 0.9821 偏差比较 目标 0.995 − 实际 0.9821 偏差 0.0129 > 容限 1E-4 调整变量 Vary 回流比 RR:0.5 ~ 10 步长 0.05,Secant 更新 迭代控制 最大迭代 30 次 |偏差| ≤ 容限 则停止 收敛结果 RR = 2.37 塔顶苯 = 0.9950 未达标:更新调整变量后返回流程重算 配置要点 ① 变量命名带语义,表达式先确认可解析 ② 容限按变量量级设定,勿盲目沿用 1E-4 ③ 调整变量须对被控变量灵敏且单调 ④ 先收敛内层流程,再启用外层设计规定

配置完成后不要急于看最终结果,而应先打开 Convergence → Convergence Monitor 或 Design Spec 的 History 页,观察每次迭代的偏差序列。健康的收敛曲线应单调下降,例如偏差从 0.0129 → 0.0041 → 0.0008 → 2E-5,三四步内进入容限;若偏差在正负之间反复跳变,说明调整变量方向选反或步长过大;若偏差几乎不变,说明该调整变量对被控变量不灵敏,需要换变量;若迭代次数用尽仍未达标,先检查容限是否过严,再检查调整变量是否已顶到上下限。上下限被顶住是常见陷阱:求解器想继续增大回流比,但 Vary 页上限只给到 3,于是永远差一点,此时应放宽上限而不是加大迭代次数。

下面给出一份可直接对照填写的配置样例,对象为苯—甲苯精馏塔,要求塔顶苯摩尔分数达到 0.995,用回流比作为调整变量。表中数值为教学示例设定,实际项目需按物性与工艺要求调整。

配置项 所在页面 示例取值 说明
被控变量名 Define PURITY_DIST 语义化命名,便于监视
变量表达式 Define MOLEFRAC("DIST","BENZENE") 塔顶产品苯摩尔分数
目标值 Spec 0.995 工艺要求的分离指标
误差容限 Spec 1E-4 摩尔分量级,取工艺偏差的 1/10
调整变量 Vary 回流比 RR 对塔顶纯度灵敏且可操作
上下限 Vary 0.5 ~ 10 防止零回流与非物理解
步长 Vary 0.05 用于数值求导
最大迭代 Iteration 30 单变量通常足够
判断设计规定是否真正生效,有一个简单办法:在结果中查看调整变量的最终值是否与初始值不同。若回流比仍是手工输入的初值,说明设计规定没有被激活或变量表达式未被正确解析,此时应回到 Define 页确认变量当前值是否随流程刷新。
常见错误是把容限设成 1E-8 追求“绝对精确”。Aspen Plus 的流程计算本身存在数值容差,过严的容限会让求解器在容限附近反复震荡直至迭代耗尽,最终报告“未收敛”,而实际上工艺指标早已满足。容限应服务于工艺判断,而不是追求数学上的零偏差。

最后需要强调配置顺序与依赖关系:先保证流程在无设计规定时能稳定收敛,再定义被控变量并确认其可解析,然后绑定目标值与容限,接着选择调整变量并给出合理上下限与步长,最后设定迭代次数并运行。每一步都可在收敛监视中留下可观察的证据,出现异常时按“变量是否可解析 → 调整变量是否灵敏 → 上下限是否顶住 → 容限是否过严”的顺序排查,比盲目增加迭代次数有效得多。