欢迎光临无锡市钰婷物资有限公司官方网站!

联系我们
服务热线
0510-85188012
邮箱:491866689@qq.com
地址:无锡市滨湖区振兴路8号
当前位置:首页>>新闻中心
热管理系统建模基础 04 换热器 Chiller 参数标定
点击次数:68 更新时间:2024-03-12

  前两天聊换热器的时候,遇到一个问题,就是如果有些参数供应商给不了但是有实验数据,可不可以用实验数据把这些参数给标定出来?

  这个是可以的,也就是之前所说的参数标定(参数估算)。也正好官方给了这么一个换热器的例子,就看了看。

  简单说就是三部:设定优化目标,选定优化参数,开始优化。

  Simscape 库里的换热器模块:关于换热器模型的数学机理,参见:热管理系统建模 01 基础一维水冷换热模型 - 知乎 (zhihu.com)热管理系统建模 02 基础 Pipe 模型 - 知乎 (zhihu.com)热管理系统建模 03 换热器模型 - 知乎 (zhihu.com)以便能更好的理解我们要标定的模型及其参数。热管理系统建模基础 05 - 冷凝器/蒸发器 - 知乎 (zhihu.com)

  参数标定就是借助优化工具箱来调整模型参数,在相同的输入下让模型仿真结果能匹配实验结果。因为很多时候,参数是直接测不到的或者很难测到。

  这是个内置案例,通过以下命令打开该案例所在帮助文档位置:

  空气侧和水侧给定不同的入口条件,分别测得各个工况下两侧的压降和出口温度。

  实测数据:案例里提供了实验数据:sscfluids_heat_exchanger_estimation_data.mat

  刚刚的数据文件用timeseries类型保存的,一共八组数据,分别对应刚刚的输入输出,从命名能看出来。

  这里就不解释 timeseries 了,因为之后会被 timetable 取代。timetable的构造还是挺简单的:

  刚刚画图所用的代码:

  有了实验数据之后,我们搭建出这个虚拟试验台架模型,用来做模型参数标定。

  模型的参数标定就是,给标定模型同样的输入激励,让优化工具箱去自动调整**的标定参数,让仿真输出信号和实测信号一致。

  输入信号通过各自的 Flow Rate Source 来定义输入边界条件;有意思的是这里的流体端使用的是Volumetric Flow Rate Source,而空气端使用的 Mass Flow Rate Source。

  输出信号

  在同样的输入条件下,对比两侧的输出温度以及压降。一个评估换热,一个评估流阻。使用对应的 Sensor 模块来测量目标信息;Scope 对比查看这四组目标信号;

  8 个实测数据,用了 From Workspace 来将 base workspace 里的 timeseries 信号读入到 Simulink 模型。

  看下初始参数的仿真结果和实验数据的对比。

  对于换热器来说,影响它特性的主要因素是流阻系数以及换热面积。就这个换热器模块,选择红色的参数作为我们要使用实验数据来标定的参数。然后使用优化工具向来完成这个参数标定的过程。

  这里没有使用 Parameter Estimation,使用的是 Response Optimizer(演示)。如果在*上方的常用栏看不到,打开下拉菜单往下找。

  我们的优化目标是换热器的两侧的压差以及两侧的输出温度,让仿真结果和实验数据匹配。

  所以这里选择的优化目标类型是 signal tracking。

  我们有四个输出信号都要匹配,所以这四个 signal tracking 的优化目标都要设置。下面这个步骤和刚刚一样,可以跳过去。

  界面上的【Plot Model Response】可以查看当前 base workspace 里初始参数的仿真结果。

  选择我们刚刚提到的四个参数作为优化参数,也就是让优化工具帮我们去调整的参数。

  对于优化工具来说,我们的换热器只是一个数学方程,所有的参数调整都只是为了之前所设置的优化目标。在它的眼里,参数没有任何物理意义。所以我们需要手动给物理参数制定一些合理的边界,以及合理的初始值,这也是为了能让这个过程能更快收敛。

  可以配置一些比如优化算法,是否使用并行运算等等。

  这个部分对 Simscape 来说尤为重要。首先,不管是什么模型,请先设置为 Fast Restart,可以极大的加快整个优化过程;对于 Simscape 模型,检查要标定的参数设置为 Run-time(默认都是Conpiler-time);

  前面都设置好了,就可以直接点击开始按钮了。

  不过可以选择把参数调整过程显示出来。这个优化过程我没有加速也没有剪辑。

  一顿操作完成后,我们可以导出m文件,类似于 PPT里的宏录制,把我们刚刚的操作都具象化为了脚本。

  导出成脚本自定义之后,可以在它的基础上进行修改,除了以后能自动化整个工作流之外,自由度也更大了一些。

  生成的脚本和案例里给的代码段差不多,只是案例脚本里用了不同的优化方法,如下图红线:

  这是它的结果,好多了:

  就这样。

部分内容来源于网络,仅用于学习分享,如发现有侵权,请及时联系删除,谢谢。