Comsol和matlab联合仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果说matlab在解偏微分方程时,性能不佳,那么comsol则很好地互补上了。当然,更好的消息就是这两个软件的连接比较简单,互相调用方便。
COMSOL公司是全球多物理场建模与仿真解决方案的提倡者和领导者,其旗舰产品COMSOL Multiphysics,使工程师和科学家们可以通过模拟,赋予设计理念以生命。它有无与伦比的能力,使所有的物理现象可以在计算机上完美重现。COMSOL的用户利用它提高了手机的接收性能,利用它改进医疗设备的性能并提供更准确的诊断,利用它使汽车和飞机变得更加安全和节能,利用它寻找新能源,利用它探索宇宙,甚至利用它去培养下一代的科学家。
COMSOL Multiphysics起源于MATLAB的Toolbox,最初命名为Toolbox
1.0。后来改名为Femlab
1.0(FEM为有限元,LAB是取自于Matlab),这个名字也一直沿用到Femlab3.1。从2003年3.2a版本开始,正式命名为COMSOL Multiphysics。
一看这两软件这么有渊源,就知道联合仿真,有戏。具体实现步骤如下
1.系统配置
32位win7,matlab2011b,comsol4.2
安装comsol时候,有一步骤中要选择matlab
live,然后点进去修改matlab的目录,要到bin目录,这样安装完之后,桌面上会多出来一个快捷方式 COMSOL 4.2 with
MATLAB ,如图所示。如果第一次安装时候没注意,那么可以重新运行安装程序,选择修复即可。
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中建立一些模型,话一些形体,然后可以再加边界条件,加求解范围,开始求解,显示结果等等等等。总之,你在comsol中的每一步操作,都可以在matlab中转化成一行命令。
至此,matlab调用comsol完成。这样做的意义呢~就是comsol中建立复杂形体,比如1000个排列整齐的圆球,comsol画图会疯的,cad导入或许是个不错的方法,可是如何加边界条件呢?于是matlab的for循环就大大简化了这部分工作量。至于,comsol中的一个操作,转换成一行代码,语法如何呢?这里可以有个简单的方法,就是在comsol中操作,然后file菜单下save as m
file,在matlab中打开file就知道刚才所有的操作了,如果comsol中操作一次,就在m文件中查看一次,那么很快就能知道每一条命令的语法了。
以上是基于matlab调用comsol,而对于喜欢comsol界面的人来说,在comsol中调用matla b文件也是可以的。操作如下:
1.双击COMSOL 4.2 with MATLAB
2.双击comsol
此时,matlab和comsol的界面都出现了
3.在matlab中运行需要导入到comsol的m文件
sol中,file菜单下,client server下,import
此时,用对话框中的默认设置即可,确定后,刚才的m文件就导入完成了,后续操作可以在comsol中操作。
以上!~特别感谢实验室学弟。说实话,我和导师一样,很少对一个人如此盛赞,不过这个的确是很强大,同样的问题,我搜索帮助文档,弄了一个月,无功而返。而小学弟因为对comsol比较了解,搞了一天,就凭借其直觉搞定了!大大大大大大大大大大大大地赞一下~