Hysys Recycle模块与物流撕裂技巧

本文主要是对Hysys 8.8/9.0 的新版说明文档中Recycle模块的翻译,加入了一些个人理解。
本文的内容仅供参考,若有错误,你打我啊=w=(告诉我也行)。

稳定而高效地求解循环物流的能力,对任一流程模拟器来说都至关重要。在这一方面,Hysys相对其他模拟软件具有先天优势。Hysys中能够以非序贯的方式对部分单元模型进行反向计算,可以明确地解决部分循环物流,例如,你可以通过换热器的出口物流参数计算该单元的进料物流。而当下游物流与上游物流出现了混合时,则需要使用Recycle单元。

大多数情况下,对于换热和压力变化模块是可以通过下游物料计算上游组成的。但也有例外的情况,比如上游的温度是一个已知值,下游虽然是初值,但其状态也是可变的时(多见于塔器热回收)此时与其依靠你想计算+Adjust,不如使用Recycle。

Recycle是流程中的一个概念模块。该模块允许物料参数从入口到出口(forward),或是从出口到入口(backward)进行传递。在问题求解的角度上,也就是确定两个物流中,哪个作为假定而哪个作为计算值。如果用户选择从入口到出口作为温度变量的传送方向,则假定值是入口温度,而计算值是出口温度。(上面的假定值和计算值是数值方法中的概念,在这里主要是只解Recycle所内含的非线性方程时所使用的迭代算法中所用的概念。下文将会有所涉及。)

Hysys将遵循下列步骤对Recycle进行计算:

  1. Hysys使用假定值计算Recycle模块附近的流程;
  2. 完成计算后,Hysys会提取连接到Recycle的物流的参数,将假定值与计算值进行对比;
  3. 根据计算值和假定值的差异,Hysys会生成下一次计算的所用的假定值;
  4. 当假定值与计算值的差异小于容差(tolerance)时,计算结束。

注意:使用循环建议(Recycle Adviser)可以减少流程中的Recycle模块数量,并将Recycle模块调整到最适合进行物流撕裂的位置。该功能不单单调整了物流撕裂的位置,也优化了各个Recycle的计算顺序。


- Property View 属性总览 选项卡

项目 描述
Continue按钮 当循环迭代计算达到限制的次数后,点击该按钮可以继续进行迭代计算。

+ Connection Tab 物流连接

物流连接 选项卡里包含了两组页面:

  • Connections 物流连接一般状况下都用图形界面完成连接的吧...
  • Notes 笔记界面一个好的模拟应该要让后面的人看懂,嗯...

具体的连接方式在这里就不详细翻译了。
但还是要提示一点,连接页面中的Fluid Package(物性包)会影响Recycle模块推算下一个假定物流。如果上下游出现物性差异,请确定这里的选择是否合适。


- Parameters Tab 参数 选项卡

参数选项卡包含了下面两组页面:

  • Variables 变量设置
  • Numerical 数值方法设置

如果安装了Hysys petroleum Refining还会多一个收敛(Convergence)页面。对不起我没有

+ Variable Pages 变量设置 界面

Hysys允许您为列出的每个变量和组件设置收敛指标。 此处输入的灵敏度(sensitivity)实际上充当Hysys内部收敛容差的倍率。看例子呗
下表中是各个参数的内置容差,除了流量是相对差,其他参数均使用绝对差。

变量类型 内置容差
气相比率 Vapour Fraction 0.01
温度 Temperature 0.01
压力 Pressure 0.01
流量 Flow 0.001
焓 Enthalpy 1.00
组分 Composition 0.0001
熵 Entropy 0.01

注意:在乘以灵敏度(默认为10)以后,气相比率的内置容差为0.1,看起来过于宽容。然而,在大多数情况下,如果其他的变量均已收敛,则Recycle两侧物流的相态一致。对于近沸点(露点/泡点)的体系而言,由于其他参数的细微变化就会引起气相比率的剧变,宽容的气相比率会有助于收敛的进行。


