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, 会跳出一个命令行窗口,要求输入用户名与密码。此处用户名与密码是新设置的,自己定即可,密码是隐藏的,一次输入完回车即可。第二次启动时则无需再次输入用户名和密码(后面基本就没用了)
此时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学习1相关推荐
- COMSOL——LiveLink for MATLAB学习3——奶酪模型
学习1:https://blog.csdn.net/jessica0307/article/details/105444407 学习2:https://blog.csdn.net/jessica030 ...
- COMSO Livelink With MATLAB初级---连接MALTAB(已安装COMSOL Livelink For MATLAB前提下)
文件->倒数第二个选项 preferences 2处选择maltab的安装位置,注意,如果你的安装位置为 D:\Program\bin\win64\matlab.exe,那么只需写bin之前的路 ...
- 千万不要把comsol livelink matlab客户端和其对应的comsol文件同时打开
否则会导致你的批量程序运行总是在老版本中,或者有其他不可知的问题 具体来说,你修改完comsol文件以后,就把他关掉,然后再去comsol livelink matlab客户端中运行你的批量程序.这是 ...
- LiveLink for MATLAB:COMSOL与MATLAB交互
LiveLink™ for MATLAB® 将 COMSOL Multiphysics® 与 MATLAB 脚本环境联系起来 重点参考官方教程,路径在:xx\COMSOL5.6\doc\pdf\Liv ...
- matlab输入矢量场求散度,微波仿真论坛_附录 COMSOL Multiphysics的MATLAB矢量计算基础.doc...
您所在位置:网站首页 > 海量文档  > 电子工程/通信技术 > 天线/微波/雷达 微波仿真论坛_附录 COMSOL ...
- Matlab学习笔记——数据文件定位
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 数据文件定位 1.fseek函数 2.ftell函数 3.feof函数 数据文件定位 1.fseek函数 用于改变 ...
- MATLAB学习笔记(二)
MATLAB学习笔记(二) 一.矩阵运算 矩阵分析 向量和矩阵的范数运算 矩阵的秩 矩阵的化零矩阵 矩阵的化简rref()函数 线性方程组 超定线性方程组求解 矩阵分解 1.对称正定矩阵的Choles ...
- MATLAB学习笔记(一)
MATLAB 一.安装的目录结构 二.常用的菜单及工具 布局 设置路径 设置工作路径 三.常用命令 四. 基础知识 数据类型 复数类型 `inf 和 NaN` 字符与字符串 函数句柄 结构体 结构体的 ...
- Matlab学习一本通,matlab基础教程
链接:https://pan.baidu.com/s/1uTCbiRfIxcrt6lmiy6_QlQ 提取码:f2dn Matlab学习一本通,matlab基础教程 <MATLAB R201 ...
- find函数matlab_从零开始的matlab学习笔记——(39)find函数
matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 上一节我们说了说matla ...
最新文章
- 笔记 - ES6 - 学前浅析
- linux 手动释放内存
- datanucleus_DataNucleus 3.0与Hibernate 3.5
- Oracle Class4. 数据库对象(同义词,序列,视图,索引,簇)
- 信息学奥赛一本通 1044:判断是否为两位数 | OpenJudge NOI 1.4 06
- java教务管理系统数据库设计_新手可以学习的教务管理系统详细设计(一)
- android 自定义课程表,Android课程表界面布局实现代码
- Layui的轮播事件和echarts插件事件
- STM32 MDK常见错误与解决
- css基础--border属性
- 怎么使用黑鲨U盘启动制作U盘系统?
- 没有项目管理经验,怎么报考PMP?
- 柳传志:想过得富有光鲜就要知道为啥穷
- 前端Vue项目中点击a标签实现下载文件到本地的功能
- GC5958三相无刷(BLDC)无感正弦波电机驱动芯片 替代APX9358
- 使用计算机能佩戴老花镜,近视镜?远视镜?还是老花镜?——揭秘渐变多焦点眼镜的奥秘...
- 机器学习基础(五)最大似然估计
- instance在oracle意思,INSTANCE_NAME的含义及作用
- 投资学 | 投资日记(2)
- Mogrt动态标题模板 复古动画师专业全屏标题PR模板下载