如何将COMSOL与MATLAB联合【超详细,一网打尽】 | 您所在的位置:网站首页 › matlab需要哪些基础组件 › 如何将COMSOL与MATLAB联合【超详细,一网打尽】 |
如何将COMSOL与MATLAB联合
文章目录
如何将COMSOL与MATLAB联合
前言一、背景二、使用步骤1. 找到 COMSOL Multiphysics 5.5 with MATLAB2. **双击COMSOL Multiphysics 5.5 with MATLAB**
三、在matlab上控制comsol——示例有个捷径就是如果不知道想要实现的具体语句是什么的时候,**可以先在comsol实现一遍,然后在另存为.m文件。这样就可以在matlab上打开你另存的文件,找到你想要找的语句指令。**
加快计算速度结语
前言
网上搜索教程,发现大部分教程讲得比较初略,或者信息比较分散。本着自己踩过坑就不愿意让别人再踩一遍的原则,写下这篇博文。 提示:以下是本篇文章正文内容,下面案例可供参考 一、背景 COMSOL 5.5MATLAB 2019aWin 10 二、使用步骤 1. 找到 COMSOL Multiphysics 5.5 with MATLAB一般安装comsol时matlab已经有了,那默认创建快捷方式时桌面就会有, 但是碰巧的是桌面上没有,可以在按下方操作
具体操作参考这个网页 2. 双击COMSOL Multiphysics 5.5 with MATLAB输入USERNAME,这个随便输入。然后创建密码,确认一次密码。这个输入的过程中,由于窗体是黑色的,字也是黑色的,所以你会感觉没有输入,其实是输入了。所以你尽管输入就完事了。 如下示例: 除此之外,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/8尽可能的将mph文件的大小降低设置单机多核并行计算模式![]() 欢迎大家来评论区讨论,我的水平有限,大家一起共同进步。另外觉得有帮助的,点个赞呗! |
CopyRight 2018-2019 实验室设备网 版权所有 |