COMSOL—— LiveLink for MATLAB学习1

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, 会跳出一个命令行窗口,要求输入用户名与密码。此处用户名与密码是新设置的,自己定即可,密码是隐藏的,一次输入完回车即可。第二次启动时则无需再次输入用户名和密码(后面基本就没用了)
COMSOL—— LiveLink for MATLAB学习1_第1张图片
此时MATLAB和COMSOL Server会被启动,COMSOL desktop则未被启动。此时可以更改matlab工作路径。
COMSOL—— LiveLink for MATLAB学习1_第2张图片
这里Server相当于一个中介机构,MATLAB与Server通讯将模型上传至Server,COMSOL desktop也可以和Server通讯,去下载Server上储存的模型,由此实现两者之间的关联。

COMSOL Desktop与Server之间的联接,可以点击文件→COMSOL Multiphysics Server→连接至服务器。登录用户信息与matlab是一样的,自动填充。默认端口是2036,无需更改,想要折腾的话可以去查看COMSOL Multiphysics Installation Guide中关于COMSOL server start-up 的信息。
COMSOL—— LiveLink for MATLAB学习1_第3张图片

在MATLAB工作区安装COMSOL Apps

此项内容不在COMSOL安装选项中,需自行安装。这样可以更加方便地使用图形化界面获取COMSOL信息。
COMSOL—— LiveLink for MATLAB学习1_第4张图片
安装过程如下:

  1. MATLAB桌面,打开Apps,单击安装App;
  2. 打开COMSOL安装目录:COMSOL55/Multiphysics/mli/toolbox;
  3. 将文件扩展名更改为所有文件,然后选中LiveLink for MATLAB.mltbx;
  4. 点击打开,安装完成。

在MATLAB中构建COMSOL模型

模型对象(model object)命令

  1. 在COMSOL服务器中创建一个新的模型对象:
model = ModelUtil.create ('Model');

该命令在COMSOL服务器上创建模型对象模型,并创建链接到模型对象的MATLAB对象模型。在COMSOL服务器上可能有多个模型对象,每个对象都有不同的名称。要访问每个模型对象,需要链接到它们的不同MATLAB变量,并且每个MATLAB变量必须具有不同的名称。

  1. 创建链接到现有模型对象的MATLAB变量。例如,要创建链接到COMSOL服务器上现有模型对象Model的MATLAB变量模型:
model = ModelUtil.model ('Model');
  1. 要删除特定的模型对象
ModelUtil.remove ('Model');

或者,使用以下命令删除存储在COMSOL服务器中的所有COMSOL对象:ModelUtil.clear

  1. 列出COMSOL服务器上可用的模型对象的名称:mphtags -show5.
  2. 激活进度条默认情况下,运行时不显示进度信息使用MATLAB的COMSOL。要手动启用进度条并可视化操作的进度(例如加载模型,创建网格,组装矩阵或计算解决方案),输入以下命令:ModelUtil.showProgress (true)
    要停用进度条,输入:ModelUtil .showProgress (false)

加载与保存模型

  1. 命令行加载已有的mph模型文件:
model = mphopen();

也可使用简写 mphopen
如果COMSOL服务器中已存在模型对象Model,则mphopen会覆盖现有的模型对象,除非该模型也在COMSOL Multiphysics Client中打开。在后一种情况下,索引号会附加到新的模型对象名称上,例如Model1。
mphload命令也具有相同的功能。
如果要在COMSOL服务器中手动指定模型对象。使用命令:

model = mphopen(, );

其中,是定义标签的字符串,该标签定义了COMSOL Server中已加载的模型。使用mphopen函数时,将自动禁用模型历史记录,以防止在循环运行模型时出现大量历史记录信息。
要打开模型历史记录,请使用函数mphopen:

model = mphopen(,'-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(, ...)
  1. 利用COMSOL Open打开mph文件,安装完Apps之后可以用COMSOL Open图形化界面打开文件。

COMSOL—— LiveLink for MATLAB学习1_第5张图片

  1. 保存模型
mphsave(model,);

如果指定的文件名不提供路径,则相对于当前MATLAB路径保存文件。文件扩展名确定要使用的格式(* .mph,。m,。java或* .vba)
也可将mph文件另存为.m文件

model.save(,'m')
  1. 保存模型缩略图
mphthumbnail(model,)

其中为图片名字
也可以使用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)