概述
COMSOL—— LiveLink for MATLAB学习1
- LiveLink for MATLAB的首次启动
- 在MATLAB工作区安装COMSOL Apps
- 在MATLAB中构建COMSOL模型
- 模型对象(model object)命令
- 加载与保存模型
- 在COMSOLDesktop®和MATLAB®Prompt之间共享模型
最近在学习comsol与matlab的联用,就在此记录下学习过程吧。
主要参考资料:
天乐树的博客 http://blog.sina.com.cn/s/blog_4a0a8b5d0101lmsj.html
COMSOL的help文档
软件:COMSOL 5.5
Matlab R2019b
系统:win10 64bit
LiveLink for MATLAB的首次启动
LiveLink for MATLAB采用client-server模式联接COMSOL server和MATLAB。
首次启动COMSOL Multiphysics 5.5 with MATLAB, 会跳出一个命令行窗口,要求输入用户名与密码。此处用户名与密码是新设置的,自己定即可,密码是隐藏的,一次输入完回车即可。第二次启动时则无需再次输入用户名和密码(后面基本就没用了)
此时MATLAB和COMSOL Server会被启动,COMSOL desktop则未被启动。此时可以更改matlab工作路径。
这里Server相当于一个中介机构,MATLAB与Server通讯将模型上传至Server,COMSOL desktop也可以和Server通讯,去下载Server上储存的模型,由此实现两者之间的关联。
COMSOL Desktop与Server之间的联接,可以点击文件→COMSOL Multiphysics Server→连接至服务器。登录用户信息与matlab是一样的,自动填充。默认端口是2036,无需更改,想要折腾的话可以去查看COMSOL Multiphysics Installation Guide中关于COMSOL server start-up 的信息。
在MATLAB工作区安装COMSOL Apps
此项内容不在COMSOL安装选项中,需自行安装。这样可以更加方便地使用图形化界面获取COMSOL信息。
安装过程如下:
- MATLAB桌面,打开Apps,单击安装App;
- 打开COMSOL安装目录:COMSOL55/Multiphysics/mli/toolbox;
- 将文件扩展名更改为所有文件,然后选中LiveLink for MATLAB.mltbx;
- 点击打开,安装完成。
在MATLAB中构建COMSOL模型
模型对象(model object)命令
- 在COMSOL服务器中创建一个新的模型对象:
model = ModelUtil.create ('Model');
该命令在COMSOL服务器上创建模型对象模型,并创建链接到模型对象的MATLAB对象模型。在COMSOL服务器上可能有多个模型对象,每个对象都有不同的名称。要访问每个模型对象,需要链接到它们的不同MATLAB变量,并且每个MATLAB变量必须具有不同的名称。
- 创建链接到现有模型对象的MATLAB变量。例如,要创建链接到COMSOL服务器上现有模型对象Model的MATLAB变量模型:
model = ModelUtil.model ('Model');
- 要删除特定的模型对象
ModelUtil.remove ('Model');
或者,使用以下命令删除存储在COMSOL服务器中的所有COMSOL对象:ModelUtil.clear
- 列出COMSOL服务器上可用的模型对象的名称:
mphtags -show
5. - 激活进度条默认情况下,运行时不显示进度信息使用MATLAB的COMSOL。要手动启用进度条并可视化操作的进度(例如加载模型,创建网格,组装矩阵或计算解决方案),输入以下命令:
ModelUtil.showProgress (true)
要停用进度条,输入:ModelUtil .showProgress (false)
加载与保存模型
- 命令行加载已有的mph模型文件:
model = mphopen(<filename>);
也可使用简写 mphopen<filename>
如果COMSOL服务器中已存在模型对象Model,则mphopen会覆盖现有的模型对象,除非该模型也在COMSOL Multiphysics Client中打开。在后一种情况下,索引号会附加到新的模型对象名称上,例如Model1。
mphload命令也具有相同的功能。
如果要在COMSOL服务器中手动指定模型对象。使用命令:
model = mphopen(<filename>, <ModelTag>);
其中,是定义标签的字符串,该标签定义了COMSOL Server中已加载的模型。使用mphopen函数时,将自动禁用模型历史记录,以防止在循环运行模型时出现大量历史记录信息。
要打开模型历史记录,请使用函数mphopen:
model = mphopen(<filename>,'-history');
If you want to get the full filename of the loaded file, add a second output as in the command below:
[model, filenameloaded]= mphopen(<filename>, ...)
- 利用COMSOL Open打开mph文件,安装完Apps之后可以用COMSOL Open图形化界面打开文件。
- 保存模型
mphsave(model,<filename>);
如果指定的文件名不提供路径,则相对于当前MATLAB路径保存文件。文件扩展名确定要使用的格式(* .mph,。m,。java或* .vba)
也可将mph文件另存为.m文件
model.save(<filename>,'m')
- 保存模型缩略图
mphthumbnail(model,<filename>)
其中为图片名字
也可以使用matlab图片
mphthumbnail(model,gcf)
提取模型中存储的缩略图的图像和图像文件名:
[image, imagefilename] = mphthumbnail(model)
e.g.
mphopen model_tutorial_llmatlab
im = mphthumbnail(model);
imshow(im)
mphthumbnail(model, gcf)
在COMSOLDesktop®和MATLAB®Prompt之间共享模型
可以将COMSOL Desktop连接到已经与MATLAB连接的COMSOL Multiphysics Server,然后从两个客户端(COMSOL Desktop和MATLAB)访问模型。从任何一个客户端执行的更改都可以从另一个客户端直接访问;例如,在MATLAB提示符下键入命令,然后在“模型开发器”窗口中查看所做的修改,或者在MATLAB提示符下从COMSOL Desktop中设置的模型中提取数据。从提示符将COMSOL Desktop连接到COMSOL Multiphysics Server在提示符下调用mphlaunch启动COMSOL Desktop,将其连接到与MATLAB连接的同一COMSOL Multiphysics Server,然后导入模型。运行以下命令:mphlaunch
这将启动一个新的COMSOL Desktop,将其连接到已与MATLAB连接的COMSOL Multiphysics Server,然后导入服务器中可用的模型。如果服务器中有多个模型可用,则可以通过运行以下命令来指定要导入的模型:mphlaunch ModelTag其中ModelTag是要导入的模型的标记。
这一篇就先学到这里吧,后面看看各命令与操作实例。
最后
以上就是怕黑书本为你收集整理的COMSOL—— LiveLink for MATLAB学习1LiveLink for MATLAB的首次启动在MATLAB中构建COMSOL模型的全部内容,希望文章能够帮你解决COMSOL—— LiveLink for MATLAB学习1LiveLink for MATLAB的首次启动在MATLAB中构建COMSOL模型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复