例如,温度内置容差为0.01,默认乘以10(灵敏度),因此回收收敛算法使用的绝对容差为0.01 * 10 = 0.1。因此,如果Recycle要收敛,假定温度和计算温度必须之差在0.1℃之内(℃是内部单位。在执行计算之前,Hysys总是将输入值转换为内部单位)。

灵敏度=10(默认)是正常的,建议用于常见的计算。 小于10的值更严格,也就是说,乘数越小,收敛宽容度越小。


注意:无需把各个参数的倍率(灵敏度)设置为同一数值。若你对关键组分的要求是ppm级别,你可以只把该组份的倍率调少。ppm级别的话,至少要在0.001以下


Transfer Direction(传递方向)列允许你设置参数的传递方向。其中有三种选项:

  • 不传递 not to transfer
  • 向前传递 transfer forward
  • 往后传递 transfer backward

如果您只想传递部分物流变量,则可以使用未转移选项。 例如,如果您只想传递P、T、组分和流量,则其他变量可以设置为“not to transfer”。

若你勾选了部分步进(Take Partial Steps)复选框后,只要能传递的变量足够Recycle进行计算的,Recycle就会进行计算;反之,Recycle会等待所有变量都计算结束后才进行下一个迭代循环的计算。默认情况下,复选框是没有勾选的。

除了能收敛基本物性外,Recycle还能对各个组分在设定容差下进行迭代。循环物流的物流会自动添加到Recycle的计算逻辑中。若勾选了使用组分灵敏度(Use Component Sensitive)复选框时,Recycle会使用单独组分的灵敏度会覆盖整体的灵敏度进行计算。默认情况下,该复选框不会被勾选。 选择使用组分灵敏度后,各个组分的灵敏度会在列表中列出。默认的组分灵敏度为10.00。你所做的每一个变动都会被记录。


+ Numerical Page 数值方法设置 页面

数值方法设置页面包含了Wegstein加速方式(Wegstein Acceleration Method)的各种选项。Recycle会根据设置修改参数的传递方式,而非直接替换。

下表列出了数值方法设置的参数:

参数 描述
计算模式 Calculation Mode 嵌套 Nested:使用嵌套模式后,当求解器计算到Recycle模块时,才进行Recycle的计算。如果流程中有多个不相连的Recycle,可使用嵌套模式。
同时 Simultaneous:所有设置为同时模式的Recycle会在循环物流(计算端)计算结束后被唤醒。如果流程中有多个相连的Recycle,使用同时模式。
加速方式 Acceleration Method Wegstein:忽略被加速的变量之间的关系。
主导特征值 Dominant Eigenvalue:包含被加速变量之间的关系。进而,该模式更适用于物系非理想度高或有强烈相互作用的情况下
迭代限制 Maximum Iteration Recycle自动停止前可进行的最大的迭代次数。你可以点击Continue按钮以继续计算。
闪蒸计算方式 Flash Type Recycle计算假定物流所使用的闪蒸方式。
Wegstein 参数 Wegstein Parameters 加速频率 Acceleration Frequency:为Recycle设定两次应用变量加速的间隔(数值越小加速次数更多)
松弛系数上限 Q Maximum:加速时所用的松弛系数上限。(默认0,最大1)。
松弛系数下限 Q Minimum: 加速时所用的松弛系数的下限。(默认-20)
加速延时 Acceleration Delay:为Recycle设定收敛运行多少次后才开始引入加速。
颗粒大小分布 PSD Properties 颗粒大小分布Practicle size distribution - 要使流股数据中包含PSD,组分表中必须含有颗粒物。一般不会用到...

这里我调整了一下内容的顺序,先解释下各种功能的作用,再说明小细节。

* 收敛次数上限 Maximum Number of Iterations

当Hysys达到最大迭代次数时,弹出一个警告窗口,说明Recycle在给定的迭代次数内为收敛。您可以选择是否继续计算。
如果你建立了一个新流程,我们建议你是用一个较少的迭代次数上限,比如3。若计算十分顺利,可以提升迭代次数上限。所需的迭代次数不单单受流程的复杂度影响,迭代开始时是用的初值也会影响到迭代的次数。

* 松弛因子 Damping Factors - Qmax and Qmin

在进行迭代收敛时,会使用Wegstein加速来产生下一步计算的假定值。估算值的计算方法如下:


