| 查看: 2942 | 回复: 8 | |||||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||||||
[交流]
Comsol自定义场变量,只要曾经温度T>Ts,对应场变量元素为1,一旦为1,则永久保持已有3人参与
|
|||||||
|
问题:comsol能否自定义一个场变量,来标记每个网格点温度T曾经是否大于Ts,一旦某个网格点温度曾经大于Ts,该网格状态量为1,即便温度降下来了,状态量不变。 这个问题非常具有代表性,其归根结底是要定义场变量f(x,y,z,t),这个场变量依附于每一个网格,可以初始化,可被用户自定义操作。我目前发现,comsol并不能不依附任何物理场模块自定义这样的变量,退而求其次的做法是采用comsol的数学模块里的域偏微分/域常微分方程/不可逆转变/生物传热模块,这些做法逻辑是能行得通,但是求解非常不准确。采用偏微分或者常微分模块,无论是通过系数将模块数学方程u=f,还是du/dt=f这么简单的方式,其中f通过逻辑控制,即便这样,我发现comsol求解出来的u误差很大,连u=f,这里置f=1或者0,都不能严格控制计算的u=1或者0;du/dt=f的方式求解的误差更离谱,我一直定义f为正,但是u求解出来的还有一点点负值,这样就无法通过u来判断它曾经的状态。不可逆转变/生物传热一样有这样的问题,我觉得这个东西应该很简单,而且计算也不困难,不知道大家有没有什么好的方案。 还要说的是,Matlab函数我也试过,本来想把这样的状态量在matlab里定义为全局场变量,但是发现comsol送过来的网格坐标是分批的,打个比方,模型有50万网格,comsol会分好几拨送过来,也就是Matlab函数在一次时间迭代开始前会被调用好几次,而且送过来的网格批次的先后顺序也不得而知,这就无法对齐场变量元素的位置。 |
» 猜你喜欢
谈谈两天一夜的“延安行”
已经有15人回复
EST投稿状态问题
已经有6人回复
职称评审没过,求安慰
已经有15人回复
垃圾破二本职称评审标准
已经有11人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有16人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
聘U V热熔胶研究人员
已经有10人回复
求助文献
已经有3人回复
投稿返修后收到这样的回复,还有希望吗
已经有8人回复
三无产品还有机会吗
已经有6人回复
landl3017
新虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 5019.9
- 散金: 1317
- 红花: 20
- 帖子: 1489
- 在线: 154.2小时
- 虫号: 3584852
- 注册: 2014-12-09
- 性别: GG
- 专业: 动力学与控制
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖
landl3017
新虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 5019.9
- 散金: 1317
- 红花: 20
- 帖子: 1489
- 在线: 154.2小时
- 虫号: 3584852
- 注册: 2014-12-09
- 性别: GG
- 专业: 动力学与控制
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖
bfamq
铁杆木虫 (著名写手)
- 应助: 184 (高中生)
- 金币: 6790.9
- 散金: 2115
- 红花: 90
- 帖子: 2320
- 在线: 1029.1小时
- 虫号: 1621962
- 注册: 2012-02-16
- 专业: 凝聚态物性 II :电子结构
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖













回复此楼