最近在开发软件,要使用到matlab控制comsol环节,之前一直是使用桌面上的Link(COMSOL Multiphysics 6.1 with MATLAB)连接,也十分方便快捷,但是这次是要做一个相对来说较为集成的东西,总不能让用户去点击吧。如果没有安装link的话,咱先去安装吧(非常便捷)
接下来分享一下我在这方面的经验,也是整了半天,也在公众号上问过comsol的官方是否可以使用.m启动comsol,工作人员回应是可以的,但是没有说具体的方法,当然,在我不正确使用mphstart()的情况下,失败了,cry,朋友们!但也总不能去问cosmol官方吧,因为咱的软件也不是正儿八经的
其实只需要短短几行代码即可,类似于matlab启动ansys APDL那样,在.m中使用system函数
我这个是已经创建好初始的comsol文件了,在此基础上进行的二次开发,如果说想通过这个新创建一个仿真文件,也是可以的。
在注释也写在里面了
Currentdir=pwd;%record current direction
cd('D:\COMSOL\COMSOL61\Multiphysics\bin\win64');%change to the position of COMSOL
system('comsolmphserver.exe &');%open server
%establish connection
cd('D:\COMSOL\COMSOL61\Multiphysics\mli');%change to the position of mli where are many function of mph
mphstart(2036);%port is usually 2036
cd(Currentdir);%change to the position of current direction
model=mphopen('E:\modelfirst\COM.mph');%own .mph
还是有些细节想跟大家唠一唠
1记录下现在文件的位置,也就是你想运行的仿真文件所在的位置
2打开comsol的安装地址,这个地址应该是大同小异的,地址写到win64即可,如果不知道自己的cosmol安装在哪了,可以桌面右击comsol图标—打开文件所在的位置,就可直接看到这个地址了
3这行就是启动COMSOL Multiphysics 6.1 with MATLAB,照着写就行,前提是你得把Link安装了,如果没安装,就先去看看别人的教程,进行安装
4打开comsol封装好的一些.m命令文件,位置也是大同小异,只有在这个文件夹下,我们才能启用mphstart()函数
进来之后我们可以看到很多相关的code(不进来也可以,只是让大家看看)
5这个是端口号,一般都是2036,想写其他的也可以,这个是根据点击桌面上的Link得来的号码,要是不知道的话,可以先点击一下桌面上的link,看看端口号是啥
6再返回最初的文件夹
7打开自己的.mph文件,就可以啦
comsol使用.m二次开发还是非常友好的,甚至可以不用学习comsol的语言,只需要先运行一遍comsol,然后另存为.m文件,它自动就会录下你所有所有的操作,自动转化为matlab代码,咱再二次开发就可。