24小时热门版块排行榜    

查看: 4995  |  回复: 16
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

b07988

金虫 (正式写手)

星期六可以休息

[求助] 能量源项中有温度对时间的微分,需要用uds吗? 已有1人参与

能量源项中有dT/dt,就是温度对时间的求导,请问是用
1.c_udsi_m1存储上一步时间步长的温度
2.采用define_uds_unsteady?
希望有好心人帮忙。
不胜感激!
回复此楼
先做最重要的事情,再做次重要的事情
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

b07988

金虫 (正式写手)

星期六可以休息

引用回帖:
2楼: Originally posted by ya634984094 at 2012-05-16 15:27:20:
可以用也可以不要用~用的话用C_UDSI_M1和C_UDSI俩个值之差除以时间就行,不用的话用C_UDMI保存温度,再求~

其实我两种都采用了,但不知道是自己程序出问题还是什么,就是没有效果。
以下是部分程序,希望你能给点意见:
CODE:
DEFINE_ADJUST(store_m1,domain)
{
        Thread *t;
        cell_t c;
        real haha=1.;
        domain =Get_Domain(1);
        thread_loop_c(t,domain)
        {
                begin_c_loop(c,t)
                {
                        C_UDSI_M1(c,t,0)=C_T_M1(c,t);
                }
                end_c_loop(c,t)
        }       
}
然后在define_source里面加入
dT=(C_T(c,t)-C_UDSI_M1(c,t,0))/RP_Get_Real("physical-time-step");

但是没有效果,请帮我看看。
先做最重要的事情,再做次重要的事情
3楼2012-05-16 18:43:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

b07988

金虫 (正式写手)

星期六可以休息

送鲜花一朵
引用回帖:
4楼: Originally posted by 47425804 at 2012-05-16 22:15:38:
DEFINE_ADJUST里面保存温度那一步,换成下面这样试试:
C_UDMI(c,t,0)=C_T(c,t);
DEFINE_SOURCE里的自然就变成:
dT=(C_T(c,t)-C_UDMI(c,t,0))/RP_Get_Real("physical-time-step";
我觉得用UDM比用 ...

按你的思路dT会恒等于0.
应该是C_UDMI(c,t,0)=C_T_M1(c,t);吧。但是M1的话这样的话会直接报错。
所以我用了C_UDSI_M1(c,t,0)
先做最重要的事情,再做次重要的事情
6楼2012-05-17 09:24:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

b07988

金虫 (正式写手)

星期六可以休息

引用回帖:
8楼: Originally posted by hhucy at 2012-05-17 14:53:49:
uds可以使用的吧

嗯,uds可以的。
先做最重要的事情,再做次重要的事情
9楼2012-05-17 16:33:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

b07988

金虫 (正式写手)

星期六可以休息

送鲜花一朵
引用回帖:
7楼: Originally posted by 47425804 at 2012-05-17 11:48:27:
恩,你说的没错,这样确实会恒等于0。
但是C_T_M1(c,t)是没用的。
等于零是因为计算源项的时候温度还没有更新,所以两个温度值是相等的。
这个时候其实是需要两个UDM,分别保存上一步和再上一步的温度。
而且 ...

这个方法挺好的,只要一开始的用DEFINE_INIT,对
C_UDMI(c,t,0)=0.;
C_UDMI(c,t,1)=0.;
就可以了!
我试了下,没有什么问题。谢谢了!

我也用uds试了下,其实也没有什么问题。只要打开uds就可以了。
先做最重要的事情,再做次重要的事情
10楼2012-05-17 16:45:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

b07988

金虫 (正式写手)

星期六可以休息


xiegangmai: 金币+1, 谢谢参与! 2012-07-18 23:04:21
引用回帖:
12楼: Originally posted by ya634984094 at 2012-07-14 23:44:51
我想问下你为什么不直接在define—source里设,而是要个define——adjust呢?

最后没用adjust,可以直接在source里加。
先做最重要的事情,再做次重要的事情
13楼2012-07-18 09:35:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 b07988 的主题更新
信息提示
请填处理意见