comsol和matlab联合仿真
Comsol with Matlab Quick Started (1)

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当然还有其他更换路径的方法,这里不讲,自行解决。
基于MATLAB与COMSOL联合仿真的梯形迷宫滴头流道优化

第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 引 言滴灌灌水器是滴灌系统中最为关键的元件,其使用过程中蒸发损失小,不产生地面径流,几乎没有深层渗漏。
联合应用COMSOL和MATLAB进行参数反分析研究

V0
给定固相颗粒表面电荷密度
0
初始条件(非稳态问题)
c ( x, 0) c0 ( x )
问题的提出
NaCl
纯水
源溶液
土样
滤出液
扩散试验示意图
测试试验过程中源溶液和滤出液离子浓度 试验结束后测试土样中离子浓度
源溶液Cl-浓度
问题的提出
试样中Cl-浓度
如何根据试验结果确 定宏观运移参数:
ˆ Deff ,i
ˆ X
f
参数反分析模型
参数反分析模型
参数反分析数学模型
目标函数
min
约束条件
f ( x) f
*
lb x ub
x [ x1 , x2 ,..., xn ]T
分别为第i离子的有效扩散系数和有效电荷密度
难点:(1)目标函数求解 (2)最优化求解问题
参数反分析模型
有约束的非线性最优化求解
function wcfun=PNP(x) DD1=2.032E-9*x(1); DD2=1.334E-9*x(2);
DD3=1.957E-9*x(3); COMSOL Multiphysics 。。。。。。。 % wcfun=计算值-实测值
Model M-file
ˆ ( c f zi F c f f ) ˆi x ji Deff ,i x ˆi RT
问题的提出
ci ji t
ˆ 参数多个: Deff ,i
ˆ X
f
传统离子运移模型(Fick定律)
c 2c D* 2 t z
参数1个:D *
问题的提出
边界条件
给定边界上各点的浓度或流量
ci ci,0
浅谈三维软件与MATLAB联合仿真在教学中的应用

内燃机与配件0引言机械原理、控制理论不管是在专科或是本科院校中,都是机械学科中一门重要的专业基础课程。
机械原理课程直接研究机构的结构、自由度、运动的一门课程;控制理论则是以具体的系统为研究对象,通过对研究对象模型进行设计计算,研究各种控制理论及控制算法的课程。
控制理论主要是研究不同控制算法的,而评判一种控制方法的好坏,主要是通过其系统控制效果的快速性、稳定性、鲁棒性等特点。
而系统的快速性、稳定性、抗干扰能力等,这些都是比较抽象的概念,不便于老师教学亦不便于学生理解接受。
在教学过程中,若是能将这些抽象的概念具体化,以直观的形式呈现出来,这样老师讲起来方便,更便于学生的理解。
此外,智能化信息化的发展与推进,CAD 与CAE 技术也快速发展,其中CAE 计算机辅助教学技术也正逐渐在高校中得以应用推广[1-3]。
基于以上分析,在控制教学中引入仿真软件,本文以Pro/E 和MATLAB 软件为计算机辅助教学工具,利用三维软件画出简单的机械结构,通过Pro/E 与SimMechanics 接口插件,将模型信息导入MATLAB 中,通过加入不同的控制算法,可通过三维动画显示,将系统的快速性、稳定性、抗干扰能力等直观的展现。
1研究对象建模SimMechanics 是MATLAB 中一种新的可以实现物理建模的模块,其组合建模框架可以实现对繁杂机械系统的设计、分析与优化。
SimMechanics 工具箱内嵌模块有多种能够在Simulink 仿真环境下直接选取使用的单元,在SimMechanics 工具箱中进行模块的选取与搭建,可以直接在Simulink 窗口中搭建研究对象模型。
为了加入控制模块进行仿真,还需加入连接纽带:检测与驱动模块,用以将SimMechanics 中组建的研究对象物理模型和普通的Simulink 仿真模块进行关联。
此外,Simulink 自身的动态仿真性能,在得到系统整体仿真结果的同时,可实时呈现仿真过程的动画图形。
comsol_with_matlab

%%%%%%%%%% 用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));。
COMSOL Multiphysics Livelink for MATLAB

The Model M-File (4)
Create a stationary study Create a solver node and define the solver settings used for the computation
Create result plots
Compute the solution
Interface Functions
• mphcd
: Change directory to the directory of the model
• mphdoc : Access HTML documentation
• mphload : Load a COMSOL model MPH-file
• mphevalglobalmatrix : Evaluate global matrix variables
• mphevalpoint
: Evaluate expressions at geometry vertices
• mphglobal
: Evaluate global quantities
The m-file is defined as a MATLAB function which returns the Model Object
Create a Model Object
Set model parameters
The Model M-File (2)
Create a new 3D geometry
Create a workplane and add geometry features to it
Extrude the workplane feature in the 3D workspace
基于MATLAB和COMSOL联合仿真的超导磁储能磁体优化设计方法[发明专利]
![基于MATLAB和COMSOL联合仿真的超导磁储能磁体优化设计方法[发明专利]](https://img.taocdn.com/s3/m/a5077b7e2a160b4e767f5acfa1c7aa00b52a9ddd.png)
(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联合仿真的实现方法

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选项。