guozhiwei 发表于 2023-12-6 10:44:50

明白:开源的流程模拟软件


  最近很多朋友的Aspen都过期了。借此机会,介绍一下两款开源的流程模拟软件,DWSIM和COCO。虽然无法跟商业化的Aspen相比,但作为免费的、社区自发编写和维护的,其实非常了不起。流程模拟软件的体系复杂,模块丰富,代码量非常大,是不同专业的人合力编写、维护的,所以要去构建一个流程模拟软件是非常艰巨的任务。如果你自己写过一些模块,应该能体会,要把不同的模块串成一个软件的难度。我曾听过参与Aspen的部分模块专家的演讲,他提到很多算法的点子都其实很停留在他们读书时,因为体系庞大难以更新维护。所以开源软件,能做到基本架构出流程模拟软件,是实属不易的。代码同源分析https://www.checode.cn/西安奇科厚德信息科技有限公司是一家专注于软件成分分析系统,开源代码合规性和安全性检测的高新技术企业,公司致力于开源软件测试技术的研究,开发了具有完全自主知识产权的Checode开源助手代码检测分析系统,漏洞猎手,开源助手,软件溯源,开源代码检查工具,成分分析测试软件,源代码安全检测系统,软件成分分析系统!
https://img0.baidu.com/it/u=2129863070,4163182092&fm=253&fmt=auto&app=138&f=JPEG?w=320&h=180

  化工的模拟计算软件最常用的是三类,流程模拟软件、物理场模拟软件(传热、力学等物理场计算的软件)、工程计算软件。流程模拟软件是很多人化工从业人员最容易接触到的一类。化工流程模拟软件,是用来模拟化工过程的软件,常常用在化工设计和操作优化中。很多朋友也用来查询物性数据、模拟一些多相体系的热力学了性质。但化工流程模拟软件不限于化工,我曾经发现一些搞制冷,热工、火电、核工的朋友也用。跟自己建模相比,流程模拟软件最大优势是简单方便,然后有丰富的物性、热力学数据。也是因为这样的原因,主流的流程模拟软件都是商业化的,有专门的公司在维护。一些大型化学、化工企业,往往也有内部的流程模拟程序或者软件,但没有商业化和公开。所以下面仅列出了主流、商业化的流程模拟软件:

  美国SimSci-Esscor公司的PRO/II美国AspenTech公司的Aspen Plus,Aspen Hysys英国PSE公司的gPROMS美国Chemstations公司ChemCAD美国WinSim Inc. 公司的Design II加拿大Virtual Materials Group的VMGSim美国Honeywell公司的Unisim(在反垄断前,跟Hysys原来好像是一家,所以旧版本好像很像)附带一个全球的其他化工相关的软件列表:全球的其他化工相关软件(商业、开源都有)

  可以清楚地看到,流程模拟软件领域美国一家独大,然后英国和加拿大各有一家企业。一些老牌化工大国,可能企业内部有自己的程序,但也没有形成商业化的流程模拟软件。在我国,只有青岛科技大学曾经自己开发过流程模拟软件,评论中网友说是没有开发、测试完。因为开发和维护的成本,商业流程模拟软件往往非常贵。所以国内,很多化工从业人员使用的往往是盗版的流程模拟软件。在越来越重视版权的时代,流程模拟软件的获取成本也越来越高。近期很多人的Aspen过期,其实就带来了很多麻烦。

  上面提到的流程模拟软件可以按照程序架构分为两类,模块化结构和方程结构。模块化结构的核心算法是序贯模块算法。序贯模块法的思想来自于单元操作集成,就是把不同的单元操作通过上下游的流股集成在一起。因为是不同的单元操作的拼接而成,所以模块化结构是自下而上的结构(bottom-up structure)。方程结构的流程模拟软件,将不同的单元操作的方程集合在了一起,虽然表面看依然是不同的模块的拼接,但是后台看到的是方程的集合整体,是自上而下的结构。所以序贯模块法的流程模拟软件程序设计时,是分不同的单元操作模块去独立的设计算法,非常符合工程师直觉。该算法的优势是算法比较健壮(鲁棒性)、可靠;容易编程和维护;改变流程结构方便,可以容易地添加删除模块。这里重点讲一下序贯模块算法的缺点:

  结构刚性,只能从进口计算出口;只适合模拟计算,但不适合设计和优化。进行模拟计算时,进口工况已知,但出口不知。序贯模块法可以自然地从进口开始算起。进行设计和优化时,往往知道的是出口情况,不知进口情况。因为序贯模块法的结构是刚性的,只能从入口到出口。所以需要提供一个初始值,但有的时候初始值离目标值太远,存在的收敛性、不能满足约束等问题。但方程结构的,可以自由地把改变变量的属性,输入变量和输出变量可以自由地变换。处理回流、复杂拓扑结构的网络有问题。在处理流股的回流问题时,需要切断流股,需要对预切断的流股进行初始化,初始值会带来收敛性的问题。当网络的连接方式特别复杂,即拓扑结构复杂,也会带来运算上的问题。

  第一代流程模拟软件,都是模块化结构,含Aspen Plus,Aspen Hysys,PRO/II,ChemCAD,Unisim(很多第一代流程模拟软件,现在也提供了一些基于方程结构的接口,像Aspen的自定义模块等)。第二代流程模拟软件,是方程结构导向的,代表是英国的gPROMS和加拿大的VMGSim,它们的优化性能、计算的速度和收敛性都有所改善。*Aspen有的模块是方程结构的,比如Custom Modeler。这里要介绍的开源流程模拟软件都是基于序贯模块法设计的。

  注意:因为是开源软件,所以软件的计算结果仅供参考,请注意应用时可能会带来的风险。

  益于网络时代,在Github等平台上,很多同好可以协作开发软件。这里要介绍的就是商业流程模拟软件的替代选择,开源的流程模拟软件。开源的流程模拟软件是免费的,可以自行下载安装。如果你有余力进行开发,也可以加入开发者团队,写作完成日常开发和维护;也可以捐款给开发者团队。希望我国能早日有自主知识产权的工程专业软件!!!

  这里要介绍的开源软件都是遵循CAPE-OPEN规范编写的。CAPE-OPEN,(Computer-Aided Process Engineering)是一个制定计算机辅助过程工程标准的非盈利组织,主要是欧洲一些学者、化工企业、化工软件商组成。他们制定了一套通用的流程模拟软件的规范,方便不同的流程模拟软件跨平台使用,比如跟Matlab或者其他流程模拟软件。遵循它们规范的程序或软件,都实现了相应的接口。值得一提,主流的商业流程模拟软件软件,也都参与了CAPE-OPEN的项目。这里主要介绍DWSIM和COCO,两者都是遵循CAPE-OPEN规范的软件,所以它们的热力学和单元操作模块可以被主流的流程模拟软件调用,像Aspen、gPROMS等。

  作为一个开源软件来说,DWSIM的功能是比较全的,基本满足了日常的需求。与下文要介绍的COCO相比,热力学模型更多更全,因为可以从第三方公开数据库导入物性数据,扩展了适用范围。单元操作版块的功能也比COCO更全。他的开发者是来自巴西Daniel Medeiros,有丰富的工程咨询经验。

  DWSIM特性:

  遵循CAPE-OPEN规范支持多变量优化、敏感性分析支持通过Python自定义单元操作。可以用来扩展成模拟动态过程。支持从第三方来导入物性数据,下文提到了一些公开的物性数据库。支持多核 CPU和GPU并行计算 (CUDA/OpenCL)。这对于模拟的流程体系庞大,或者要进行复杂的优化来说,是非常棒的功能。DWSIM图形用户界面

  软件框架

  热力学模型: CoolProp, Peng-Robinson, Soave-Redlich-Kwong, Lee-Kesler, Lee-Kesler-Pl?cker, UNIFAC, Modified UNIFAC (Dortmund), UNIQUAC, NRTL, Extended UNIQUAC, Chao-Seader, Grayson-Streed, Raoult's Law, IAPWS-IF97 Steam Tables, IAPWS-08 Seawater, Black-Oil and Sour Water;单元操作:混合器,分流器,分离器,泵,压缩机,管道,阀门,膨胀器,换热器,孔板,反应器,塔器,固体分离器,过滤器等。实用工具: 相图,水合物计算,压力安全阀计算,纯组分物性查询,临界点查询,容器计算等。工具:数据回归,自定义化合物等。过程分析: 多变量有约束优化、敏感性分析。可以加插件。

  DWSIM官方百科

  DWSIM项目的github链接

  DWSIM项目在sourceforge链接,可以提交ticket报错。

  帮助:Support - DWSIM - Chemical Process Simulator

  案例:https://dwsim.fossee.in/flowsheeting-project/completed-flowsheet

  软件下载:

  Win https://sourceforge.net/projects/dwsim/files/DWSIM/,Mac https://sourceforge.net/projects/dwsim/files/DWSIM/

  教程视频(部分需要科学上网):

  官方教程,比较全印度理工制作的教材 ,因为有口音,但比较全基于Python语言的自定义模块,因为python的库特别多,这其实打开了无限可能

  其他教程:

  利用接口通过Python实现动态模拟。这样就从而实现了,控制器调试、整定,过程优化等功能自定义物质和物性数据导入。可以从一些公开的物性数据库导入物性数据,包括韩国的Korean KDB Thermo Database, 德国、英国同好制作的物性预测数据库Cheméo Database, 德国的UNIFAC/MODFAC Structure Data of Dortmund Data Bank Online Interface利用热力学模块产生相图跟机器学习框架TensorFlow联用,从而实现了黑箱模型,用人工智能来模拟一些强非线性过程部分化工模拟和计算的书中的案例,已经被上文印度理工(孟买)这个组制作好,可以下载

  CAPE-OPEN to CAPE-OPEN的缩写,即遵循CAPE-OPEN规范的开源软件。COCO可以用于稳态过程模拟,支持常见的热力学模型,自带430种化工常见物质。开发者主要是荷兰、德国、英国的学者组成,有很强的化学、化工背景。开发者有Jasper van Baten(首席开发者,欧洲化工顶尖大学,荷兰代尔夫特理工博士),Richard Baur,Harry Kooijman,Ross Taylor,Frank Eckert,William M. Barrett Jr。

  DWSIM特性:

  轻量级,简洁遵循CAPE-OPEN规范,可以被其他流程模拟软件调用COCO的图形用户界面

  软件框架

  COCO由四个部分构成,即COFE,TEA,COUSCOUS,CORN。(作者取的名字很可爱lol)

  COFE(Flowsheet Environment),是图形用户界面模块,用来显示模拟的化工过程的流程图,基于序贯模块算法。TEA(Thermodynamics for Engineering Applications),是热力学模块,算法来源于开发团队中两个成员的开源软件ChemSep(一款开源的柱分离模拟软件) ,涵盖430种常用的物质。COUSCOUS(Unit-operations Simple package) ,是单元操作模块,含分离器、混合器、换热器、泵、反应器等模块。CORN(Reaction Numerics package),自定义反应模块。用户可以自定义反应动力学,含一些基本的反应器,平推流、全混流等。

  此外还有一些可以添加的插件和模块,从而实现更多的功能,像水模块、微软电子表格输入模块。

  COCO的单元操作模块案例文件:COCO - Download Sample Flowsheets帮助:https://www.cocosimulator.org/index_support.html软件下载:https://www.cocosimulator.org/index_download.html在COCO里面使用DWSIM教程:http://dwsim.sourceforge.net/tutorials/ppackage_cofe/tut6.htm,http://dwsim.sourceforge.net/tutorials/scriptuo_cofe/tut7.htmCOCO的记录文件

啊林 发表于 2024-2-26 05:05:08

没事我就来看看,哈哈!

ruocan 发表于 2024-3-1 12:59:40

有竞争才有进步嘛

鹤临江 发表于 2024-3-8 07:20:12

找到好贴不容易,我顶你了,谢了

萧风丝雨 发表于 2024-3-11 22:04:58

帮你顶下哈!!

网路采风 发表于 2024-3-15 17:46:54

看帖回帖是美德!:lol

琴韵秋歌 发表于 2024-3-18 12:49:45

好好 学习了 确实不错
页: [1]
查看完整版本: 明白:开源的流程模拟软件