其中:

  • X:假定值
  • Y:计算值
  • n:迭代次数
  • Q:松弛因子

Hysys会根据持续迭代的结果确认使用的松弛因子Q
的大小。用户设定的Qmax和Qmin则设定了松弛因子的上下限。注意当Q=0时,系统会使用直接迭代;当Q<0时则使用加速;当1>Q>0,则处于松弛状态。

注意:如果您发现Recycle在振荡迭代,同时数个迭代都使用了直接迭代,此时可以将Qmax设置为一个更大的数值,此时每次循环的步进更为保守

* 加速频率 Acceleration Frequency

原文是 迭代计数(iteration count) 但是按照文意来说应该是Acceleration Frequency。
实际上迭代计数所代表的是本次迭代实际执行的次数。

加速频率规定了两次迭代加速之间进行了多少步迭代。默认次数为3;在3次迭代后(假定迭代延时小于3),Recycle会使用Wegstein加速法结合假定值和计算值计算下一步迭代所使用的假定值。若下一步迭代无需使用加速(比如加速延时内的任意一次迭代),则将本次的计算值直接作为下一步的假定值。

要注意加速延迟优先于迭代频率,即若加速延迟的值为x,前x次迭代均采用直接迭代,无论迭代频率是否小于x。而第x+1次则会应用迭代加速。

虽然加速迭代对大多数问题都有好的效果,但在某些情况下,可能导致过校正、振荡、甚至不收敛。 比如高敏感度循环过程,或存在多个强相互作用的循环的流程。 在这些情况下,直接迭代可能是最佳方法。 要避免使用加速迭代,只需将加速频率(或加速延迟)设置为无法达到的数值(例如100)。 在罕见的情况下,直接迭代也无法达到收敛,此时需要调节$Q_{max}$$Q_{min}$来实现松弛迭代。

* 加速延迟 Acceleration Delay

加速延迟将加速迭代的引入推迟到所设定迭代步数后。 该延迟只适用于迭代开始后的几步迭代,当迭代计数超过迭代延迟后,迭代频率将起效。 也就是说,在达到延迟值之前不执行加速,并且在延迟之后,根据迭代频率施加加速。 迭代延迟的默认值为2。 例如,如果“delay”设置为5,迭代计数为3,则前5次迭代使用直接替换,第6次使用加速,然后在每第三次迭代后应用加速。


终于能把注意点搬下来了。

对于Recycle还需要注意下列几点:

  • 若Recycle不能在给定的迭代次数内收敛,Hysys将停止计算。 如果你确定该流程能在更多步骤下收敛,请点击Continue按钮。Recycle将初始化迭代计数器,并继续计算,直到找到一个解或者再次到达迭代上限。
  • 如果流程没有在合理的迭代次数内收敛,在你的流程存在限制条件,使流程无法收敛。比如,一股循环物流的流量不断增长,这很可能是流程没有足够的出口使所有进入的物料流出。 一种实例是在工厂中,使用低压天然气冷却制备液体产品和不凝气的过程。若单纯通过液体循环来洗脱,丙烷和丁烷会无法移出系统,此时它们循环物流中积累。另一种情况是,容差过于严格,一个或多个变量无法达到条件。 这可以容易地通过检查收敛历史,从中比较未收敛的偏差和容差结果来确定。

注意:Monitor Tab(监视 选项卡)提供了记录收敛历史的功能。所以后面几个选项卡我都不会翻译了 =w=

  • 逻辑操作(例如Recycle,Adjust和Controller)与其他操作不同,因为这些操作修改了物流的设定。 因此,如果你删除这些操作,被修改的物流设定仍会被保存。可以说,这些操作都不会被流程“遗忘”。但这些操作也会触发Recycle进行计算。 如果要进行流程图修改,但不想调用Recycle,可以将Recycle删除或Ignore。
  • 容差设置对于对Recycle的成功收敛相当重要。 尤其是流程中存在多个Recycle时。 如果这些Recycle没有相互作用,或它们相互连接并同时求解,则对于所有Recycle可使用统一的容差。 但是,如果Recycle是相互嵌套的,从外到内容差应该越来越严格。 没有这种预防措施,外部Recycle可能不会收敛。

