找回密码
 注册
Simdroid-非首页
查看: 173|回复: 4

COMSOL4使用 Matlab进行复杂重复模型建造

[复制链接]
发表于 2011-1-29 17:32:35 | 显示全部楼层 |阅读模式 来自 安徽芜湖
本帖最后由 kyolee 于 2011-1-29 17:34 编辑

对于复杂的但又很重复有规律的模型,使用GUI是很麻烦的事情。比方模型如下:100个圆,半径都按规律递增。

这种情况下,使用MATLAB进行循环控制将很方便。有一个需要注意的问题是,现在COMSOL4系列的变量和参数都是以字符类型存在。所以在编程时需要使用

N=100
for i=1:N
   ci=['c',num2str(i)];
    ri=['a+(b-a)*',num2str((i-1)/N)];
    model.geom('geom1').feature.create(ci, 'Circle');
    model.geom('geom1').feature(ci).set('r', ri);
end
model.geom('geom1').run;

其中a,b是参数,用于调控圆的半径。注意红字部分,要转成字符类型。

同样,如果材料的规律递增也可以使用类似的语句。另外可以添加一些物理场和设定条件以及网格化。这样在Matlab中运行之后,从server导入GUI之中,就可以直接运行,然后分析结果就可以了。

最好把你要变化的参数也写进去,这样就可以很轻易的改变参数了。

希望对大家有用。
发表于 2011-2-2 16:42:59 | 显示全部楼层 来自 北美地区
Simdroid开发平台
超级有用的帖子!

我有一个相类似的问题请教一下:

我做了一个模型,调试通过。剩下来就是不停变换Option—constant里的两个参数的值进行计算。比如说[a=1,2,3], [b=4,5,6]。现在的做法比较笨:
先存一个文件,把[a=1,b=4]弄好,算完;
再存一个文件,把[a=1,b=5]设好,算完;

如此手工操作9次。每个计算大概要耗一天时间,且结束的时间还不太一样。这样就老要守在机器那里,时不时去看看计算的进展,防止出问题。

有没有办法,让机器“自动地完成”上述过程。这样就可以放心过年了。

谢谢指点!
回复 不支持

使用道具 举报

 楼主| 发表于 2011-2-16 22:38:32 | 显示全部楼层 来自 江苏南京
关于分开存文件,我还没试过. 你可以看看帮助文档,试试看.
回复 不支持

使用道具 举报

发表于 2011-4-20 12:36:50 | 显示全部楼层 来自 陕西西安
讲的不错。留意一下。
回复 不支持

使用道具 举报

发表于 2012-2-22 19:40:11 | 显示全部楼层 来自 辽宁沈阳
mark,很有用!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 14:50 , Processed in 0.035224 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表