comsol和matlab联合仿真
- 格式:doc
- 大小:21.00 KB
- 文档页数:3
CwM我用的确实不多,但用好了事半功倍。
本文只是个引子,仅作背景介绍。
很多筒子可能会抱怨,撒装的是低版本的Comsol,别人给汝的模型确实高版本的,那么正常途径撒肯定打不开这个文件。
其实,Comsol可以另存为M文件,这个文件实际上是一种录制宏,它几乎记录了你操作Comsol的每一个步骤(当然有例外)。
酱就好办了,侬导出一个M文件,交给别人,那么Ta只需要运行CwM,然后保存即可得到模型文件,酱模型文件小了很多,也方便交流。
当然除这种方法外,还有别的办法,比如修改mph文件的信息,但不管怎么都不能保证版本间的兼容性。
不足:M文件类似于journal文件,所以过程结果是不会保存的,亦是无结果文件。
M脚本属于解释型脚本,每一步都需要软件编译后执行,所以执行效率颇低。
本文使用Comsol 4.3b, Matlab 2013a,其他版本大部分雷同。
Comsol3.x用户的CwM 使用方法和4.x的完全不同,不在本文讨论范围。
另外Comsol3.5a用户比较悲摧,为保证CwM兼容性请选择Matlab2007b或之前版本,但也有兼容包,可以让其使用到Matlab2010左右。
这不是本文重点,仅仅是友情提示。
应该罗嗦下的:A. 启动这并不是问题,但往往会成为初学者的障碍。
Win平台下,配置好Matlab的根路径,双击COMSOL 4.3b with MATLAB即可启动。
Mac/Unix下,同样陪着Matlab根路径,执行comsol server matlab即可启动。
首次启动会提示输入 username 和 password对于绝大部分用户,你随便填什么都可以,只要保证输入合法有效即可,win下可能有防火墙提示,允许即可。
启动后,你会看到启动的是Matlab的界面,不要犹豫,CwM它就长酱紫。
当initializing结束后,状态栏显示ready,那么就万事OK,只等来炊。
B. 更换工作路径启动后,默认路径是%program files%\COMSOL\COMSOL的目录建议更换个默认工作路径,以免文件弄的混乱比如切换到 E盘work文件夹Matlab直接输入cd E:\work当然还有其他更换路径的方法,这里不讲,自行解决。
第36卷第22期农业工程学报 V ol.36 No.22158 2020年11月Transactions of the Chinese Society of Agricultural Engineering Nov. 2020基于MATLAB与COMSOL联合仿真的梯形迷宫滴头流道优化胡宇祥,彭军志,殷飞,刘喜峰,李娜(吉林农业科技学院,吉林 132101)摘要:传统的滴灌灌水器流道优化设计方法是通过正交试验设计,进行有限元分析,并配合试验验证,试验过程强度大、造价高。
该研究将群智能优化算法与有限元分析相结合,联合MATLAB与COMSOL仿真软件对滴灌灌水器流道参数优化设计。
首先,通过MATLAB读取梯形迷宫流道灌水器在COMSOL软件中的仿真计算结果后,传递给遗传算法,并以流态指数为优化目标,流道齿参差值、齿高、单元数、流道转角、齿间距为设计变量,求解出常压(100 kPa工作压力)下的灌水器流道参数。
利用SPSS软件回归分析法,建立了5个变量与流态指数之间的多元线性回归数学模型。
分析结果表明,5个变量对流态指数影响程度排序为齿参差值、齿高、单元数、流道转角、齿间距。
进一步分析灌水器流道内水力特性可知,滴头流道内低流速区域流速达到0.1~1.2 m/s,过流面积占流道截面的75.1%,有堵塞风险,高流速区域流速达到2.8~3.8 m/s,中流速区域流速达到1.5~2.5 m/s,流道内压力沿流道长度呈线性变化。
实物样机测试结果表明,滴头流量模拟计算值与实测值之间的平均误差为6.1%,优化结果精度高,可为梯形迷宫流道灌水器流道参数优化设计提供参考依据。
关键词:优化;设计;滴灌灌水器;结构参数;COMSOL;MATLABdoi:10.11975/j.issn.1002-6819.2020.22.017中图分类号:S275.6 文献标志码:A 文章编号:1002-6819(2020)-22-0158-07胡宇祥,彭军志,殷飞,等. 基于MATLAB与COMSOL联合仿真的梯形迷宫滴头流道优化[J]. 农业工程学报,2020,36(22):158-164. doi:10.11975/j.issn.1002-6819.2020.22.017 Hu Yuxiang, Peng Junzhi, Yin Fei, et al. Optimization of trapezoidal labyrinth emitter channel based on MATLAB and COMSOL co-simulation[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(22): 158-164. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2020.22.017 0 引 言滴灌灌水器是滴灌系统中最为关键的元件,其使用过程中蒸发损失小,不产生地面径流,几乎没有深层渗漏。
内燃机与配件0引言机械原理、控制理论不管是在专科或是本科院校中,都是机械学科中一门重要的专业基础课程。
机械原理课程直接研究机构的结构、自由度、运动的一门课程;控制理论则是以具体的系统为研究对象,通过对研究对象模型进行设计计算,研究各种控制理论及控制算法的课程。
控制理论主要是研究不同控制算法的,而评判一种控制方法的好坏,主要是通过其系统控制效果的快速性、稳定性、鲁棒性等特点。
而系统的快速性、稳定性、抗干扰能力等,这些都是比较抽象的概念,不便于老师教学亦不便于学生理解接受。
在教学过程中,若是能将这些抽象的概念具体化,以直观的形式呈现出来,这样老师讲起来方便,更便于学生的理解。
此外,智能化信息化的发展与推进,CAD 与CAE 技术也快速发展,其中CAE 计算机辅助教学技术也正逐渐在高校中得以应用推广[1-3]。
基于以上分析,在控制教学中引入仿真软件,本文以Pro/E 和MATLAB 软件为计算机辅助教学工具,利用三维软件画出简单的机械结构,通过Pro/E 与SimMechanics 接口插件,将模型信息导入MATLAB 中,通过加入不同的控制算法,可通过三维动画显示,将系统的快速性、稳定性、抗干扰能力等直观的展现。
1研究对象建模SimMechanics 是MATLAB 中一种新的可以实现物理建模的模块,其组合建模框架可以实现对繁杂机械系统的设计、分析与优化。
SimMechanics 工具箱内嵌模块有多种能够在Simulink 仿真环境下直接选取使用的单元,在SimMechanics 工具箱中进行模块的选取与搭建,可以直接在Simulink 窗口中搭建研究对象模型。
为了加入控制模块进行仿真,还需加入连接纽带:检测与驱动模块,用以将SimMechanics 中组建的研究对象物理模型和普通的Simulink 仿真模块进行关联。
此外,Simulink 自身的动态仿真性能,在得到系统整体仿真结果的同时,可实时呈现仿真过程的动画图形。
%%%%%%%%%% 用matlab运行comsol例子%%%%%%%%%%clear;disp(datestr(now,31));% 导入文件[filename, pathname]=uigetfile('*.mph','Select the Comsol file');full_filename=[pathname, filename];model=mphload(full_filename);% 改变模型参数my_a=6; %=========== 修改参数处model.param.set('a',my_a);% 重新运行计算model.sol('sol1').run;% 提取点值sx=0; %=========== 修改参数处sy=0; %=========== 修改参数处sz=2; %=========== 修改参数处model.result.dataset.create('cpt11', 'CutPoint3D');model.result.dataset('cpt11').set('pointx', num2str(sx));model.result.dataset('cpt11').set('pointy', num2str(sy));model.result.dataset('cpt11').set('pointz', num2str(sz));model.result.dataset('cpt11').run;my_Bz=mphinterp(model,'mfnc.Bz','dataset','cpt11','unit','G');tmp=(['点坐标:(',num2str(sx),',',num2str(sy),',',num2str(sz),')']); disp(tmp);tmp=(['Bz=',num2str(my_Bz),'Gs']);disp(tmp);% 提取一串点start=-5; %=========== 修改参数处stop=5; %=========== 修改参数处delta=0.1; %=========== 修改参数处sy=0; %=========== 修改参数处sz=2; %=========== 修改参数处tmp=(['range(',num2str(start),',',num2str(delta),',',num2str(stop),')']); model.result.dataset.create('cpt21', 'CutPoint3D');model.result.dataset('cpt21').set('pointx', tmp);model.result.dataset('cpt21').set('pointy', num2str(sy));model.result.dataset('cpt21').set('pointz', num2str(sz));model.result.dataset('cpt21').run;my_Line_Bz=mphinterp(model,'mfnc.Bz','dataset','cpt21','unit','G'); my_Line_Bz=my_Line_Bz';my_Line_Bz=[[start:delta:stop]' my_Line_Bz];% 保存图片figname=([pathname,'model_test_',num2str(my_a),'.jpg']); mphplot(model,'pg2');grid minor;saveas(gcf,figname);% 保存模型modelname=([pathname,'model_test_',num2str(my_a),'.mph']); model.save(modelname);% 结束disp(datestr(now,31));。
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202010412176.3(22)申请日 2020.05.15(71)申请人 东南大学地址 210096 江苏省南京市玄武区四牌楼2号(72)发明人 房淑华 晁盖 吕政霆 倪海妙 陈勇 彭飞 (74)专利代理机构 南京众联专利代理有限公司32206代理人 张伟(51)Int.Cl.G06F 30/27(2020.01)G06N 3/12(2006.01)(54)发明名称基于MATLAB和COMSOL联合仿真的超导磁储能磁体优化设计方法(57)摘要本发明涉及一种基于MATLAB和COMSOL联合仿真的超导磁储能磁体优化设计方法,该方法主要包括如下步骤:(1)利用MATLAB强大的数据处理和优化设计能力编写用于高温超导储能磁体优化设计的算法;(2)利用COMSOL强大的有限元建模能力和计算结果高效准确等优点建立高温超导储能磁体的电磁计算模型;(3)利用MATLAB和COMSOL的数据接口实现MATLAB优化算法中调用COMSOL的电磁计算模型,实现优势互补的联合优化设计模型。
本发明实现了高温超导储能磁体优化设计的闭环优化,可有效提高高温超导储能磁体设计的准确性。
权利要求书1页 说明书3页 附图3页CN 111695292 A 2020.09.22C N 111695292A1.一种基于MATLAB和COMSOL联合仿真的超导磁储能磁体优化设计方法,其特征在于:(1)利用MATLAB编写用于高温超导储能磁体优化设计的算法;(2)利用COMSOL建立高温超导储能磁体的电磁计算模型;(3)利用MATLAB和COMSOL的数据接口实现MATLAB优化算法中调用COMSOL的电磁计算模型,实现优势互补的联合优化设计模型。
2.根据权利要求1所述的一种基于MATLAB和COMSOL联合仿真的超导磁储能磁体优化设计方法,其特征在于:所述的步骤(1)的具体方法为:(1a)、MATLAB初始化超导储能磁体的几何参数和变量,包括励磁电流、带材用量、磁体内半径、磁体外半径、磁体高度、磁体匝数等;(1b)、在MATLAB中建立模拟退火遗传算法来优化高温超导储能磁体;(1c)、在MATLAB中计算适应度函数时,调用COMSOL电磁计算模型。
COMSOL与MATLAB联合仿真的实现方法作者:赵晓磊齐秋菊郭春超来源:《中国新技术新产品》2014年第24期摘要:本文在分析COMSOL与MATLAB这两款软件特点的基础上,研究了COMSOL 与MATLAB联合仿真的方法,通过COMSOL与MATLAB之间的相互调用,实现了MATLAB与COMSOL的数据传递,并结合实例介绍了联合仿真的方案,通过这两款软件的联合仿真,提高了仿真效率。
关键词:联合仿真;COMSOL;MATLAB中图分类号:TP31 文献标识码:ACOMSOL Multiphysics是一款大型的高级数值仿真软件。
广泛应用于各个领域的科学研究以及工程计算,被称为“第一款真正的任意多物理场直接耦合分析软件”。
在模拟科学和工程领域的各种物理过程中,COMSOL以高效的计算性能和杰出的多场双向直接耦合分析能力实现了高度精确的数值仿真。
COMSOL是以有限元法(FEM)为基础,通过求解偏微分方程来实现真实物理现象的仿真。
目前已经在声学、生物科学、化学反应、电磁学、流体动力学、燃料电池、地球科学、热传导、光学等领域得到了广泛的应用。
尽管COMSOL在仿真方面能力强大,但是由于软件没有可以输入程序的功能,使COMSOL对于进行大量重复性工作时,如果全由人工进行,工作量非常大。
而COMSOL其实是起源于MATLAB的Toolbox,最初命名为Toolbox 1.0。
因此这两款软件之间相互兼容,可以联合起来进行仿真。
这样,利用 MATLAB 进行编程,实现COMSOL的建模、计算、后处理等工作。
1 COMSOL与MATLAB 联合仿真的实现方案1.1 COMSOL 与MATLAB 联合仿真环境的连接方式本文采用的软件是Matlab2011b和COMSOL 4.3,系统为Win7,64bit。
安装顺序为先安装MATLAB,然后安装COMSOL到MATLAB的子文件夹下,并勾选link to MATLAB选项。
Comsol和Matlab 联合仿真的⽅法
1.联合使⽤Comsol和Matlab的原因:
尽管Comsol在仿真⽅⾯能⼒强⼤,但是由于软件没有可以与ANSYS⼀样输⼊程序的功能,使Comsol对于进⾏⼤量重复性⼯作时,如果全由⼈⼯进⾏,⼯作量⾮常⼤。
⽽COMSOL其实是起源于MATLAB的Toolbox的,最初命名为Toolbox 1.0。
这两款软件,可以联合起来进⾏仿真。
这样,利⽤MATLAB强⼤的计算功能,可以实现通过MATLAB进⾏编程,实现Comsol的建模,计算,后处理等⼯作。
sol与matlab联合仿真的实现:
所⽤软件为Matlab2011b和Comsol 4.2,系统为win7,64bit。
安装顺序为先安装Matlab,然后安装Comsol到Matlab的⼦⽂件夹2011b\bin\win64下,并勾选link to matlab选项,地址为2011b⽂件夹。
安装完毕后,打开Comsol with matlab,会打开matlab界⾯,然后⼿⼯打开Comsol。
这两个软件就通过⼀个共同的服务器联系在⼀起了。
sol 和Matlab相互调⽤的⽅法:
Matlab调⽤Comsol模型⽂件:对于Comsol中已经建好的某个模型,将其保存为Matlab可调⽤的.M格式⽂件,然后在Matlab的⼯作路径⾥找到这个⽂件并打开即可;
Comsol调⽤Matlab模型⽂件:对于Matlab中通过M语⾔已经编好的M模型⽂件,运⾏(Run),在Comsol的File下找到“从服务器导⼊模型”即可。
Matlab与COMSOL连接方案
1、先运行起动菜单下comsol 4.0-client
server-comsol multiphysics 4.0 server。
2、等到出来让输入用户名时:随便输入个密码输入好后回车,然后重新输入一次。
3、关闭窗口。
完成上述步骤后,再重新启动comsol 4.0 with
matlab,进入了matlab2010a,但是matlab命令窗口中出现了java exception
occurred的错误。
试了很多次,该错误都是存在的,甚至更换操作系统都解决不了,有时候虽然不提示该错误,但是实际上也连接不上comsol。
最后怀疑是comsol4不认识matlab2010a,因为发布的比matlab2010a晚,所以尝试更换成matlab2009a,问题解决了。
另外在反复安装comsol过程中发现有时候装完没有了comsol 4.0 with
matlab,修复安装都没用。
但是经过重新安装就会出来。
还有就是如果之前在comsol multiphysics 4.0
server中输入过用户名和密码,即使卸载重装comsol4,该设置仍将保留。
解决办法是将C:\Documents and
Settings\用户名\.comsol文件夹删除。
4.0以后comsol with
matlab就没有界面了,只有一个控制台程序,comsol的界面和matlab是完全分开独立的两个东西,你在matlab里直接运行comsol脚本程是没有问题的。
如果说matlab在解偏微分方程时,性能不佳,那么comsol则很好地互补上了。
当然,更好的消息就是这两个软件的连接比较简单,互相调用方便。
COMSOL公司是全球多物理场建模与仿真解决方案的提倡者和领导者,其旗舰产品COMSOL Multiphysics,使工程师和科学家们可以通过模拟,赋予设计理念以生命。
它有无与伦比的能力,使所有的物理现象可以在计算机上完美重现。
COMSOL的用户利用它提高了手机的接收性能,利用它改进医疗设备的性能并提供更准确的诊断,利用它使汽车和飞机变得更加安全和节能,利用它寻找新能源,利用它探索宇宙,甚至利用它去培养下一代的科学家。
COMSOL Multiphysics起源于MATLAB的Toolbox,最初命名为Toolbox1.0。
后来改名为Femlab1.0(FEM为有限元,LAB是取自于Matlab),这个名字也一直沿用到Femlab3.1。
从2003年3.2a版本开始,正式命名为COMSOL Multiphysics。
一看这两软件这么有渊源,就知道联合仿真,有戏。
具体实现步骤如下1.系统配置32位win7,matlab2011b,comsol4.2安装comsol时候,有一步骤中要选择matlablive,然后点进去修改matlab的目录,要到bin目录,这样安装完之后,桌面上会多出来一个快捷方式 COMSOL 4.2 withMATLAB ,如图所示。
如果第一次安装时候没注意,那么可以重新运行安装程序,选择修复即可。
2.双击COMSOL 4.2 with MATLAB此时弹出一个黑色的框,这个是java的框?不太清楚,不过不用管,最小化就是。
然后matlab会自动启动,并且启动后会弹出几行字,如图所示3.此时在matlab中输入一些命令就可以调用comsol了!例如输入import sol.model.*import sol.model.util.*model = ModelUtil.create('Model');model.modelPath('D:\Program Files\MATLAB\halleyhit');model.modelNode.create('mod1');model.geom.create('geom1', 3);model.mesh.create('mesh1', 'geom1');model.physics.create('es', 'Electrostatics', 'geom1');等等,就是在comsol中建立一些模型,话一些形体,然后可以再加边界条件,加求解范围,开始求解,显示结果等等等等。
工程力学设计报告设计题目:对弯折杆件的截面与材料优化院系专业:指导老师:组别:组长:组员:2015年7月11日实验目的:能掌握comsol与matlab的简单联编程序并运用。
实验容:对以下图所示结构进行截面优化,求在满足许用应力情况和最大位移下不同材料、不同截面的最小成本。
属性氏模量泊松比密度单价位移材料钢材200[GPa] 0.3 7850[kg/m^3] 200[元/] <=1mm 木材 1.2[GPa] 0.3 120[kg/m^3] 20[元] <=1mm 实验步骤:一.前期准备1.进行截面的选取在本案例中,我们采用圆形和矩形两种截面进行分析。
2.对选取的截面分析(1).当选取圆形界面时,只需要改变半径(r)即可。
(2).当选取矩形截面时,应该先确定截面宽度和高度的最正确比例,在进行变截面的分析。
3.查阅资料,收集数据。
二.Comsol建模求解(建模过程中,需要分别建立圆形和矩形截面,并求解相应参数)以矩形截面的仿真为例:JuxingjiemianDateJul 11, 2015 12:14:26 AM Contents:1.Global Definitions41.1.Parameters 14ponent 1 (comp1)52.1.Definitions52.2.Geometry 152.3.Materials62.4.Solid Mechanics (solid)62.5.Mesh 173.Study 183.1.Stationary84.Results94.1.Data Sets94.2.Derived Values94.3.Tables114.4.Plot Groups131Global Definitions 1.1Parameters 1 Parameters2Component 1 (comp1)2.1Definitions2.1.1Coordinate SystemsBoundary System 1Coordinate system type Boundary system Identifier sys12.2Geometry 1Geometry 1UnitsLength unit mAngular unit deg2.3Materials2.3.1Material 1Material 1SelectionGeometric entity level Domain Selection Domains 1–32.4Solid Mechanics (solid)Solid MechanicsFeaturesLinear Elastic Material 1Free 1Initial Values 1 Fixed Constraint 1 Point Load 12.5Mesh 1Mesh 13Study 1 3.1Stationary Study settingsMesh selectionPhysics selection4Results4.1Data Sets4.1.1Solution 1SolutionName ValueSolution Solver 1Component Save Point Geometry 1Data set: Solution 14.2Derived Values4.2.1Volume Maximum 1SelectionGeometric entity level Domain Selection Domains 1–3DataName ValueData set Solution 1ExpressionName ValueExpression solid.dispUnit m4.2.2Volume Maximum 2 SelectionDataExpression4.2.3Volume Maximum 3 SelectionDataExpression4.2.4體積最大 4 SelectionDataExpression4.2.5體積最大 5SelectionDataExpression4.2.6體積最大 6SelectionDataExpression4.3Tables4.3.1Table 1Volume Maximum 1 (solid.disp) Table 14.3.2Table 2Volume Maximum 2 (solid.disp) Table 24.3.3Table 3Volume Maximum 3 (solid.misesGp) Table 34.3.4pg2/mmv1最大 / 最小體積pg2/mmv14.3.5表單 4體積最大 4 (solid.disp)表單 44.3.6表單 5體積最大 5 (solid.disp)表單 54.3.7表單 6體積最大 6 (solid.disp)表單 64.4Plot Groups4.4.1Stress (solid)Surface: von Mises stress (N/m2)4.4.23d繪圖群組 2Max/Min Volume: von Mises 應力 , 高斯點估算 (N/m2)圆形截面的仿真与矩形截面类似,就不过多赘述。
目录1:什么是link for modelsim2:link for modelsim的安装与设置3:使用link for modelsim仿真的实例什么是link for modelsimLink for modelsim是一个联合仿真的接口,它将MathWorks工具整合到EDA工作环境中,使其应用于FPGA和ASIC的开发。
这个接口在HDL仿真器ModelSim SE/PE于MathWorks的产品Matlab和SimuLink间提供了一个双向连接,以指导硬件的设计验证和联合仿真。
这种整合可以分别充分发挥Matlab/SimuLink和ModelSim各自的优势。
1.联合仿真环境Link for ModelSim是一个客户/服务器的车是平台和联合仿真应用,ModelSim在这个仿真环境中所起的作用取决于ModelSim与Matlab还是SimuLink连接,本说明只讲ModelSim与Matlab的连接。
a.ModelSim与Matlab连接当与Matlab相连接时,ModelSim作为客户端,如下图所示:在这个模式中,Matlab服务器等到ModelSim客户端发出的服务请求,当接收到一个请求时,Matlab建立一个通信连接,而且调用一个指定的Matlab函数,这个函数封装了用于计算数据以验证或者使当前在ModelSim中仿真的HDL模型的可视化。
下图显示了在一个测试平台环境中Matlab函数如何与ModelSim进行通信Matlab服务器可以用于多个HDL实体之间的联合仿真,但是你必须为多个HDL实体指定一个通信方式使他们可以相互通信,下图显示了两个ModelSim客户端如何连接到服务器的TCP/IP的4449端口:回到目录2.通信模式在ModelSim和Matlab之间的通信模式有共享内存和网络两种,当你的ModelSim和MatLab运行与同一个系统的时候,可以指定为共享内存方式和网络方式,但共享内存方式更加合适,其也是默认的方式。