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

[13.脚本命令] 脚本计算中如何循环?

[复制链接]
发表于 2010-9-15 16:12:31 | 显示全部楼层 |阅读模式 来自 广东深圳
仍然是那个曲率问题~~

       我现在用脚本来做,就是把COMSOL的文件保存为.M文件,在MATLAB中编写代码。

       脚本在bubble.rar中。

       前面两行%%%%%%%%%之间是我添加的代码,用来求各个点的曲率的。然后在boundary expr中把曲率赋在泡泡边界上,(为了显目我也用了%%%%)再在boundary setting 中写入这个expr.(%%%%处)。

       现在传值没问题,计算出来的各点曲率能传到boundary中。在fem中能看到。

         

         但现在的问题是怎么让它循环起来,因为我研究的是动态问题,这个曲率值会因为泡泡边界上各点的左边的变化而变化。但是我这样算下来泡泡边界动了,但是曲率值没有相应地改变。

         我算了两个步长。即在solve problem中步长 0,0.5e-7,1e-7.



        由图可以看出,两个步长泡泡边界动了


      但是相应的曲率没有变化。

               
         也就是说它第二步所用的曲率还是第一步的,因此第二步的计算结果是不对的。

         这会是什么原因呢?






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2010-9-16 09:28:38 | 显示全部楼层 来自 广东深圳
Simdroid开发平台
貌似知道原因了,首先是因为所加的那段程序计算结果不是在fem中,comsol的计算是针对fem这个结构来进行计算的,因此循环中不会包含所加的那段程序。

还有就是貌似g5这个东西是不变的。
g5=flbinary('g5','draw',flbinaryfile);
g6=flbinary('g6','draw',flbinaryfile);
draw.p.objs = {g5,g6};
draw.p.name = {'PT1','PT2'};
draw.p.tags = {'g5','g6'};

我首先是要con=geominfo(g5,'out','mp');然后再对点坐标进行动态曲率计算。但是这个g5一直不变。我算完两个步长之后,get g5的坐标,和初始时一样的。

这个,到底要怎么办好呢?
回复 不支持

使用道具 举报

发表于 2010-9-16 13:47:45 | 显示全部楼层 来自 陕西西安
没有看懂楼主的叙述,但是关于脚本怎么循环,这个很容易。

楼主求解的是非定常问题,所以如果你直接需用了非定常模型,非定常求解器,那就不涉及到循环了,comsol内部已经帮你解决了。

楼主问题的大概意思应该是这样吧:一个非定常问题,求解区域随着时间改变也在改变。

循环的方法大概如下: 首先对问题构造时间推进格式,另外对于区域每一步也要改变,这涉及到区域边界变化的方程。
通过上一步后,在求解的每一步其实是一个定常问题的求解。
这时候就可以通过matlab的标准循环语句,以及comsol的结构来构造循环,关键的是怎么将上一步的计算结果输入到下一步迭代中作为参数。这个可以参考comsol的手册。
或者是在迭代的每一步定义两个相同的问题,后一个依赖于前一个,
这样作一次循环,其实是两步迭代。随后就是不断的数据交换,就可以达到迭代求解了

comsol内部怎么迭代的我一直没有学到,也没有通过售后得到答复。
回复 不支持

使用道具 举报

发表于 2010-9-16 18:15:10 | 显示全部楼层 来自 法国
没有看懂楼主的叙述,但是关于脚本怎么循环,这个很容易。

楼主求解的是非定常问题,所以如果你直接需用了非定常模型,非定常求解器,那就不涉及到循环了,comsol内部已经帮你解决了。

楼主问题的大概意思应该 ...
followtime 发表于 2010-9-16 13:47


这个是我这两天最感兴趣的问题。

假设我有两个物理场,他们的耦合状况是:A(非稳态)用到B(可认为是稳态,其求解区域由A来决定)解出的结果T。

单独进行A的计算,可以;单独计算B,是非常容易的事情。但在Comsol内建模后,耦合起来进行求解,就出问题。似乎是耦合的问题。

但我在想,可否这样:先算一下A,(一个时间步长△t),把这个变化了一点的求解区域给B,让B算出T,T给A去算下一个时间步长。然后循环往复,一步一步算下去。

似乎就是3楼所说的“内部迭代”?怎么实现?

还有就是那个Solver menage里有个求解顺序的设置,跟这个有关系吗?
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 13:36 , Processed in 0.034123 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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