如何将COMSOL与MATLAB联合

文章目录

    • 如何将COMSOL与MATLAB联合
  • 前言
  • 一、背景
  • 二、使用步骤
    • 1. 找到 COMSOL Multiphysics 5.5 with MATLAB
    • 2. **双击COMSOL Multiphysics 5.5 with MATLAB**
  • 三、在matlab上控制comsol——示例
    • 有个捷径就是如果不知道想要实现的具体语句是什么的时候,**可以先在comsol实现一遍,然后在另存为.m文件。这样就可以在matlab上打开你另存的文件,找到你想要找的语句指令。**
  • 加快计算速度
  • 结语

前言

网上搜索教程,发现大部分教程讲得比较初略,或者信息比较分散。本着自己踩过坑就不愿意让别人再踩一遍的原则,写下这篇博文。


提示:以下是本篇文章正文内容,下面案例可供参考

一、背景

  • COMSOL 5.5
  • MATLAB 2019a
  • Win 10

二、使用步骤

1. 找到 COMSOL Multiphysics 5.5 with MATLAB

一般安装comsol时matlab已经有了,那默认创建快捷方式时桌面就会有,
但是碰巧的是桌面上没有,可以在按下方操作



如果你碰巧装comsol的时候matlab并没有,那么你只需装上matlab之后,在重装上comsol。具体操作如下:
首先确定comsol已关闭,然后


选择添加/移除产品和重新安装,然后一路next,不要选择/取消选择任何内容,直到livelink这个界面,选择matlab的安装路径,以我为例就是D:Matlab.。不要把文件夹路径放得过细,comsol会认定为无效路径

具体操作参考这个网页

2. 双击COMSOL Multiphysics 5.5 with MATLAB

输入USERNAME,这个随便输入。然后创建密码,确认一次密码。这个输入的过程中,由于窗体是黑色的,字也是黑色的,所以你会感觉没有输入,其实是输入了。所以你尽管输入就完事了。
如下示例:

输入结束后,出现matlab弹窗,之后就可以愉快的使用matlab调用COMSOL了。不说了去肝了!!!

三、在matlab上控制comsol——示例

有个捷径就是如果不知道想要实现的具体语句是什么的时候,可以先在comsol实现一遍,然后在另存为.m文件。这样就可以在matlab上打开你另存的文件,找到你想要找的语句指令。

除此之外,comsol自带的官方文档对comsol with matlab也有基础介绍,大家耐心看吧!
下面列出我这几天摸索出来的作为例子吧!如果对你有帮助的话,那就太好了!


注意:利用matlab控制comsol的前提是你的comsol建模过程完成了且结果可信!

  • 首先将你所在的comsol .mph文件所在的文件夹地址加入matlab搜索路径中
  • 然后就是码代码了,下面是一个例子
model = mphopen('test.mph');
% 前期设置
model.param.set('f',string(f)+'[Hz]');
model.param.set('phi', string(theta_i)+'[deg]');
model.param.set('theta_r', string(theta_r)+'[deg]');
model.param.set('a', string(a)+'[m]');
for ii = 1:length(cond)model.param.set('t1',string(t(1,ii))+'[m]');model.param.set('t2',string(t(2,ii))+'[m]');model.param.set('d1',string(d(1,ii))+'[m]');model.param.set('d2',string(d(2,ii))+'[m]');model.param.set('dx1',string(dx(1,ii))+'[m]');model.param.set('dx2',string(dx(2,ii))+'[m]');model.study('std2').run;% 结果导出model.result.export('plot1').set('plotgroup', 'pg3');model.result.export('plot1').set('plot', 'glob1');model.result.export('plot1').set('filename',string(ii)+'.txt');model.result.export('plot1').run;sprintf('已完成:%d',ii/length(cond))
end

有几个值得注意的地方:

参数设置时要加单位的,且是字符串格式
这个例子中结果导出是在提前在comsol设置好的
在结果导出的例子可以参照 https://www.jianshu.com/p/91de8f5f78f8

加快计算速度

以我为例,我需要获得20000左右的结果文件,所以需要简化comsol模型、加快comsol的计算速度。下面是具体操作:

  1. 将最大网格设置为工作波长的1/8
  2. 尽可能的将mph文件的大小降低
  3. 设置单机多核并行计算模式

结语

欢迎大家来评论区讨论,我的水平有限,大家一起共同进步。另外觉得有帮助的,点个赞呗!

