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请参考曹蕾老师的网络研讨会:
点击这里观看会议回放