Monitor Tab 和 User Variable这两个就不在这写了,这两个基本上跟大多模块都一样呢。
倒是日后有空写个UV的使用教程。


- Calculation 计算

HYSYS提供了一种非常简单的解决循环问题的方法,并通过界面为用户提供了对求解过程的全面控制和反馈。

注意:在动态模拟(Dynamic mode)中,所有Recycle将会被忽略,此时模块的出入口物流参数一致。

当单个Recycle被设置时,它代表了一股被撕裂的循环物流。多个Recycle则代表了多股循环物流,这些循环物流可以是相连的、嵌套的或两者俱备的。与多个Adjust相似,Recycle可以根据设置对多个循环流进行同时求解。

设置Recycle的过程如下:

  1. 估计连接到Recycle的物流的参数(温度、压力、流量、组成)。流量的值可以是0,但为了更快收敛,应给出一个估算值。

注意:如果Recycle是连接到塔器中,必须给出估算值,确保塔器先收敛。

比较简单的确定冷凝/再沸量的技巧是,手算一次全塔的进出物料平衡,这样可以得出各个物流的大体流量;然后通过Hysys估算各个物流的热焓,可以计算大概的塔顶冷凝量/再沸量。

  1. 构建你的流程,直到循环流的另一侧的计算值可以由Hysys确定。

注意:Recycle的进出口物流的名称必须不同。

  1. 创建Recycle模块。

提示两点:

  1. Recycle中物流参数传递的设定,最好与使用假定值的物流的设定集一致。比如物流使用的是T-P-F-x(温度、压力、流量、组成)来定义的话,Recycle中相应要传递上述参数中的一种或数种。具体根据循环中的设备来选择,比如,循环中有精馏塔,则应该全部选上;如果循环中只有压缩机/换热器,那么只需传递T-P。
  2. 根据你的传递方式选择合适的闪蒸方式。比如上游是换热,而且出现相变的话,选择P-H闪蒸会比较合适。选择方法请看化工热力学(口胡)
  3. 这条并不存在。有时候加上Vapour Fraction的传递并不有害,嗯。
  4. 最讨厌别人说个不停=w=。

- 缩短收敛时间的建议

循环流股的撕裂位置对Recycle的求解至关重要。尽管看上撕裂流股就应该是循环流股,但实际上在循环中的任意一股物流都能被撕裂。对于复杂流程模拟而言,必须考虑一些因素,下面是一些通用指引:

  • 选择使用Recycle数量最少的撕裂位置
    • 减少需要迭代的位置的数量可以减少总收敛时间。Recycle的位置主要由流程图的拓扑结构决定。尝试选择一个位置,尽可能满足的所有循环。这个位置一般为分流器的上游和汇流器的上游
  • 选择使用Recycle变量数量最少的撕裂位置
    • 变量包括气相组分、温度、压力、流量、焓和组成。选择一个撕裂物流的位置,其中可以固定的数量最多,从而需要收敛的变量数目最少,提高收敛的稳定性。合适的选择比如分离器的进口(各个变量均有可能,Q=0的话气相组分的可能性比较大)、压缩机后冷出口(可固定温度T)、加热器出口(可固定压力P)。
      注意:避免撕裂由其他调节器调控的物流。不按理出牌是很难收敛的
  • 选择稳定的撕裂位置
    • 选择合适的撕裂位置,使撕裂物流迭代时震荡最少。 例如,将撕裂位置置于主物流,而非回流物流上。这中做法的效果取决于收敛算法。在连续迭代时,该做法的结果更为显著。在选择多流股同时迭代的情况下,选择一个稳定的撕裂点同样重要。主物流的数值基数比较大,循环回流的数值基数比较小,就比例而言选择主物流是比较稳定的做法,具体可以参照下图。
  • (个人意见)在设置了多个非同时运算的Recycle时,请在workbook中调整各个Recycle的运算顺序Calc.level。

总体上,Hysys所建议的撕裂规也是适用于A+的,实际用的时候拿过去干就好。

这一期就到此结束了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容