当前位置: 代码网 > it编程>编程语言>C/C++ > Comsol LiveLink for Matlab【Sample Demo】以Matlab为桥梁使得comsol和其他软件进行联合仿真

Comsol LiveLink for Matlab【Sample Demo】以Matlab为桥梁使得comsol和其他软件进行联合仿真

2024年07月31日 C/C++ 我要评论
Comsol LiveLink for Matlab【Sample Demo】以Matlab为桥梁使得comsol和其他软件进行联合仿真

comsol在和其他第三方软件进行交互上做的非常好,这篇文章中我将记录一下对livelink for matlab的探索。

comsol和matlab的交互分两种:
①主要在comsol界面操作的调用matlab函数的操作;
②主要在matlab界面通过代码流控制仿真的操作。
这一篇文章主要介绍后者。

创建仿真模型mph文件

完全可以通过api在matlab中一步一步的去创建,但是这样并不是最高效率的,也没必要。

我们比较理想的情况是通过comsol desktop创建好仿真文件,然后在matlab端交互调用,这样就可以把仿真模型以matlab为桥梁和其他软件进行联合仿真。

这里以livlink for matlab库中的一个简单模型来演示:
打开安装comsol的硬盘,依次打开目标文件 ↓↓↓↓↓↓↓↓↓
comsol60\multiphysics\applications\livelink_for_matlab\tutorials\model_tutorial_llmatlab.mph。

这个案例只有参数设置、几何创建等,并没有研究和后处理。
(另如果是自己创建的模型,那创建完成后保存,关闭comsol,等待从matlab端打开comsol。)
【comsol中打开该mph文件】

从matlab端打开mph模型
①先启动comsol with matlab:
②此时会打开matlab。然后,在matlab端找到comsolapp,如下面四个插件,
在这里插入图片描述

【如果没有安装,可以点击左方安装app按钮,选择安装comsol60\multiphysics\mli\toolbox\livelink for matlab.mltbx这个文件。】
这四个插件,其中
①lib是罗列了livelink for matlab的案例mph;
②nav是调出模型model的插件;
③open是打开mph文件的插件,
④search是搜索的插件。
这里注意,只有先open之后才能nav。这里没什么复杂的,摸索一下就可以搞懂。
在这里插入图片描述
这时候在comsol的命令行窗口通过mphlaunch启动comsol。
先打开open插件,browser打开目标文件,再打开nav插件,出现comsol的结构树:
在这里插入图片描述我们先预览下结构树,发现和我们在comsol中的一样。这时候找到需要修改的参数,这里举两个例子。

1、修改全局定义参数:

找到param,选中其中一个参数,如power,点击copy set,复制设置命令(这里后期如果对api指令熟悉之后,可以自己打,但是其实没必要,复制挺方便的),将指令粘贴在matlab命令行:
在这里插入图片描述

这个结构很清晰,model就是我们的仿真模型mph文件,param是全局参数,set()函数进行内容设置,后边的内容就和我们在全局参数表格里设置的一样,我们这里将30[w]改为300[w],回车运行指令,在comsol端也会实时更新了。
在这里插入图片描述【原作者数据更新,我的没有反应】????????

2、修改几何模型尺寸参数:
同样的操作,在nav中找到几何模型设置:
在这里插入图片描述copyset复制命令,在matlab命令行粘贴:
在这里插入图片描述这里的结构也很清楚,mph模型,几何,特征,矩形,尺寸。根据我们想要的参数进行设置尺寸,比如[0.05;0.1;0.01].回车执行命令。回到comsol端,这时候的几何模型是没有更新的,更新绘图需要构建对象,构建完成后就更新了:
在这里插入图片描述【大兄弟啊!为啥子你的都更新了,我comsol里面数据没有更新,这还是我手动改的构造】

这是一个非常简单的例子,但是完全说明了如何通过matlab为平台,通过指令控制comsol模型并仿真。我自己的方向是不确定性量化,那么我就可以通过控制参数使其成为随机变量,然后采样、运行、得到输出,这样反复操作,就可以在matlab端进行不确定性分析了。

comsol官网有丰富的学习资料,关于comsol的 livelink for matlab请参考曹蕾老师的网络研讨会:
点击这里观看会议回放

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com