如何将COMSOL与MATLAB联合【超详细,一网打尽】相关推荐

  1. 冒泡排序Matlab程序超详细注释

    冒泡排序Matlab程序超详细注释 bubble_sort.m function y=bubble_sort(x) % %冒泡算法: x_len=length(x);%度量数量长度,为排序做准备 fo ...

  2. COMSOL与MATLAB联合仿真6:绘制绘图组的图形,并提取其中的数据

    COMSOL与MATLAB联合仿真的思路与COMSOL的仿真思路一脉相承. 先几何模型.物理场.材料.网格,然后计算,最后进行后处理(数据分析). 本文涉及的是后处理的一部分内容.提取绘图组的图形和其 ...

  3. COMSOL和Matlab联合仿真之复合材料填充建模

    在基底材料中添加填料制成的复合材料,被用在绝缘材料改良性能机械防腐蚀性能.导热材料提高导热性能等应用场合.在绝缘材料中,根据不同需要向聚合物基体添加的填料可以是补强剂.惰性填充剂.阻燃剂.防老剂及其它 ...

  4. ccs matlab联调,超详细干货:matlab2017a与 CCS 6.2联调设置

    电脑配置:win10 64 位系统. 所需软件:CCS v6.2.0050 + MATLAB 2017a + controlsui te 3.4.7 一.前期准备 1.下载并安装相关软件. Mi nG ...

  5. 径向基神经网络(RBF)回归预测MATLAB实现超详细

    在机械学习算法的过程中,我们常用到一种神经网络就是径向基神经网络,这是一种使用径向基函数作为激活函数的人工神经网络.这种神经网络也有很多用途,比如时间序列预测.数据分类以及回归预测等等,今天主要讲解径 ...

  6. matlab您的安装可能需要执行其他配置步骤_手把手超详细介绍MATLAB+RoadRunner+Unreal Engine自动驾驶联合仿真...

    RoadRuner是MathWorks新收购的自动驾驶场景构建工具,Unreal Engine是商业游戏引擎.RoadRunner创建驾驶场景,导入到Unreal Engine,与Simulink联合 ...

  7. 使用Matlab工具箱(procamcalib)进行投影仪标定---超详细过程

    使用Matlab工具箱(procamcalib)进行投影仪标定-超详细过程 一 .procamcalib工具箱应用场景 同于相机标定的方法和步骤,投影仪的原理通常被看作是相机成像的逆过程,网上关于相机 ...

  8. 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)

    Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...

  9. 超详细基于Qt平台实现C/C++调用Matlab函数全流程

    超详细基于Qt平台实现C/C++调用Matlab函数全流程 1. 基本调用方式介绍 2. 环境配置 3. 将Matlab程序写成函数形式 4. Matlab配置C编译器,将.m文件转换成动态链接库 4 ...

最新文章

  1. java setlt;intgt;_java使用Nagao算法实现新词发现、热门词的挖掘
  2. 期刊论文格式模板 电子版_期刊论文发表流程是怎样的呢?
  3. python数学建模|综合评价方法
  4. Google Chrome(谷歌浏览器)安装使用
  5. 考研英语近义词与反义词·一
  6. 计算机刊物SCI影响因子排名
  7. LncRNA与代谢组联合分析
  8. Bzoj 2563: 阿狸和桃子的游戏 题解
  9. SAP那些事-职业篇-26-企业信息化:从拼图到搭积木
  10. c语言ftell的作用,C语言的文件随机访问fseek()和ftell()函数
  11. 耦合和解耦的概念解析!
  12. 【自动控制原理】——第二章——数学模型【时域】【复频域】【梅森增益公式】
  13. 软考程序员有必要考吗?
  14. mybatis-plus QueryWrapper 添加limit
  15. 向量L0、L1、L2、L∞范数,矩阵F-范数
  16. homeassistant+broadlink
  17. Python量化投资——股票择时到底能否赚钱?TA-Lib 33种技术指标有效性横向大评比
  18. 蓝桥杯C/C++省赛:振兴中华
  19. 微信小程序Canvas实现手写签名
  20. 1.[C# Winform]BackgroundWorker实现进度条的那点事儿

热门文章

  1. 计算机桌面软件乱跳怎么办,电脑屏幕乱闪乱跳的处理方法,你知道吗?
  2. 先进的锂电池线性充电管理芯片BQ2057及其应用
  3. laravel安装 笔记
  4. vue2与vue3的diff算法区别
  5. python中函数的调用_python函数的调用、函数中变量的使用之详解
  6. Windows Store apps开发[40]Windows 8开发书籍之Programming Windows®, 6th Edition
  7. 阿撸php手册,《一屋赞客》原班人马 打造《宅男防撸手册》
  8. 花10钟看一看少走30年弯路
  9. 论VPN 网络传输的安全性影响
  10. opencv 图像金字塔