如果说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 com.comsol.model.*
import com.comsol.model.util.*
model = ModelUtil.create('Model');
model.modelPath('D:Program FilesMATLABhalleyhit');
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中调用matlab文件也是可以的。操作如下:
1.双击COMSOL 4.2 with MATLAB
2.双击comsol
此时,matlab和comsol的界面都出现了
3.在matlab中运行需要导入到comsol的m文件
4.comsol中,file菜单下,client server下,import
此时,用对话框中的默认设置即可,确定后,刚才的m文件就导入完成了,后续操作可以在comsol中操作。
在这个急急忙忙赶毕业设计的三月四月,希望技术邻发布的Comsol与Matlab 联合仿真的试验,对大家的工程仿真工作有帮助和启示。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删