开源化工流程仿真软件DWSIM
DWSIM是一款成熟的开源化工流程仿真软件,支持稳态/动态流程建模、热力学计算和单元操作模拟。其特点包括:双界面适配多系统、功能全面覆盖化工全场景、开源免费且有社区支持、兼容CAPE-OPEN标准。核心功能包含流程建模、热力学计算(支持多种模型)、多种单元操作与反应器模拟,以及灵敏度分析、流程优化等高级工具。该软件采用序贯法求解,通过计算队列管理和循环流收敛加速技术实现高效模拟,同时支持动态系统的
目录
一、简介
DWSIM诞生于2004年,其代码最初源自Excel VBA宏实现的PR EOS和Flash算法。同年晚些时候,开发者Daniel Wagner Oliveira de Medeiros基于可运行的绘图界面示例,创建了工艺流程图绘制设计器。经数年代码积累后,DWSIM正式面世!
如今,该软件已兼容主流操作平台,被全球数以百计的学生、教师及独立咨询师广泛使用。DWSIM已被众多科学研究论文和文章所使用和引用,这证明了其计算方法与模型的能力与可靠性。2013年年中,CO-LaN管理委员会将2012年度CAPE-OPEN奖项授予Daniel Wagner,以表彰其在以开源方式发布的流程建模环境(DWSIM)中首次实现CAPE-OPEN接口。

DWSIM最初是由VB.NET编写的,后续版本逐步增加C#代码,因此其代码主要由VB.NET和C#编写,其开源协议为GPL-3.0。相较于前两个开源软件,该软件最大的特点是成熟,已经被广泛使用和引用。
Offical Website: http://dwsim.inforside.com.br
Source Code: http://github.com/DanWBR/dwsim
Support: https://sourceforge.net/p/dwsim/discussion/
二、DWSIM特点
DWSIM支持稳态/动态流程建模、热力学性质计算、单元操作模拟等核心功能,兼容Windows、Linux、macOS多系统。它最吸引人的地方在于:
- 双界面适配:Classic UI适配Windows系统,稳定可靠;Cross-Platform UI基于Eto.Forms,在Linux、macOS上呈现原生体验,不用再为系统兼容头疼。
- 功能全面:从基础的物流计算、单元操作建模,到高级的灵敏度分析、流程优化、Python脚本自动化,甚至动态模拟与PID控制,功能覆盖化工模拟全场景。
- 开源免费+社区支持:源代码公开可定制,无版权费用;官方提供详细文档、教程和论坛支持,全球开发者共同维护更新。
- 兼容性拉满:支持CAPE-OPEN标准,可对接外部物性包和单元操作;能导出XML/JSON文件,还能通过Excel插件直接调用热力学计算功能。
三、核心功能
1. 流程建模:稳态+动态双模式覆盖
无论是基础的稳态流程设计(比如混合、分离、反应流程),还是复杂的动态模拟(比如设备启停、负荷波动、PID控制),DWSIM都能轻松应对。
- 稳态模拟:支持物流、能量流连接,自动完成物料衡算和能量衡算,可视化流程图(PFD)拖拽式操作,新手也能快速上手。
- 动态模拟:可添加PID控制器、液位计、压力表等设备,模拟瞬态过程(如储罐液位控制、反应器温度波动),还能设置事件触发和调度方案。
2. 热力学计算:精准又全面
模拟的核心是物性数据,DWSIM内置了1500+化合物数据库,支持多种热力学模型:
- 状态方程(EOS):Peng-Robinson、Soave-Redlich-Kwong、PRSV2等,适配非极性/极性体系、高压/低压场景。
- 活度系数模型:NRTL、UNIQUAC、Modified UNIFAC等,适合精馏、萃取等分离过程。
- 专项模型:IAPWS蒸汽表、海水模型、黑油模型、CoolProp物性库,覆盖特殊体系模拟需求。
- 石油馏分表征:支持从蒸馏曲线或 bulk 性质生成假组分,满足石油化工流程模拟。
3. 单元操作与反应器:覆盖全流程需求
内置数十种单元操作模型,无需额外插件:
- 基础设备:混合器、分离器、换热器、泵、阀门、管道等。
- 分离设备:shortcut精馏塔、严格精馏塔、吸收塔、萃取塔等。
- 反应器:转化反应器、平衡反应器、Gibbs反应器、PFR、CSTR等,支持均相/多相反应、催化反应。
- 特色设备:自定义单元操作(通过脚本编写)、Excel单元操作(基于表格建模)、固体分离器等。
4. 高级工具:让模拟更高效、更深入
- 灵敏度分析:研究单个/多个变量对目标参数的影响(如温度对反应转化率的影响),自动生成数据报表和图表。
- 流程优化:多变量优化(最大化产率、最小化能耗),支持约束条件设置。
- 脚本自动化:通过IronPython/Python.NET编写脚本,实现批量模拟、自定义计算逻辑、流程控制,大幅提升工作效率。
- 结果导出:可生成PDF/ODS/XML格式报告,也能直接同步到Excel进行后续分析。
5. 定制化能力:满足特殊场景需求
如果基础功能无法覆盖你的需求,DWSIM的定制化能力会让你惊喜:
- 物性计算重载:通过脚本修改默认物性计算逻辑(如自定义粘度混合规则)。
- 单元操作定制:编写Python脚本Override设备计算流程,适配特殊设备模型。
- 自动化对接:通过COM/.NET接口,可与Excel、MATLAB等软件联动,实现批量模拟和数据处理。
四、DWSIM的求解器
FlowsheetSolver.vb是DWSIM流程模拟软件的核心求解器实现,核心功能是管理流程中物料流、能量流、单元操作的计算逻辑,支持同步/异步/并行计算、循环流收敛加速,是稳态与动态流程模拟的核心执行模块。
其求解方法也可以归结为序贯法(Sequential Method),即按流程中对象的依赖顺序,依次计算每个对象的状态,直到所有对象的状态都收敛。物料流、能量流、单元操作的地位都是平等的,物料流、能量流虽然为流对象,但在求解时也被视为独立的对象,与单元操作并行计算。
1 对象计算核心方法
- 支持物料流(MaterialStream)、能量流(EnergyStream)、单元操作(UnitOp)的单独计算,通过
CalculateObject和CalculateMaterialStream实现。 - 处理对象间的输入输出连接联动,修改一个对象后自动触发下游关联对象的重新计算。
2 计算队列与流程控制
- 通过
ProcessCalculationQueue管理计算队列,处理对象计算顺序、用户取消请求(CancellationToken)。 - 集成异常捕获机制,记录计算错误信息,支持“求解中断时停止”或“继续执行”的灵活配置。
3 循环流收敛与加速
- 识别流程中的循环流(Recycle),通过Broyden加速方法减少迭代次数,提升循环系统的收敛速度。
- 自动判断循环流收敛状态(温度、压力、质量流量误差满足阈值),收敛后退出迭代。
4 动态系统
- 支持动态模式(
DynamicMode),在动态模拟中,循环流(Recycle)被视为冗余,无需额外计算,代码如下:
'in dynamic mode, recycles are redundant
这意味着该求解器在时间方向上是逐步显示求解的。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)