新浪博客

[转载]Comsol生死单元移动的简单方法

2017-06-16 15:58阅读:
原文作者:行无歌

关于生死单元的移动问题,在Matlab中的Script上折腾了两天,最后却发现还是有简便方法的,当然是在已经熟悉界面控制的前提下。
[转载]Comsol生死单元移动的简单方法
这里画一个棒状矩形为计算域。

L:长度,H:高度,v:从左端到右端的移动速度
[转载]Comsol生死单元移动的简单方法

分段函数:
初始关闭所有单元,并预留激活跳板。
0~1e-12为一段足够小的长度,取值为1,激活单元

1e-12~L为剩余长度,取值1e-12为接近于0,关闭单元。
[转载]Comsol生死单元移动的简单方法


注意:这个函数不能放在全局域中,只能放在相应的计算分域中。
kbd = pw1( x - v*t ) * mat1.def.k( T )
kbd:生死单元移动方程;
mat1.def.k( T ):取自材料库中的热导率
pw1( x - v*t )
pw1为上述分段函数;

x - v*t:分段界面移动,激活单元

因为pw1中激活分段中取值为1,因此乘以mat1.def.k( T )后即为激活单元赋值。
而关闭单元的分段中取值接近于0,乘以任何数后值依然为0,单元还是关闭的。


[转载]Comsol生死单元移动的简单方法
在物理模块中,只要把函数 kbd 赋予热导率 k,即可实现从左到右随时间依次激活各单元。
当然,这里用的是StudyTime Dependent进行处理。
[转载]Comsol生死单元移动的简单方法
生死单元热导率kbd的值,看右边图例的上下极值就知道,实验成功!!!

我的更多文章

下载客户端阅读体验更佳

APP专享